odd regression in the linux emulator.

Alexander Best arundel at freebsd.org
Thu Jan 27 22:20:59 UTC 2011


On Thu Jan 27 11, Kostik Belousov wrote:
> On Wed, Jan 26, 2011 at 09:08:43PM +0000, Alexander Best wrote:
> > On Wed Jan 26 11, Jacob Frelinger wrote:
> > > On 01/26/11 12:55, Alexander Best wrote:
> > > >could you provide the output of 'pkg_info -E linux_dist\*' please?
> > > 
> > > [jolly at moku ~]$ pkg_info -E linux_dist\*
> > > linux_dist-gentoo-stage3-20100622
> > > 
> > > >btw: i also experience the problem. newer versions of linux_dist come with
> > > >linux binaries that make heavy use of futextes (even 'ls'). you should see
> > > >a lot of futex warnings in 'dmesg -a'.
> > > 
> > > linux: pid 8416 (gmake): linux_sys_futex: op FUTEX_WAIT_BITSET not 
> > > implemented
> > > linux: pid 8907 (ls): linux_sys_futex: op FUTEX_WAIT_BITSET not implemented
> > > linux: pid 8908 (ls): linux_sys_futex: op FUTEX_WAIT_BITSET not implemented
> > > 
> > > yup.  got those.  I saw them before when everything was working though 
> > > so I assumed they weren't the problem...  ls generates them but seems to 
> > > work just fine.
> > 
> > i think you're right. the futex stuff doesn't seem to be causing problems. i
> > performed a kdump -d/linux_ktrace sequence and this is the result:
> > 
> >   8462 gmake    RET   write 67/0x43
> >   8462 gmake    CALL  linux_pipe(0xffffbe08)
> >   8462 gmake    RET   linux_pipe 0
> >   8462 gmake    CALL  close(0x5)
> >   8462 gmake    RET   close 0
> >   8462 gmake    CALL  linux_fcntl64(0x3,0x2,0x1)
> >   8462 gmake    RET   linux_fcntl64 0
> >   8462 gmake    CALL  linux_rt_sigprocmask(0,0x806bfe0,0,0x8)
> >   8462 gmake    RET   linux_rt_sigprocmask 0
> >   8462 gmake    CALL  linux_vfork
> >   8462 gmake    RET   linux_vfork 8463/0x210f
> >   8462 gmake    CALL  linux_rt_sigprocmask(0x2,0xffffbdb0,0,0x8)
> >   8462 gmake    RET   linux_rt_sigprocmask 0
> >   8462 gmake    CALL  linux_wait4(0xffffffff,0xffffbe5c,0,0)
> >   8462 gmake    RET   linux_wait4 RESTART
> >   8462 gmake    PSIG  SIGCHLD caught handler=0x80541a0 mask=0x0 code=0x0
> >   8462 gmake    CALL  linux_sigreturn(0xffffbb34)
> >   8462 gmake    RET   linux_sigreturn JUSTRETURN
> >   8462 gmake    CALL  linux_wait4(0xffffffffffffffff,0xffffffffffffbe5c,0,0)
> >   8462 gmake    RET   linux_wait4 -1 errno 14 Bad address
> >   8462 gmake    CALL  write(0x2,0xffff96b8,0xa)
> >   8462 gmake    GIO   fd 2 wrote 10 bytes
> >        "make: *** "
> >   8462 gmake    RET   write 10/0xa
> >   8462 gmake    CALL  write(0x2,0xffff96b8,0x11)
> >   8462 gmake    GIO   fd 2 wrote 17 bytes
> >        "wait: Bad address"
> >   8462 gmake    RET   write 17/0x11
> >   8462 gmake    CALL  write(0x2,0x8068727,0x9)
> >   8462 gmake    GIO   fd 2 wrote 9 bytes
> >        ".  Stop.
> >        "
> >   8462 gmake    RET   write 9
> >   8462 gmake    CALL  write(0x2,0xffff9618,0x6)
> >   8462 gmake    GIO   fd 2 wrote 6 bytes
> >        "make: "
> >   8462 gmake    RET   write 6
> >   8462 gmake    CALL  write(0x2,0xffff9618,0x23)
> >   8462 gmake    GIO   fd 2 wrote 35 bytes
> >        "*** Waiting for unfinished jobs...."
> > 
> > ...so something's wrong with the linux_wait4() call.
> This should be fixed by r217991.

thanks a bunch. indeed this fixed the issue. :)



-- 
a13x


More information about the freebsd-emulation mailing list