Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 26 Sep 2006 17:33:44 -0400
From:      Jung-uk Kim <jkim@FreeBSD.org>
To:        freebsd-emulation@FreeBSD.org
Subject:   linuxulator on -CURRENT
Message-ID:  <200609261733.48398.jkim@FreeBSD.org>

next in thread | raw e-mail | index | archive | help
I was little annoyed by linuxulator breakage on amd64, which fails to
run Acrobat Reader.  (Well, actually it's not Acrobat's fault.  It's
just that wrapper is failing.  If you run 'sh /usr/X11R6/bin/acroread'
instead, it runs okay.)  All seem to boil down to one problem:

%cat test.sh
#!/usr/compat/linux/bin/sh
bar=`true`
foo=`false`
%sh -x test.sh
+ true
+ bar=
+ false
+ foo=
%/compat/linux/bin/sh -x test.sh
++ true
Segmentation fault (core dumped)

linux_kdump shows this:

%linux_kdump | tail -40
 16618 bash     CALL  linux_fstat64(0xff,0xffffd52c,0x2822aff4)
 16618 bash     RET   linux_fstat64 0
 16618 bash     CALL  linux_llseek(0xff,0,0,0xffffd4f4,0x1)
 16618 bash     RET   linux_llseek 0
 16618 bash     CALL  linux_rt_sigprocmask(0,0,0x80f341c,0x8)
 16618 bash     RET   linux_rt_sigprocmask 0
 16618 bash     CALL  read(0xff,0x8112fd0,0x32)
 16618 bash     GIO   fd 255 read 50 bytes
       "#!/usr/compat/linux/bin/sh
        bar=`true`
        foo=`false`
       "
 16618 bash     RET   read 50/0x32
 16618 bash     CALL  linux_rt_sigprocmask(0,0,0x80f341c,0x8)
 16618 bash     RET   linux_rt_sigprocmask 0
 16618 bash     CALL  linux_pipe(0xffffd054)
 16618 bash     RET   linux_pipe 0
 16618 bash     CALL  linux_rt_sigprocmask(0,0xffffcf08,0xffffce88,0x8)
 16618 bash     RET   linux_rt_sigprocmask 0
 16618 bash     CALL  linux_llseek(0xff,0xffffffff,0xfffffff4,0xffffce34,0x1)
 16618 bash     RET   linux_llseek 0
 16618 bash     CALL  linux_fork
 16618 bash     RET   linux_fork 16619/0x40eb
 16618 bash     CALL  linux_rt_sigprocmask(0x2,0xffffce88,0,0x8)
 16618 bash     RET   linux_rt_sigprocmask 0
 16618 bash     CALL  linux_rt_sigaction(0x11,0xffffcdb0,0xffffcd24,0x8)
 16618 bash     RET   linux_rt_sigaction 0
 16618 bash     CALL  close(0x4)
 16618 bash     RET   close 0
 16618 bash     CALL  read(0x3,0xffffcfd4,0x80)
 16618 bash     GIO   fd 3 read 0 bytes
       ""
 16618 bash     RET   read 0
 16618 bash     PSIG  SIGCHLD caught handler=0x807871f mask=0x0 code=0x0
 16618 bash     CALL  linux_waitpid(0xffffffff,0xffffcc7c,0x1)
 16618 bash     RET   linux_waitpid 16619/0x40eb
 16618 bash     CALL  linux_waitpid(0xffffffff,0xffffcc7c,0x1)
 16618 bash     RET   linux_waitpid -1 errno 10 No child processes
 16618 bash     PSIG  SIGSEGV SIG_DFL
 16618 bash     NAMI  "bash.core"

It seems linux_waitpid() is waiting for a dead child.

Can anyone with Linuxulator foo take a look at it?

FYI, I found similar report here:

http://docs.freebsd.org/cgi/mid.cgi?450894EF.1020101

Thanks,

Jung-uk Kim

* PS: I have modified ports/devel/linux_kdump to build without gentoo.
      If anybody is interested, you can get it from here:

      http://people.freebsd.org/~jkim/linux_kdump.tar.gz

      I just added Linux header files as a patch. :-P



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