Re: Help with core dump



 --- Nick Glencross <nickg glencros demon co uk> wrote: 
> #6  0x401a6601 in CORBA_ORB_shutdown (orb=0x806c240,
>     wait_for_completion=1 '\001', ev=0xbffff180) at corba-orb.c:1133
> #7  0x401a669c in CORBA_ORB_destroy (orb=0x806c240, ev=0xbffff180)
>     at corba-orb.c:1163
> #8  0x401a52b2 in shutdown_orb () at corba-orb.c:255
> #9  0x4034d1a0 in exit () from /lib/libc.so.6
> #10 0x40337114 in __libc_start_main () from /lib/libc.so.6
> #11 0x08052a61 in _start ()
> 

Is atexit() registered to call shutdown_orb()? Looks like main() has
finished and atexit() is cleaning up.

The usual server pattern is for main() not to finish until _after_ the
ORB has been shut down.

I would suggest that shutdown_orb() is being called from two different
places, the second being via the atexit() function after main()
finishes. This could result in the second shutdown trying to deallocate
memory which is already deallocated.

If you can run the process in a debugger, I would put a breakpoint in
shutdown_orb() or downstream like ORBit_POA_deactivate() to see if this
stuff gets called twice.

--
  Rich



Find local movie times and trailers on Yahoo! Movies.
http://au.movies.yahoo.com



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]