View Issue Details

IDProjectCategoryView StatusLast Update
0006116libmicrohttpdbuild systempublic2020-06-28 21:57
ReporterbeberkingAssigned Tobeberking 
PrioritynormalSeveritycrashReproducibilityrandom
Status closedResolutionfixed 
Platformamd64OSLinuxOS Version
Product Version0.9.70 
Target VersionFixed in Version 
Summary0006116: test_upgrade_large_tls fails randomly since at least 0.9.66
DescriptionDear Christian, dear MHD maintainers,

Since at least 0.9.66 (but most probably several releases before), test_upgrade_large_tls fails randomly at buildtime with the following message:

FAIL: test_upgrade_large_tls
============================

Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.
Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.
Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.
Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.
Fatal error in GNU libmicrohttpd daemon.c:2943: Failed to lock mutex.

Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.
FAIL test_upgrade_large_tls (exit status: 134)
Steps To Reproducebuild from source several times, allways from clean sources.
TagsNo tags attached.

Activities

Christian Grothoff

2020-03-10 21:15

manager   ~0015442

Interesting. I have not seen this, but looking at the code I suspect the addition of the 'upgrade' feature broke our assumption on that mutex not being needed if we are the 'master' daemon. Now, the problem given the random failure you are reporting and my inability to reproduce is that I cannot be sure that my idea for fixing it actually works...

Assuming you can reasonably reproduce the issue, please try MHD with the patch eeb9c468..70781455 and report back here.

beberking

2020-03-14 18:08

developer   ~0015453

Hi Christian,

Unfortunately, the patch eeb9c468..70781455 doesn't fix the issue.

By the way, I also get the same error regularly with test_upgrade_tls.

Cheers,
Bertrand

Christian Grothoff

2020-03-14 20:24

manager   ~0015454

I've let test_upgrade_tls run for 2h in a loop -- zero failures here. :-(.

beberking

2020-04-19 14:09

developer   ~0015691

Hi Christian,

I am sorry it took me some time to investigate, and unfortunately I did not find great results.

However I found something: the errors only appear when building inside a chroot (as it is done by default for Debian packages). Does it ring a bell to you where the issue could be knowing it is linked to a chroot ?

Cheers,
Bertrand

Christian Grothoff

2020-04-19 14:34

manager   ~0015692

Hmm. It is a TLS-test, so my best guess is that maybe in the chroot the CA roots that say libcurl may like to read are unavailable? Not sure how this would result in a non-deterministic failure though. The MHD code itself couldn't really care about being in a jail as it doesn't do I/O.

beberking

2020-06-28 08:58

developer   ~0016374

Hi Christian,

I looked again several times, and couldn't find anything new. Moreover, I cannot reproduce the error with the last update of Debian tools.

So I am closing this, sorry for the noise.

Cheers,
Bertrand

Issue History

Date Modified Username Field Change
2020-03-08 09:53 beberking New Issue
2020-03-10 21:15 Christian Grothoff Note Added: 0015442
2020-03-10 21:15 Christian Grothoff Assigned To => beberking
2020-03-10 21:15 Christian Grothoff Status new => feedback
2020-03-14 18:08 beberking Note Added: 0015453
2020-03-14 20:24 Christian Grothoff Note Added: 0015454
2020-04-09 09:50 Christian Grothoff Severity minor => crash
2020-04-19 14:09 beberking Note Added: 0015691
2020-04-19 14:34 Christian Grothoff Note Added: 0015692
2020-06-28 08:58 beberking Note Added: 0016374
2020-06-28 08:59 beberking Status feedback => resolved
2020-06-28 08:59 beberking Resolution open => fixed
2020-06-28 21:57 Christian Grothoff Status resolved => closed