From owner-freebsd-current Thu Oct 10 10:48:20 1996 Return-Path: owner-current Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id KAA05676 for current-outgoing; Thu, 10 Oct 1996 10:48:20 -0700 (PDT) Received: from austin.polstra.com (austin.polstra.com [206.213.73.10]) by freefall.freebsd.org (8.7.5/8.7.3) with ESMTP id KAA05667 for ; Thu, 10 Oct 1996 10:48:17 -0700 (PDT) Received: from austin.polstra.com (jdp@localhost) by austin.polstra.com (8.7.6/8.7.3) with ESMTP id KAA05145; Thu, 10 Oct 1996 10:48:06 -0700 (PDT) Message-Id: <199610101748.KAA05145@austin.polstra.com> To: Masafumi NAKANE/=?ISO-2022-JP?B?GyRCQ2Y6LDJtSjgbKEI=?= cc: current@freefall.freebsd.org In-reply-to: Your message of "Thu, 10 Oct 1996 14:45:59 +0900." <199610100545.OAA09234@bourbon.sfc.wide.ad.jp> Date: Thu, 10 Oct 1996 10:48:06 -0700 From: John Polstra Sender: owner-current@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk > 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