Bug #2372
closedsegfault correct detection failure
Description
The package devel/libsigsegv fails its final diagnostic test on DragonFly.
For information, this does pass on FreeBSD 9.
To repeat:
cd /usr/pkgsrc/devel/libsigsegv
bmake
cd ${WRKOBJDIR}/devel/libsigsegv/work/libsigsegv-2.10/
gmake check
The output of the fifth test (out of five) should be: | Starting recursion pass 1. | Stack overflow 1 caught. | Starting recursion pass 2. | Stack overflow 2 caught. | Segmentation violation correctly detected. | Segmentation violation correctly detected. | Test passed. | PASS: stackoverflow2
The actual output is: | Starting recursion pass 1. | Stack overflow 1 caught. | Starting recursion pass 2. | Stack overflow 2 caught. | Segmentation violation misdetected as stack overflow. | Test passed. | FAIL: stackoverflow2
The code of the test is here:
http://fossies.org/dox/libsigsegv-2.10/stackoverflow2_8c_source.html
What seems to be happening is that when the stack is exhausted, accessing an illegal memory location triggers the stack overflow handler before the sigsegv handler. I think it's a DragonFly bug.
Updated by tuxillo over 2 years ago
- Description updated (diff)
- Category set to Other
- Status changed from New to Closed
- Assignee set to tuxillo
We no longer use pkgsrc but in dports we got:
$ sudo make -DBATCH test ===> Testing for libsigsegv-2.14 Making check in src Making check in tests /usr/bin/make check-TESTS PASS: test-catch-segv1 PASS: test-catch-segv2 PASS: test-segv-dispatcher1 PASS: test-catch-stackoverflow1 PASS: test-catch-stackoverflow2 ============================================================================ Testsuite summary for libsigsegv 2.14 ============================================================================ # TOTAL: 5 # PASS: 5 # SKIP: 0 # XFAIL: 0 # FAIL: 0 # XPASS: 0 # ERROR: 0 ============================================================================ Please send the following summary line via email to the main author Bruno Haible <bruno@clisp.org> for inclusion into the list of successfully tested platforms (see PORTING file). libsigsegv: x86_64-portbld-dragonfly6.3 | yes | yes | 2.14 Then please type 'make install' to install the package.