View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0004844 | libmicrohttpd | build system | public | 2016-12-20 18:04 | 2017-04-12 00:00 |
| Reporter | michelmno | Assigned To | Christian Grothoff | ||
| Priority | normal | Severity | minor | Reproducibility | random |
| Status | closed | Resolution | fixed | ||
| Platform | ppc64le | OS | openSUSE | OS Version | Tumbleweed |
| Product Version | 0.9.52 | ||||
| Target Version | 0.9.53 | Fixed in Version | 0.9.53 | ||
| Summary | 0004844: libmicrohttp test_upgrade_ssl random failure | ||||
| Description | libmicrohttp test_upgrade_ssl random failure with reported lines: === [ 40s] PASS: test_upgrade [ 43s] ../../test-driver: line 107: 6672 Aborted "$@" > $log_file 2>&1 [ 43s] FAIL: test_upgrade_ssl === test_upgrade_ssl.log last lines: === depth=0 CN = test_ca_cert verify error:num=21:unable to verify the first certificate verify return:1 DONE Fatal error in GNU libmicrohttpd daemon.c:5190: MHD_stop_daemon() called while we have suspended connections. FAIL test_upgrade_ssl (exit status: 134) === | ||||
| Steps To Reproduce | * on a PowerPC ppc64le host retrieve the last libmicrohttpd version 0.9.52 available in openSUSE OBS environment. * and try to build in loop until build failure: === $osc co openSUSE:Factory:PowerPC libmicrohttpd $cd openSUSE:Factory:PowerPC/libmicrohttpd $idx=1; while test 1; do echo "trial $idx" ; osc build || quit; ((idx++)); done === | ||||
| Tags | No tags attached. | ||||
|
|
oups sorry, forget the lines I appended for Steps to Reprocude, correct ones are: * on a PowerPC ppc64le host retrieve the last libmicrohttpd version 0.9.52 available in openSUSE OBS environment. * and try to build in loop until build failure: === $osc co openSUSE:Factory:PowerPC libmicrohttpd $cd openSUSE:Factory:PowerPC/libmicrohttpd $idx=1; while test 1 ; do echo "=== trial: $idx"; osc build --vm-type kvm >/tmp/x 2>&1 || break; ((idx++)); done === |
|
|
gdb output with generated core dump confirm that dump related to daemon.c:5190: MHD_stop_daemon() called while we have suspended connections. So how to close this timing window ? === abuild@abanc:~> gdb -c /tmp/core.test_upgrade_ss.399.9866bd9ce5114a05acb80fbeff5f23d5.66982.1482327100000000 rpmbuild/BUILD/libmicrohttpd-0.9.52/src/microhttpd/.libs/test_upgrade_ssl GNU gdb (GDB; openSUSE Tumbleweed) 7.11.1 Copyright (C) 2016 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "ppc64le-suse-linux". Type "show configuration" for configuration details. For bug reporting instructions, please see: <http://bugs.opensuse.org/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from rpmbuild/BUILD/libmicrohttpd-0.9.52/src/microhttpd/.libs/test_upgrade_ssl...done. warning: core file may not match specified executable file. [New LWP 66982] warning: Could not load shared library symbols for linux-vdso64.so.1. Do you need "set solib-search-path" or "set sysroot"? [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". Core was generated by `/home/abuild/rpmbuild/BUILD/libmicrohttpd-0.9.52/src/microhttpd/.libs/test_upgr'. Program terminated with signal SIGABRT, Aborted. #0 0x00003fff8b30dc60 in __libc_signal_restore_set (set=0x3fffc85dd610) at ../sysdeps/unix/sysv/linux/nptl-signals.h:79 79 ../sysdeps/unix/sysv/linux/nptl-signals.h: No such file or directory. (gdb) bt #0 0x00003fff8b30dc60 in __libc_signal_restore_set (set=0x3fffc85dd610) at ../sysdeps/unix/sysv/linux/nptl-signals.h:79 #1 __GI_raise (sig=<optimized out>) at ../sysdeps/unix/sysv/linux/raise.c:55 #2 0x00003fff8b30fd14 in __GI_abort () at abort.c:78 #3 0x00003fff8b51a5d4 in mhd_panic_std (cls=<optimized out>, file=<optimized out>, line=<optimized out>, reason=<optimized out>) at daemon.c:112 #4 0x00003fff8b51bd8c in close_all_connections (daemon=0x10021656b30) at daemon.c:5190 #5 0x00003fff8b51ffc8 in MHD_stop_daemon (daemon=0x10021656b30) at daemon.c:5391 #6 0x00000000100022ec in test_upgrade (flags=9224, pool=0) at test_upgrade_ssl.c:152 #7 0x0000000010001298 in main (argc=<optimized out>, argv=<optimized out>) at test_upgrade_ssl.c:181 (gdb) === |
|
|
Seems that OpenSSL 1.1 no longer likes "0" for the verify option, but requires at least "1". I've changed our code accordingly, works here. |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2016-12-20 18:04 | michelmno | New Issue | |
| 2016-12-20 18:12 | michelmno | Note Added: 0011601 | |
| 2016-12-21 16:37 | michelmno | Note Added: 0011602 | |
| 2017-01-29 01:05 | Christian Grothoff | Status | new => acknowledged |
| 2017-02-14 19:02 | Christian Grothoff | Note Added: 0011758 | |
| 2017-02-14 19:03 | Christian Grothoff | Assigned To | => Christian Grothoff |
| 2017-02-14 19:03 | Christian Grothoff | Status | acknowledged => resolved |
| 2017-02-14 19:03 | Christian Grothoff | Resolution | open => fixed |
| 2017-02-14 19:03 | Christian Grothoff | Fixed in Version | => 0.9.53 |
| 2017-02-14 19:03 | Christian Grothoff | Target Version | => 0.9.53 |
| 2017-04-12 00:00 | Christian Grothoff | Status | resolved => closed |