Debugging reboot with Linux emulation

Alexander Leidinger Alexander at
Wed Aug 13 14:04:06 UTC 2008

Quoting "Kostik Belousov" <kostikbel at> (from Wed, 13 Aug 2008  
14:54:13 +0300):

> On Wed, Aug 13, 2008 at 01:28:22PM +0200, Alexander Leidinger wrote:
>> Quoting "Nate Eldredge" <neldredge at> (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  
root. So...


Blow it out your ear.    Alexander @ PGP ID = B0063FE7       netchild @  : PGP ID = 72077137

More information about the freebsd-hackers mailing list