linux binary blues

Bogdan TARU bgd at icomag.de
Wed May 14 04:26:25 PDT 2003


	Hi Hackers,

 I have a linux binary that runs well under a jail on a FreeBSD 4.8, but
fails to run on a jaili on 4.7 (obviously, both have linux compatibility
installed).

 As far as I know (don't have the sources of this linux binary), it tries
to get a lock on a file which is called engine.pid. That failes on 4.7.

 The ktraces on the systems look like:

 Good (jail on 4.8):

   582 engine   NAMI  "/home/test/testbot/var/run/engine.pid"
   582 engine   RET   open 3
   582 engine   CALL  semget(0x3,0x6,0xbfbfe820)
   582 engine   RET   semget 0
   582 engine   CALL  getpid
   582 engine   RET   getpid 582/0x246
   582 engine   CALL  select(0x3,0)
   582 engine   RET   select 0
   582 engine   CALL  write(0x3,0x864c28c,0x4)
   582 engine   GIO   fd 3 wrote 4 bytes


 Failed (jail on 4.7):

 10995 engine   NAMI  "/usr/home/ohsandy/sandy/var/run/engine.pid"
 10995 engine   RET   open 3
 10995 engine   CALL  semget(0x3,0x6,0xbfbfe800)
 10995 engine   RET   semget -1 errno -22 Unknown error: -22(
 10995 engine   CALL  ktrace(0x8690000)
 10995 engine   RET   ktrace 141099008/0x8690000
 10995 engine   CALL  ktrace(0x869d000)
 10995 engine   RET   ktrace 141152256/0x869d000
 10995 engine   CALL  fchdir(0xbfbfe60c)
 10995 engine   RET   fchdir 1052904408/0x3ec20bd8
 10995 engine   CALL  open(0x852e160,0x441,0x1b6)
 10995 engine   NAMI  "/compat/linux/usr/home/ohsandy/sandy/var/log"
 10995 engine   NAMI  "/usr/home/ohsandy/sandy/var/log/error.log"


 I don't know, though, why the semget(2) has different values for the
third argument (0xbfbfe820 != 0xbfbfe800), if the binary is the same and
the linux libraries (as far as I can tell) are the same (tried with the
4.7 linux_base package, and as well with the 4.8 linux_base package
installed on the 4.7 system).

 So, any ideas of what could go wrong, and if there are any chances of
getting this binary to run on a 4.7?

 Thanks,
 bogdan



More information about the freebsd-hackers mailing list