win7 mingw build sometimes causes child process to hang CreateFileW call while in MakeUnique<ContentProcess>
Categories
(Core :: DOM: Content Processes, defect, P3)
Tracking
()
People
(Reporter: kats, Unassigned)
References
(Blocks 1 open bug)
Details
Backstory: when Botond tried landing bug 1611660, it caused a spike in win7 mingw reftest timeouts. See bug 1611660 comment 40 for a sample try push. I've been doing try pushes with additional logging to track this down, and the timeouts are caused by the content process simply hanging at various points. I've done many try pushes with lots of printfs to bisect exactly where the hangs are.
This bug is specifically about the content process hanging at this block of code. See e.g. the output in this try push where the last line logged comes from this printf and the next one after the MakeUnique<ContentProcess>
doesn't show up in the log.
I'll do more try pushes to narrow this down further, and file other bugs for other hang points as I identify them.
Reporter | ||
Comment 1•5 years ago
|
||
The ContentProcess
constructor is here and just delegates to the superclass ProcessChild
constructor here. This constructor creates an IOThreadChild
(constructor here).
Based on logging in this try push indicates that it successfully completes running the IOThreadChild
constructor, but never gets around to running the ProcessChild
constructor. Specifically the printf here is in the log while the printf here is not. So presumably this means the hang happens inside the ChildProcess constructor where the only real thing that happens is calling the Run()
method on the IOThreadChild
thing.
Reporter | ||
Comment 2•5 years ago
|
||
Per new try push, it's hanging in this call to startup_data.event.Wait()
, so I guess when the thread starts up it never gets around to the Signal call.
Reporter | ||
Comment 3•5 years ago
|
||
Per new try push, the thread being started gets stuck in the Init()
call. Given that this is a ChildThread
instance, the Init()
implementation is here and consists of making an IPC channel.
Reporter | ||
Comment 4•5 years ago
|
||
Finally, this try push indicates that the hang is happening at this call to CreateFileW
. The printf before the if
condition gets logged, and the printf after does not.
Reporter | ||
Updated•5 years ago
|
Reporter | ||
Updated•5 years ago
|
Updated•4 years ago
|
Comment 6•4 years ago
|
||
(In reply to Chris Peterson [:cpeterson] from comment #5)
Does Tor Browser use mingw?
Yes, Tor Browser on Windows is built with mingw-clang very similarly to our builds here.
Comment hidden (Intermittent Failures Robot) |
Description
•