Trouble running on Windows 10: out\Release\chrome_child.dll: A dynamic link library (DLL) initialization routine failed. (0x45A)

182 views
Skip to first unread message

Demetrios Tsillas

unread,
Apr 2, 2016, 8:17:24 PM4/2/16
to Chromium-dev
The same image runs fine on Windows 7 but is failing on Windows 10. The browser starts but I get blank window with all the controls and bookmarks. After a while I get a small sad face dialog asking if I want to kill or wait. The debug.log has the message I copied into the Subject.

I tried passing a flag to wait for dialog on startup and to wait for debugger but it really appears like the child process is not even starting. The build completed fine with no errors or warnings. Using Visual Studio 2013 update 5.

Appreciate any suggestions on how I can debug this.

thanks!!!
-Jim.

Bruce

unread,
Apr 4, 2016, 1:38:36 PM4/4/16
to Chromium-dev
What version of Chrome are you building? VS 2015 is strongly recommended (will probably soon be required) for building Chromium.

You might want to try running under windbg in order to automatically attach to child processes. Something like this perhaps:

    windbg -g -G -o out\Release\chrome.exe

This says to ignore the process start/end breakpoints and to debug all child processes. You can then watch for crashes and for debug output to see if any clues appear. Be sure to set the symbol path (File-> Symbol File Path) to something like this:

    SRV*c:\Symbols*https://msdl.microsoft.com/download/symbols;SRV*c:\Symbols*https://chromium-browser-symsrv.commondatastorage.googleapis.com

Demetrios Tsillas

unread,
Apr 4, 2016, 6:11:10 PM4/4/16
to Chromium-dev
I am using 2013 update 5. I've tried using 2015 but have run into some problems.

I'm trying a git bisect now to figure out where the problem was introduced.

I've never used windbg but I will look into it.

thanks!

Bruce Dawson

unread,
Apr 4, 2016, 6:28:21 PM4/4/16
to jtsi...@gmail.com, Chromium-dev
Please let us know what problems you ran into with VS 2015. VS 2015 Update 2 will probably be required soon and if there are problems with using it then it would be great to understand and resolve those issues.

--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev
---
You received this message because you are subscribed to a topic in the Google Groups "Chromium-dev" group.
To unsubscribe from this topic, visit https://groups.google.com/a/chromium.org/d/topic/chromium-dev/pHArkHYiCIg/unsubscribe.
To unsubscribe from this group and all its topics, send an email to chromium-dev...@chromium.org.

Demetrios Tsillas

unread,
Apr 4, 2016, 9:56:12 PM4/4/16
to Chromium-dev, jtsi...@gmail.com
The bisect worked. The problem was a global initializer:

base::Time start_time = base::Time::Now();

this actually worked on Windows 7 but on Windows 10 it seems to fail unless you are lucky. Probably some object is not yet initialized in base::Time or the underlying system.

My code is based on 49.0.2623.105.

The problem with MSVS 2015 starts in the python lib which sets vs vars according to what version it detects is installed.

I had trouble with gclient runhooks until I added an empty vcvarsall.bat in C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC.

I also had to set GYP_MSVS_VERSION=2015.

With this I was able to complete gclient runhooks but I ran into a problem when I tried ninja -C out/Release:

/e/Work/49.0.2623.105/src$ ninja -C out/Release
ninja: Entering directory `out/Release'
[10/32507] CXX obj\third_party\pdfium\core\src\fpdfdoc\fpdfdoc.doc_basic.obj
FAILED: ninja -t msvc -e environment.x86 -- "" /nologo /showIncludes /FC @obj\third_party\pdfium\core\src\fpdfdoc\fpdfdoc.doc_basic.obj.rsp /c ..\..\third_party\pdfium\core\src\fpdfdoc\doc_basic.cpp /Foobj\third_party\pdfium\core\src\fpdfdoc\fpdfdoc.doc_basic.obj
/Fdobj\third_party\pdfium\fpdfdoc.cc.pdb
ninja: fatal: CreateProcess: The parameter is incorrect.

At this point I gave up on 2015 and went back to 2013. I am happy to try any fixes to this problem.

thanks!!!
-Jim.

Avi Drissman

unread,
Apr 4, 2016, 10:05:33 PM4/4/16
to jtsi...@gmail.com, Chromium-dev
If you mean static initialization, that's banned in Chrome code, and that shouldn't be in there. What file is that in?

We should remove it if so.

Avi

Demetrios Tsillas

unread,
Apr 4, 2016, 10:15:18 PM4/4/16
to Chromium-dev, jtsi...@gmail.com
No this was my code, not chrome :)

Yes I can see why it is banned (good idea).

Bruce

unread,
Apr 5, 2016, 1:32:19 PM4/5/16
to Chromium-dev, jtsi...@gmail.com
It is expected that VS 2015 would not work on 49.0 versions of Chromium so you should continue using VS 2013.
Reply all
Reply to author
Forward
0 new messages