Summary: | Valgrind handles signals on Linux and Mac OS differently. | ||
---|---|---|---|
Product: | [Developer tools] valgrind | Reporter: | Alexander Potapenko <glider> |
Component: | general | Assignee: | Rhys Kidd <rhyskidd> |
Status: | CONFIRMED --- | ||
Severity: | normal | CC: | n.nethercote, pjfloyd, rhyskidd |
Priority: | NOR | ||
Version: | 3.10 SVN | ||
Target Milestone: | --- | ||
Platform: | Unlisted Binaries | ||
OS: | macOS | ||
See Also: | https://bugs.kde.org/show_bug.cgi?id=192607 | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Alexander Potapenko
2010-04-19 16:29:21 UTC
Confirmed still present through OS X 10.9 (and likely OS X 10.10). Added presently failing test case in r15282. Can be reliably reproduced with the following regression test: $ perl tests/vg_regtest none/tests/bug234814 bug234814: valgrind ./bug234814 *** bug234814 failed (stdout) *** *** bug234814 failed (stderr) *** == 1 test, 1 stderr failure, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == none/tests/bug234814 (stdout) none/tests/bug234814 (stderr) I see this on FreeBSD as well. Traces ==12920== Command: ./bug234814 ==12920== --12920-- Max kernel-supported signal is 128, VG_SIGVGKILL is 128 --12920-- sync signal handler: signal=11, si_code=1, EIP=0x4018013, eip=0x4026a3de3, from kernel --12920-- SIGSEGV: si_code=1 faultaddr=0x7feffeb30 tid=1 ESP=0x7feffeb30 seg=0x7fe001000-0x7feffefff --12920-- -> extended stack base to 0x7feffe000 --12920-- sync signal handler: signal=11, si_code=1, EIP=0x4018013, eip=0x4026a3de3, from kernel --12920-- SIGSEGV: si_code=1 faultaddr=0x7feffddb0 tid=1 ESP=0x7feffddb0 seg=0x7fe001000-0x7feffdfff --12920-- -> extended stack base to 0x7feffd000 --12920-- do_setmask: tid = 1 how = 1 (SIG_BLOCK), newset = 0x4025C80 (fffffffffffffffffffffffffffff107) --12920-- oldset=0x7FEFFF990 00000000000000000000000000000000 --12920-- do_setmask: tid = 1 how = 3 (SIG_SETMASK), newset = 0x4025C94 (00000000000000000000000000000000) --12920-- do_setmask: tid = 1 how = 1 (SIG_BLOCK), newset = 0x4025C80 (fffffffffffffffffffffffffffff107) --12920-- oldset=0x7FEFFF900 00000000000000000000000000000000 --12920-- do_setmask: tid = 1 how = 3 (SIG_SETMASK), newset = 0x4025C94 (00000000000000000000000000000000) --12920-- do_setmask: tid = 1 how = 1 (SIG_BLOCK), newset = 0x4025C80 (fffffffffffffffffffffffffffff107) --12920-- oldset=0x7FEFFF510 00000000000000000000000000000000 --12920-- do_setmask: tid = 1 how = 3 (SIG_SETMASK), newset = 0x4025C94 (00000000000000000000000000000000) --12920-- do_setmask: tid = 1 how = 1 (SIG_BLOCK), newset = 0x4025C80 (fffffffffffffffffffffffffffff107) --12920-- oldset=0x7FEFFF510 00000000000000000000000000000000 --12920-- do_setmask: tid = 1 how = 3 (SIG_SETMASK), newset = 0x4025C94 (00000000000000000000000000000000) --12920-- do_setmask: tid = 1 how = 1 (SIG_BLOCK), newset = 0x4025C80 (fffffffffffffffffffffffffffff107) --12920-- oldset=0x7FEFFF510 00000000000000000000000000000000 --12920-- do_setmask: tid = 1 how = 3 (SIG_SETMASK), newset = 0x4025C94 (00000000000000000000000000000000) --12920-- sys_sigaction: sigNo 10, new 0x7ff000470, old 0x0, new flags 0x0 --12920-- sync signal handler: signal=10, si_code=65537, EIP=0x4b946ca, eip=0x38071bc6, from kernel --12920-- VALGRIND INTERNAL ERROR: Valgrind received a signal 10 (SIGBUS) - exiting --12920-- si_code=65537; Faulting address: 0x0; sp: 0x40268db88 valgrind: the 'impossible' happened: Killed by fatal signal host stacktrace: ==12920== at 0x38071BC6: ??? (in /usr/home/paulf/scratch/valgrind/none/none-amd64-freebsd) ==12920== by 0x38071C61: ??? (in /usr/home/paulf/scratch/valgrind/none/none-amd64-freebsd) ==12920== by 0x3801D2F1: ??? (in /usr/home/paulf/scratch/valgrind/none/none-amd64-freebsd) ==12920== by 0xDEADBEEFDEADBEEE: ??? |