cannot crash the linux kernel, I am stumbling on to some "thinko"
errors in dtrace.
Try the following on a Mac:
$ dtrace -l >/dev/null & dtrace -l >/dev/null & dtrace -l >/dev/null & dtrace -l >/dev/null &
We get interrupted system calls and issues on the major/minor numbers
(see 'dmesg' after it fails).
Next up is DTRACE_ENABLEIOC. This calls dtrace_copyin_dof() which validates
the main dtrace mutex is not asserted. Normally it isnt, unless someone
else is running a heavy handed probe trace, in which case a nasty race
condition exists. Unless a VFS lock is applied, this could spell out
danger or kernel panic (on Solaris, FreeBSD and MacOS).
dtrace_xcall is another area of potential for kernel deadlock if
multiple dtraces are firing on multiple cpus.
I have nearly finished my "safety" checks in dtrace, having written
my own dtrace_xcall, and am checking that kernels dont deadlock on you.
But its uncovering some nasty race conditions in dtrace as a whole.
Post created by CRiSP v10.0.5a-b5971
Anyone get dtrace to build on Ubuntu 10.04 ?
ReplyDeleteI'm using kernel 2.6.32-21-generic.
dtrace versions 110414 and above.
Here are the errors I'm getting : (posting partly, because of 4K character limit).
cd cmd/ctfconvert ; make --no-print-directory
gcc -g -I. -I../../ -I../../libctf -I../../common -I../../uts/common -I../../linux -I/usr/include/libdwarf -c ctfconvert.c
In file included from ../../linux/elf.h:14,
from /usr/include/libelf.h:56,
from ctftools.h:38,
from ctfconvert.c:43:
../../linux/sys/elf.h:92: error: expected specifier-qualifier-list before ‘Elf64_Half’
../../linux/sys/elf.h:307: error: expected specifier-qualifier-list before ‘Elf64_Word’
../../linux/sys/elf.h:381: error: expected specifier-qualifier-list before ‘Elf64_Word’
../../linux/sys/elf.h:494: error: expected specifier-qualifier-list before ‘Elf64_Word’
../../linux/sys/elf.h:577: error: expected specifier-qualifier-list before ‘Elf64_Addr’
../../linux/sys/elf.h:582: error: expected specifier-qualifier-list before ‘Elf64_Addr’
../../linux/sys/elf.h:637: error: expected specifier-qualifier-list before ‘Elf64_Word’
../../linux/sys/elf.h:648: error: expected specifier-qualifier-list before ‘Elf32_Lword’
../../linux/sys/elf.h:667: error: expected specifier-qualifier-list before ‘Elf64_Lword’
../../linux/sys/elf.h:694: error: expected specifier-qualifier-list before ‘Elf64_Xword’
In file included from ../../linux/link.h:4,
from ../../linux/elf.h:15,
from /usr/include/libelf.h:56,
from ctftools.h:38,
from ctfconvert.c:43:
make[3]: *** [all] Error 2
make[2]: *** [do_cmds] Error 2
tools/bug.sh
make[1]: *** [all] Error 1
Any help appreciated, much obliged, thanks.
Krishna