Languages and Scripting
cancel
Showing results for 
Search instead for 
Did you mean: 

core dump just while exiting from main() in HPUX itanium

 
Highlighted
sahoo444
Visitor

core dump just while exiting from main() in HPUX itanium

Our application is dumping core just while exiting from main() function ( in HPUX itanium - 11.31). Note that, it is doing all the intended work and just before exiting from main(), we are coming across this situation. Following is the thread trace which we are getting while running gdb on the core file.

 

================================================================

 

(gdb) info thread

    3 system thread 3753506    0xc000000000446750:0 in __ksleep+0x30 ()

   from /usr/lib/hpux64/libc.so.1

*   2 system thread 3753505    0xc000000000446750:0 in __ksleep+0x30 ()

   from /usr/lib/hpux64/libc.so.1

    1 system thread 3753474    0xc00000000044b610:0 in unlink+0x30 ()

   from /usr/lib/hpux64/libc.so.1

(gdb) thread 1

[Switching to thread 1 (system thread 3753474)]

#0  0xc00000000044b610:0 in unlink+0x30 () from /usr/lib/hpux64/libc.so.1

(gdb) bt

#0  0xc00000000044b610:0 in unlink+0x30 () from /usr/lib/hpux64/libc.so.1

#1  0xc0000000002eea80:0 in pwgr_client_shutdown+0x60 ()

   from /usr/lib/hpux64/libc.so.1

#2  0xc00000000037ddb0:0 in __exit_handler+0x130 ()

   from /usr/lib/hpux64/libc.so.1

(gdb) thread 2

[Switching to thread 2 (system thread 3753505)]

#0  0xc000000000446750:0 in __ksleep+0x30 () from /usr/lib/hpux64/libc.so.1

(gdb) bt

#0  0xc000000000446750:0 in __ksleep+0x30 () from /usr/lib/hpux64/libc.so.1

#1  0xc0000000001ca330:0 in __sleep_1x1+0x350 ()

   from /usr/lib/hpux64/libpthread.so.1

#2  0xc0000000001c6120:0 in __mxn_sleep+0x20f0 ()

   from /usr/lib/hpux64/libpthread.so.1

#3  0xc0000000000fa590:0 in <unknown_procedure> + 0x12f0 ()

   from /usr/lib/hpux64/libpthread.so.1

#4  0xc0000000000f7610:0 in pthread_cond_wait+0xd0 ()

   from /usr/lib/hpux64/libpthread.so.1

#5  0xc000000003875580:0 in omni_condition::wait()+0x80 ()

   from /erm/app/RaRoot/shlib/libomnithread.sl.2

#6  0xc0000000074f3790:0 in omniORB_Ripper::run_undetached(void*)+0x240 ()

   from /erm/app/RaRoot/shlib/libomniORB2.sl.8

#7  0xc0000000038776c0:0 in omni_thread_wrapper+0x350 ()

   from /erm/app/RaRoot/shlib/libomnithread.sl.2

#8  0xc000000000113b20:0 in __pthread_bound_body+0x190 ()

   from /usr/lib/hpux64/libpthread.so.1

(gdb) thread 3

[Switching to thread 3 (system thread 3753506)]

#0  0xc000000000446750:0 in __ksleep+0x30 () from /usr/lib/hpux64/libc.so.1

(gdb) bt

#0  0xc000000000446750:0 in __ksleep+0x30 () from /usr/lib/hpux64/libc.so.1

#1  0xc0000000001ca330:0 in __sleep_1x1+0x350 ()

   from /usr/lib/hpux64/libpthread.so.1

#2  0xc0000000001c6120:0 in __mxn_sleep+0x20f0 ()

   from /usr/lib/hpux64/libpthread.so.1

#3  0xc0000000000fa590:0 in <unknown_procedure> + 0x12f0 ()

   from /usr/lib/hpux64/libpthread.so.1

#4  0xc0000000000fd3d0:0 in pthread_cond_timedwait+0x150 ()

   from /usr/lib/hpux64/libpthread.so.1

#5  0xc0000000038757e0:0 in omni_condition::timedwait(unsigned long,unsigned long)+0x100 () from /erm/app/RaRoot/shlib/libomnithread.sl.2

warning:

ERROR: Use the "objectdir" command to specify the search

path for objectfile scavenger.o.

If NOT specified will behave as a non -g compiled binary.

 

#6  0xc0000000074f66b0:0 in omniORB_Scavenger::run_undetached(void*)+0x320 ()

   from /erm/app/RaRoot/shlib/libomniORB2.sl.8

#7  0xc0000000038776c0:0 in omni_thread_wrapper+0x350 ()

   from /erm/app/RaRoot/shlib/libomnithread.sl.2

#8  0xc000000000113b20:0 in __pthread_bound_body+0x190 ()

   from /usr/lib/hpux64/libpthread.so.1

(gdb)

 

 

================================================================

 

Not sure what unlink operation it is trying to do in thread 1 and the intention of pwgr_client_shutdown() in this context. We are seeing zero byte files under " /var/spool/sockets/pwgr  ". Is it anyway related to the issue ? Any pointers towards solution would be of great help.

1 REPLY 1
Highlighted
Dennis Handly
Acclaimed Contributor

Re: core dump just while exiting from main() in HP-UX Integrity

>it is doing all the intended work and just before exiting from main(),

 

Did you arm that exit handler with atexit(3)?  What signal did you get?

 

What is the value of r32 in unlink?

p /x $r32

x /s $r32

 

Perhaps there was a global pointer with the name of a file and that got reset to NULL?

Are you unloading any shlibs?  What does "info shared" show?

 

>Not sure what unlink operation it is trying to do in thread 1 and the intention of pwgr_client_shutdown() in this context.

 

Well to remove a temp file/socket.  This could be used for talking pwgrd(1M).

 

>We are seeing zero byte files under /var/spool/sockets/pwgr. Is it anyway related to the issue?

 

Most likely.