Should be fixed now. Tough one, fortunately unlikely to affect most people: for some threading models, upgraded connections didn't call the per-request clean up function, and for all multi-threaded models during daemon stop, we might call the per-request clean up function for not-yet-finished connections from a different thread (namely the main thread instead of the worker). Testcase checked for that, and aborted... ;-). -Christian
On 02/28/2018 09:46 AM, Tim Rühsen wrote: > Reported by Gitlab CI and reproducible here (amd64): > > $ ./bootstrap && ./configure --enable-asserts && make clean > > $ TESTS_ENVIRONMENT="valgrind --trace-children=yes" make check > > > src/microhttpd/test_upgrade.c FAILs, log file contains: > > ==2363== Process terminating with default action of signal 6 (SIGABRT) > ==2363== at 0x561C6A0: raise (raise.c:51) > ==2363== by 0x561DCF6: abort (abort.c:90) > ==2363== by 0x10A1E1: notify_completed_cb (test_upgrade.c:457) > ==2363== by 0x51A8A45: MHD_connection_close_ (connection.c:950) > ==2363== by 0x51B33D6: resume_suspended_connections (daemon.c:2793) > ==2363== by 0x51BA34A: MHD_stop_daemon (daemon.c:6342) > ==2363== by 0x10AEE5: test_upgrade (test_upgrade.c:1090) > ==2363== by 0x10B43D: main (test_upgrade.c:1240) > > > With Best Regards, Tim > >
signature.asc
Description: OpenPGP digital signature