[PATCH] pipe2 for Linuxulator
Alexander Best
arundel at freebsd.org
Sat Apr 21 22:16:56 UTC 2012
On Sun Apr 15 12, Alexander Best wrote:
> On Sun Apr 15 12, Alexander Best wrote:
> > On Sun Apr 15 12, Alexander Leidinger wrote:
> > > On Sun, 15 Apr 2012 19:04:08 +0000 Alexander Best <arundel at freebsd.org>
> > > wrote:
> > >
> > > > On Sun Apr 15 12, Alexander Leidinger wrote:
> > > > > On Sun, 15 Apr 2012 18:16:13 +0000 Alexander Best
> > > > > <arundel at freebsd.org> wrote:
> > >
> > > > > > also...even after installing a fresh kernel and world with dtrace
> > > > > > enabled, the "check_error.d" and "trace_futexes.d" fail and
> > > > > > sometimes even render the flash instance unusable.
> > > > >
> > > > > I assume with unusable you mean not fast enough. Well... buy a
> > > > > faster CPU. No, just kidding. Depending on what a D script does and
> > > > > how many probes are enabled in the D script, it is not unexpected
> > > > > that the system slows down. As told above, the scripts show what is
> > > > > possible. For real debugging you may want to use stripped down
> > > > > versions.
> > > >
> > > > no actually. what i meant by "unusable" is that the d-scripts
> > > > themself crash the flash instances.
> > >
> > > Uhm... this is unexpected. DTrace disables destructive actions by
> > > default, and I do not activate them. Maybe some timing-sensitive code
> > > in the flash-player which does not handle the case that some parts can
> > > take longer than expected? I assume there is not bug in DTrace itself.
> > > There could be a bug in my patch, but I would assume it is not a
> > > heisen-bug as described here (the probes are handled by
> > > DTrace-macros, just the variables which are provided to D scripts
> > > are different from other probes).
> >
> > this sounds reasonable. after exiting the dtrace script the crashed flash
> > instance partially returns to normal behaviour. so indeed it seems that
> > dtrace is having only an impact on flash's timing-code.
> >
> > none of the linux processes actually crashes (that is is being terminated) in
> > this scenario. ps alx shows that all processes still exist.
> >
> > i'll play a bit more with the dtrace scripts and see if i can remove more
> > stuff that isn't important for futex related matters.
>
> one more thing:
>
> i'm seeing a lot of defunct processes in connection with flash:
>
> 1001 1023 988 0 4 0 283916 56620 kqread I - 2:36,17 chrome: --type=plugin --plugin-path=/usr/home/arundel/.mozilla/plugins/npwrapper.libflashplayer.so --lang=en-GB --channel=988.0x65c6b90.321991751 (chrome)
> 1001 1047 1023 0 20 0 0 0 - Z - 0:00,01 <defunct>
> 1001 1048 1023 0 20 0 0 0 - Z - 0:00,01 <defunct>
> 1001 1049 1023 0 20 0 0 0 - Z - 0:00,01 <defunct>
> 1001 1050 1023 0 20 0 0 0 - Z - 0:00,01 <defunct>
> 1001 1052 1023 0 20 0 0 0 - Z - 0:00,01 <defunct>
> 1001 1065 1023 0 20 0 0 0 - Z - 0:00,01 <defunct>
> 1001 1067 1023 0 20 0 0 0 - Z - 0:05,89 <defunct>
> 1001 1069 1023 0 20 0 0 0 - Z - 0:00,01 <defunct>
> 1001 1074 988 0 40 0 292244 86844 uwait S - 0:26,94 chrome: --type=gpu-process --channel=988.0x67e2960.1399124120 (chrome)
> 1001 1544 990 0 40 0 922080 129268 usem S - 2:05,13 chrome: --type=zygote (chrome)
> 1001 1558 1023 3 40 0 577080 91848 futex I - 0:00,28 /usr/local/lib/nspluginwrapper/i386/linux/npviewer.bin --plugin .mozilla/plugins/libflashplayer.so --connection /org/wrapper/NSPlugins/libflashplayer.so/1023-4/1681692777
> 1001 1559 1023 1 40 0 577080 91848 futex I - 0:00,00 /usr/local/lib/nspluginwrapper/i386/linux/npviewer.bin --plugin .mozilla/plugins/libflashplayer.so --connection /org/wrapper/NSPlugins/libflashplayer.so/1023-4/1681692777
> 1001 1605 1023 0 20 0 0 0 - Z - 0:00,01 <defunct>
> 1001 1606 1023 0 20 0 0 0 - Z - 0:00,01 <defunct>
> 1001 1607 1023 0 20 0 0 0 - Z - 0:00,01 <defunct>
> 1001 1609 1023 0 20 0 0 0 - Z - 0:00,01 <defunct>
> 1001 1610 1023 0 20 0 0 0 - Z - 0:00,01 <defunct>
> 1001 1611 1023 0 20 0 0 0 - Z - 0:00,01 <defunct>
> 1001 1614 1023 0 20 0 0 0 - Z - 0:00,01 <defunct>
> 1001 1615 1023 0 20 0 0 0 - Z - 0:00,49 <defunct>
> 1001 1616 1023 0 20 0 0 0 - Z - 0:07,52 <defunct>
> 1001 1655 1023 0 20 0 0 0 - Z - 0:00,00 <defunct>
> 1001 1656 1023 7 40 0 577080 91848 futex I - 0:00,28 /usr/local/lib/nspluginwrapper/i386/linux/npviewer.bin --plugin .mozilla/plugins/libflashplayer.so --connection /org/wrapper/NSPlugins/libflashplayer.so/1023-4/1681692777
> 1001 1657 1023 5 40 0 577080 91848 futex I - 0:00,32 /usr/local/lib/nspluginwrapper/i386/linux/npviewer.bin --plugin .mozilla/plugins/libflashplayer.so --connection /org/wrapper/NSPlugins/libflashplayer.so/1023-4/1681692777
> 1001 1713 1023 21 41 0 297812 41476 futex I - 0:00,01 /usr/local/lib/nspluginwrapper/i386/linux/npviewer.bin --plugin .mozilla/plugins/libflashplayer.so --connection /org/wrapper/NSPlugins/libflashplayer.so/1023-5/1714636915
> 1001 1714 1023 112 47 0 297812 41476 futex I - 0:00,00 /usr/local/lib/nspluginwrapper/i386/linux/npviewer.bin --plugin .mozilla/plugins/libflashplayer.so --connection /org/wrapper/NSPlugins/libflashplayer.so/1023-5/1714636915
> 1001 1715 1023 0 20 0 0 0 - Z - 0:00,00 <defunct>
> 1001 1716 1023 0 40 0 297812 41476 futex I - 0:00,04 /usr/local/lib/nspluginwrapper/i386/linux/npviewer.bin --plugin .mozilla/plugins/libflashplayer.so --connection /org/wrapper/NSPlugins/libflashplayer.so/1023-5/1714636915
> 1001 1717 1 0 40 0 297812 41476 pcmwrv S - 0:19,05 /usr/local/lib/nspluginwrapper/i386/linux/npviewer.bin --plugin .mozilla/plugins/libflashplayer.so --connection /org/wrapper/NSPlugins/libflashplayer.so/1023-5/1714636915
> 1001 1718 1 30 41 0 297812 41476 futex I - 0:00,01 /usr/local/lib/nspluginwrapper/i386/linux/npviewer.bin --plugin .mozilla/plugins/libflashplayer.so --connection /org/wrapper/NSPlugins/libflashplayer.so/1023-5/1714636915
> 1001 1719 1 30 41 0 297812 41476 futex I - 0:00,00 /usr/local/lib/nspluginwrapper/i386/linux/npviewer.bin --plugin .mozilla/plugins/libflashplayer.so --connection /org/wrapper/NSPlugins/libflashplayer.so/1023-5/1714636915
> 1001 1785 1023 1 40 0 444464 66512 futex I - 0:03,40 /usr/local/lib/nspluginwrapper/i386/linux/npviewer.bin --plugin .mozilla/plugins/libflashplayer.so --connection /org/wrapper/NSPlugins/libflashplayer.so/1023-6/1957747793
> 1001 1786 1023 85 45 0 444464 66512 futex I - 0:00,00 /usr/local/lib/nspluginwrapper/i386/linux/npviewer.bin --plugin .mozilla/plugins/libflashplayer.so --connection /org/wrapper/NSPlugins/libflashplayer.so/1023-6/1957747793
> 1001 1788 1023 0 20 0 0 0 - Z - 0:00,26 <defunct>
> 1001 1790 1023 0 20 0 0 0 - Z - 0:00,26 <defunct>
> 1001 1791 1023 0 20 0 0 0 - Z - 5:19,32 <defunct>
> 1001 2126 1023 0 20 0 0 0 - Z - 0:00,11 <defunct>
> 1001 2127 1023 0 20 0 0 0 - Z - 0:00,10 <defunct>
> 1001 2180 1023 0 20 0 0 0 - Z - 0:00,10 <defunct>
>
> procstat reports:
>
> 1047 1023 988 988 0 1 arundel - Linux ELF32 npviewer.bin
> 1048 1023 988 988 0 1 arundel - Linux ELF32 npviewer.bin
> 1049 1023 988 988 0 1 arundel - Linux ELF32 npviewer.bin
> 1050 1023 988 988 0 1 arundel - Linux ELF32 npviewer.bin
> 1052 1023 988 988 0 1 arundel - Linux ELF32 npviewer.bin
> 1065 1023 988 988 0 1 arundel - Linux ELF32 npviewer.bin
> 1067 1023 988 988 0 1 arundel - Linux ELF32 npviewer.bin
> 1069 1023 988 988 0 1 arundel - Linux ELF32 npviewer.bin
> 1558 1023 988 988 0 1 arundel futex Linux ELF32 npviewer.bin
> 1559 1023 988 988 0 1 arundel futex Linux ELF32 npviewer.bin
> 1605 1023 988 988 0 1 arundel - Linux ELF32 npviewer.bin
> 1606 1023 988 988 0 1 arundel - Linux ELF32 npviewer.bin
> 1607 1023 988 988 0 1 arundel - Linux ELF32 npviewer.bin
> 1609 1023 988 988 0 1 arundel - Linux ELF32 npviewer.bin
> 1610 1023 988 988 0 1 arundel - Linux ELF32 npviewer.bin
> 1611 1023 988 988 0 1 arundel - Linux ELF32 npviewer.bin
> 1614 1023 988 988 0 1 arundel - Linux ELF32 npviewer.bin
> 1615 1023 988 988 0 1 arundel - Linux ELF32 npviewer.bin
> 1616 1023 988 988 0 1 arundel - Linux ELF32 npviewer.bin
> 1655 1023 988 988 0 1 arundel - Linux ELF32 npviewer.bin
> 1656 1023 988 988 0 1 arundel futex Linux ELF32 npviewer.bin
> 1657 1023 988 988 0 1 arundel futex Linux ELF32 npviewer.bin
> 1713 1023 988 988 0 1 arundel futex Linux ELF32 npviewer.bin
> 1714 1023 988 988 0 1 arundel futex Linux ELF32 npviewer.bin
> 1715 1023 988 988 0 1 arundel - Linux ELF32 npviewer.bin
> 1716 1023 988 988 0 1 arundel futex Linux ELF32 npviewer.bin
> 1717 1 988 988 0 1 arundel pcmwrv Linux ELF32 npviewer.bin
> 1718 1 988 988 0 1 arundel futex Linux ELF32 npviewer.bin
> 1719 1 988 988 0 1 arundel futex Linux ELF32 npviewer.bin
> 1785 1023 988 988 0 1 arundel futex Linux ELF32 npviewer.bin
> 1786 1023 988 988 0 1 arundel futex Linux ELF32 npviewer.bin
> 1788 1023 988 988 0 1 arundel - Linux ELF32 npviewer.bin
> 1790 1023 988 988 0 1 arundel - Linux ELF32 npviewer.bin
> 1791 1023 988 988 0 1 arundel - Linux ELF32 npviewer.bin
> 2126 1023 988 988 0 1 arundel - Linux ELF32 npviewer.bin
> 2127 1023 988 988 0 1 arundel - Linux ELF32 npviewer.bin
> 2180 1023 988 988 0 1 arundel - Linux ELF32 npviewer.bin
> 2354 1023 988 988 0 1 arundel futex Linux ELF32 npviewer.bin
after enabling a few more debugging features in my kernel conf i also saw these
messages:
lock order reversal:
1st 0xfffffe0007c57098 pseudofs (pseudofs) @ /usr/github-freebsd-head/sys/kern/vfs_lookup.c:542
2nd 0xffffffff80bca9a0 allproc (allproc) @ /usr/github-freebsd-head/sys/kern/kern_proc.c:298
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2b
kdb_backtrace() at kdb_backtrace+0x39
witness_checkorder() at witness_checkorder+0x66c
_sx_slock() at _sx_slock+0x61
pfind() at pfind+0x27
pfs_lookup() at pfs_lookup+0x472
VOP_CACHEDLOOKUP_APV() at VOP_CACHEDLOOKUP_APV+0xda
vfs_cache_lookup() at vfs_cache_lookup+0xcb
VOP_LOOKUP_APV() at VOP_LOOKUP_APV+0xe2
lookup() at lookup+0x8c5
namei() at namei+0x67a
kern_alternate_path() at kern_alternate_path+0x260
linux_emul_convpath() at linux_emul_convpath+0x29
linux_open() at linux_open+0x42
ia32_syscall() at ia32_syscall+0x299
Xint0x80_syscall() at Xint0x80_syscall+0x95
--- syscall (5, Linux ELF32, linux_open), rip = 0x288a9181, rsp = 0xffff9f24, rbp = 0 ---
tvotohz: negative time difference 0 sec -1 usec
tvotohz: negative time difference 0 sec -1 usec
cheers.
alex
>
> cheers.
> alex
>
> >
> > good night.
> > alex
> >
> > >
> > > Bye,
> > > Alexander.
> > >
> > > --
> > > 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-emulation
mailing list