[Xorp-hackers] rtrmgr crash on SIGABRT because of pop_front in task_done

Ben Greear greearb at candelatech.com
Thu Oct 29 20:24:42 PDT 2009


Li Zhao wrote:
> I added a new protocol and I can start it in CLI by command "create protocol XXX", but the rtrmgr crashed after command "delete protocol XXX".
> I can also easily reproduce the exactlt same crash via the following steps:
>
> 0. I am running xorp processes on an embedded system.
> 1. start rtrmgr from linux shell on the system;
> 2. manually start xorp_static_routes from linux shell. This static will hijack the xrl channels to rtrmgr;
> 3. use cli command "create protocol static" to start a second xorp_static_routes.
> 4. use cli command "delete protocol static" to stop static. both xorp_static_routes were terminated. depended process like fea, rib and policy were also terminated. rtrmgr crash.
>   
Ok, the crash is because if you do a pop_front() on an empty list, it's 
going to crash.

I'm not sure why the list is empty here.  Seems to indicate task-manager 
logic is busted
with regard to task list management and/or callbacks are being called 
against a wrong
task-manager.

Do you actually need to do this operation for your project?  If so, you 
probably will want
to investigate task-manager logic in detail to figure out why this is 
happening.

The attached patch fixes the crash, but the underlying bug persists.  
Most of the patch is debugging
code, but I'm leaving it in my tree because it will help next time we 
hit a similar problem.

Thanks,
Ben

-- 
Ben Greear <greearb at candelatech.com> 
Candela Technologies Inc  http://www.candelatech.com


-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch0.patch
Type: text/x-patch
Size: 3306 bytes
Desc: not available
Url : http://mailman.ICSI.Berkeley.EDU/pipermail/xorp-hackers/attachments/20091029/eb2b6df3/attachment.bin 


More information about the Xorp-hackers mailing list