[Pvfs2-developers] Hang at server shutdown

Sam Lang slang at mcs.anl.gov
Thu Jan 18 15:07:15 EST 2007


On Jan 18, 2007, at 1:52 PM, Scott Atchley wrote:

> On Jan 18, 2007, at 2:41 PM, Sam Lang wrote:
>
>> Hi Scott,
>>
>> That's not what I suspected but its still helpful.  It looks like  
>> the hang is in trove_handle_mgmt_finalize().  Probably trying to  
>> lock the trove_handle_mutex, but I'm not sure.   I don't see any  
>> other cases where that mutex would already be locked somewhere  
>> else.  Can you run the server in gdb, Ctrl-C when it hangs, and  
>> send the backtrace?
>>
>> Thanks,
>>
>> -sam
>
> To answer my own question, send a HUP, then continue the process in  
> GDB. :-)

You can also do 'signal SIGHUP' at the gdb prompt.

>
> Here is your backtrace:
>

So this looks like its just related to the invalid free in the mx  
code (and the ib code I guess).  You could run it in valgrind to  
verify that probably.  Can you set the map pointer to null and check  
on the next attempt to free it?

-sam

> Program received signal SIGINT, Interrupt.
> 0xb7d48129 in mallopt () from /lib/tls/libc.so.6
> (gdb) bt
> #0  0xb7d48129 in mallopt () from /lib/tls/libc.so.6
> #1  0xb7d47f6e in mallopt () from /lib/tls/libc.so.6
> #2  0xb7d46dcb in free () from /lib/tls/libc.so.6
> #3  0x080cbb80 in extentlist_free (e=0x8174a08)
>     at src/io/trove/trove-handle-mgmt/trove-extentlist.c:105
> #4  0x080cb48b in trove_handle_ledger_free (hl=0x81749b8)
>     at src/io/trove/trove-handle-mgmt/trove-ledger.c:114
> #5  0x080b3f43 in trove_handle_mgmt_finalize ()
>     at src/io/trove/trove-handle-mgmt/trove-handle-mgmt.c:591
> #6  0x08071341 in trove_finalize (method_id=TROVE_METHOD_DBPF)
>     at src/io/trove/trove-mgmt.c:136
> #7  0x08055f35 in server_shutdown (status=262143, ret=0, siglevel=1)
>     at src/server/pvfs2-server.c:1521
> #8  0x08054341 in main (argc=4, argv=0xbff31e74) at src/server/ 
> pvfs2-server.c:704
>
> Scott
>



More information about the Pvfs2-developers mailing list