Vlakshmi wrote:
> Hello All,
> 
> I facing some issue while trying to debug a core file using DBX.
> 
> The core was generated in the customers machine and never occurs in my setup. 
> I'm debugging this in my local machine in which DBX is installed. DBX throws 
> the below error while trying to read the core.
> __________________________________________________________________________________________________________________________
> bash-2.03# dbx myprog core_1
> Reading myprog
> core file header read successfully
> Reading ld.so.1
> dbx: core file read error: address 0xff3ee000 not available
> Reading libsocket.so.1
> Reading libnsl.so.1
> Reading libdl.so.1
> Reading libpegclient.so
> Reading libpegcommon.so
> Reading librt.so.1
> Reading libpthread.so.1
> Reading libm.so.1
> Reading libw.so.1
> Reading libdoor.so.1
> Reading libthread.so.1
> Reading libBrandChg.so
> Reading libc.so.1
> Reading libmp.so.2
> Reading libaio.so.1
> Reading libc_psr.so.1
> Reading nss_files.so.1
> WARNING!!
> A loadobject was found with an unexpected checksum value.
> See `help core mismatch' for details, and run `proc -map'
> to see what checksum values were expected and found.
> dbx: warning: Some symbolic information might be incorrect.
> dbx: internal error: cannot derive Thread from [EMAIL PROTECTED] -- debugger 
> service failed
> dbx: corefile corrupted or produced on a different version of Solaris. 
> Ignoring
> ___________________________________________________________________________________________________________________________
> 
> 
> I've ensured that the machine where the core is generated and the machine on 
> which I'm debugging are as similar as possible.
> Also, elfdump and pstack indicate there is nothing wrong with the core and 
> its not corrupted. I guess this is got something to do with library mismatch.
> 
> # uname -a  ->Customer's machine
> SunOS u147 5.8 Generic_117350-47 sun4u sparc SUNW,Sun-Fire-480R
> 
> # uname -a  ->My machine
> SunOS sunrise 5.8 Generic_117350-47 sun4u sparc SUNW,Sun-Fire-480R
> 
> I've also imported the following libs from the customer's machine to my 
> machine.
> runtime linker:
>     /usr/lib/ld.so.1
>     /usr/lib/librtld_db.so.1
>     /usr/lib/sparcv9/ld.so.1
>     /usr/lib/sparcv9/librtld_db.so.1
> 
> Still I get the same error. Please let me know if you've faced something like 
> this.

This is a well-known use-case, and documented in the Studio
documentation suite.

running
loadobject -list

will show you what libraries and dlload()able objects are
visible to your debugging session. From that you can use


loadobject -load /path/to/customer's/libraries/library

and (this is *neat*)
loadobject -hide /usr/lib/librtld_db.so.1
loadobject -use /path/to/customer's/libraries/librtld_db.so.1


cheers,
James C. McPherson
--
Senior Kernel Software Engineer, Solaris
Sun Microsystems
http://blogs.sun.com/jmcp       http://www.jmcp.homeunix.com/blog
_______________________________________________
opensolaris-code mailing list
opensolaris-code@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code

Reply via email to