vBulletin Search Engine Optimization
| |||||||
| Register | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| I have a process core dumped with this stack trace: (gdb) bt #0 0xc002ea68 in kill () #1 0xc002de2c in raise () #2 0xc00282a8 in fatal_error () #3 0xc001c6d0 in finish_dld_main () #4 0xc001b980 in _dld_main () Yet I cannot find the function _dld_main or dld_main in my code; nor in any of the libraries that the process loads. The OS is B.11.00. I didn't find anything ont the internet either. Can someone shed some light? Thanks. - PL |
| |||
| P L (jsyzghan@yahoo.com) wrote: : I have a process core dumped with this stack trace: : (gdb) bt : #0 0xc002ea68 in kill () : #1 0xc002de2c in raise () : #2 0xc00282a8 in fatal_error () : #3 0xc001c6d0 in finish_dld_main () : #4 0xc001b980 in _dld_main () : Yet I cannot find the function _dld_main or dld_main in my code; nor : in any of the libraries that the process loads. The OS is B.11.00. I : didn't find anything ont the internet either. Can someone shed some : light? Thanks. - PL /usr/lib/dld.sl is the dynamic loader and _dld_main is found there. -- Jim Hollenback jholly@cup.hp.com my opinion. |
| |||
| Jim, thanks for your insight. Some more questions. I don't quite understand why /usr/lib/dld.sl gets involved while ldd process shows only /usr/lib/libdld.2 and some others without /usr/lib/dld.sl. tusc does show that /usr/lib/dld.sl is opened. Shouldn't ldd show it and why not? Back to my original core dump. What are the prototypes and functionalities of _dld_main() and finish_dld_main()? I'm trying to get more info on what happened and why _dld_main() failed. Thanks. - PL |
| |||
| jsyzghan@yahoo.com (P L) writes: > Back to my original core dump. What are the prototypes and > functionalities of _dld_main() and finish_dld_main()? I'm trying to > get more info on what happened and why _dld_main() failed. Thanks. - _dld_main() is the function where dld.sl execution starts. It maps all shared libraries needed by the executable, performs runtime relocation on them, and transfers control to the executable entry point. In case of fatal errors (such as "unable to find needed shared library"), dld.sl writes a message to that effect to stderr, and calls abort(). This is what's apparently happening to you, except you didn't mention any error messages from dld.sl. Are you perhaps redirecting stderr of your exe to some log file or /dev/null? The "problem" message should also be visible in tusc output (look for "write(2, ...)"). Cheers, -- In order to understand recursion you must first understand recursion. |
| ||||
| > _dld_main() is the function where dld.sl execution starts. > It maps all shared libraries needed by the executable, performs > runtime relocation on them, and transfers control to the executable > entry point. Thanks for the explanation. > In case of fatal errors (such as "unable to find needed shared > library"), dld.sl writes a message to that effect to stderr, and > calls abort(). This is what's apparently happening to you, except > you didn't mention any error messages from dld.sl. > > Are you perhaps redirecting stderr of your exe to some log file > or /dev/null? The "problem" message should also be visible in > tusc output (look for "write(2, ...)"). Someone found this aged core dump and I was left with only the core dump to trouble shoot. The core cannot be reproduced. I feel the problem is some lib file not being found. Thanks again for all your help. -PL |