Debugging reboot with Linux emulation
Alexander at Leidinger.net
Wed Aug 13 14:04:06 UTC 2008
Quoting "Kostik Belousov" <kostikbel at gmail.com> (from Wed, 13 Aug 2008
> On Wed, Aug 13, 2008 at 01:28:22PM +0200, Alexander Leidinger wrote:
>> Quoting "Nate Eldredge" <neldredge at math.ucsd.edu> (from Tue, 12 Aug
>> 2008 23:52:35 -0700 (PDT)):
>> >Hi folks,
>> >I recently tried to run a Linux binary of Maple (commercial math
>> >software) on my FreeBSD 7.0-RELEASE/amd64 box, and the machine
>> >rebooted. I tried it again while watching the console, and no panic
>> >message appeared to be produced. Does anyone have any ideas on how
>> >to debug problems of this nature? I realize I may not be able to
>> >get Maple to work, but in any case the system should not die like
>> >this, so I can at least try to fix that bug.
>> >Incidentally, is it possible to run kdb with a USB keyboard?
>> >Hitting Ctrl-Alt-Esc gives me the kdb prompt, but I can't type, so I
>> >can do nothing except hit the power button. I do have
>> >hint.atkbd.0.flags="0x1" in /boot/device.hints. Unfortunately I
>> >don't have a PS/2 keyboard on hand, though I can try and get a hold
>> >of one if all else fails.
>> A guess out of my cristallball:
>> That's one of the cases which happen if you run a linux program
>> without branding it as a linux program first. People tend to think it
>> is not needed, but in some rare circumstances it just causes what you
>> see, a reboot. So go and identify all binaries (IMPORTANT: but not the
>> libraries!), e.g. with the file(1), and use "brandelf -t Linux" on
>> those programs.
> That would be an enormous local hole, assuming an native FreeBSD binary
> may cause system crash. I actually doubt that non-branded elf binary
> ever start, due to unsatisfied dynamic dependencies.
You see this behavior only for static binaries. In the non-branded
case the image activator takes the FreeBSD image and unfortunately
there's a common syscall in linux which matches the syscall number in
FreeBSD which causes the reboot (IIRC reboot syscall, do we have
something like this?). It's not a system crash (kernel panic), it's a
real reboot. AFAIR this also only works if you run the program as
Blow it out your ear.
http://www.Leidinger.net Alexander @ Leidinger.net: PGP ID = B0063FE7
http://www.FreeBSD.org netchild @ FreeBSD.org : PGP ID = 72077137
More information about the freebsd-hackers