Diagnosing Core files from another machine
Our server code is compiled on one machine and executed on another. The server core dumped. I moved the core file and executable to a machine with dbx/workshop and I received the following error when I tried to load the core file.
(dbx) Value of `$DBX_cfront_demangling' must be either `on' or `off'^M
debug /u/ssweene/workarea/CCPOServer /u/ssweene/core.new^M
Use the `help' command for more information.^M
Reading symbolic information for CCPOServer^M
core file header read successfully^M
Reading symbolic information for rtld /usr/lib/ld.so.1^M
core file read error: address 0xef7eb400 not available^M
panic: Proc::get_rtld_stuff(): could not initialize rtld_db^M
My questions are:
1. How can I debug core files created on machines that do not have a development environment installed.
2. Is there another tool I could use to diagnose the core file.
Thanks in advance for any help.
# 1
This is a known problem and currently there is an RFE (request for enhancement) for this. The feature to have the ability to debug core files created from another machine on a remote machine with dbx installed is added to dbx 5.0 patched versions.
If you are using dbx 4.0 or dbx 5.0 (do a dbx -V to see the revision), you may use this workaround to successful run the dbx tool without core dumping:
Simply set the environment variable _DBX_USE_OUR_RTLD_DB to any or no value before running dbx.
This workaround forces the dbx tool to use the libDPrtld_db.so shared library file and is considered safe when debugging core files.
# 2
I've tried this suggestion (and the one from bug id 4212338) to no avail. We still get the following;
<pre>
Reading ld.so.1
dbx: panic: cannot dlopen libDP_rtld_db.so as "/opt/SUNWspro/bin/../WS5.0/bin/sparcv9/../../lib/libDP_rtld_db.so" either -- ld.so.1: /opt/SUNWspro/bin/../WS5.0/bin/sparcv9/dbx: fatal: /opt/SUNWspro/bin/../WS5.0/bin/sparcv9/../../lib/libDP_rtld_db.so: corrupt or truncated file
</pre>
It is essential for us to be able to debug core files from customers. Any suggestions?