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
> 
> 

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to