Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 10 Oct 1996 10:48:06 -0700
From:      John Polstra <jdp@polstra.com>
To:        Masafumi NAKANE/=?ISO-2022-JP?B?GyRCQ2Y6LDJtSjgbKEI=?= <max@wide.ad.jp>
Cc:        current@freefall.freebsd.org
Message-ID:  <199610101748.KAA05145@austin.polstra.com>
In-Reply-To: Your message of "Thu, 10 Oct 1996 14:45:59 %2B0900." <199610100545.OAA09234@bourbon.sfc.wide.ad.jp> 

next in thread | previous in thread | raw e-mail | index | archive | help
>     jdp> This could also (hopefully) be the cause of the core dumps
>     jdp> that Masafumi reported from running kaffe.
> 
>      I hate to tell you but it didn't solve the problem.  The
> situation seems to me exactly the same as before.

Yes, I looked at kaffe, and it doesn't do the kind of thing that exposed
the bug that Jeffrey discovered.

I looked at the ld.so.hints file you sent me, and it looks OK to me.

I am still interested in helping to solve this problem, but it seems
doubtful that I can make it fail here on my machine.  If you have time,
please do the following:

* Build a version of kaffe with debugging ("-g") information.

* Put your system into the failing state, and run kaffe under the
debugger.   (Hopefully, gdb will work well enough to get the information
I need.)  When kaffe dies, print out a stack backtrace (command "where"),
and also the registers ("info registers").

* Try to determine whether the program died inside the dynamic linker.
Look at the program counter value (register eip).  If it is greater than
0x08000000, but less than the address of the first shared library as
reported by "ldd kaffe", then it is probably in the dynamic linker.  If
it is not in the dynamic linker, then you might as well skip the
remaining steps, because they won't be useful.

* If the program died in the dynamic linker, then I will need a
sorted namelist from your installed version of the dynamic linker.  Of
course, your installed version is stripped, so you can't get a namelist
from it. :-(  But hopefully, the unstripped version still exists on your
system, in "/usr/obj/usr/src/gnu/usr.bin/ld/rtld/ld.so".  Run "nm -an"
on that file, and send me the output.

* I need one more piece of information, so that I can figure out where
in your address space the dynamic linker was loaded.  Start up the
debugger on kaffe again, but before you run the program, set
breakpoints at "dlopen" and "dlsym".  ("b dlopen", "b dlsym").  Now run
the program, and hope that it hits a breakpoint before it dies.  Give
the "si" command repeatedly, until the address jumps to something greater
than 0x08000000.  (It should require only a few repetitions.)  Send me
the address.

If you are able to get all that information, it should help a lot to
diagnose the problem.

Thanks,
John
--
   John Polstra                                       jdp@polstra.com
   John D. Polstra & Co., Inc.                Seattle, Washington USA
   "Self-knowledge is always bad news."                 -- John Barth



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199610101748.KAA05145>