protoc.exe crashes while building on Win10

253 views
Skip to first unread message

Raymond Toy

unread,
Feb 13, 2018, 11:54:32 AM2/13/18
to chromium-dev
I don't build too often on windows, but decided I need to update my tree.  I did the normal git pull --rebase; gclient sync -D; This all works as expected.  Then I did ninja -C out/Release -j 500 chrome.exe blink_tests

This starts compiling, but after a bit, I get popups that protoc.exe has stopped working. Close or debug the progrem.

In the terminal window I see things like:

[34/32000] ACTION //chrome/browser:conflicts_module_list_proto_gen(//build/toolchain/win:win_clang_x64)
FAILED: gen/chrome/browser/conflicts/proto/module_list.pb.h gen/chrome/browser/conflicts/proto/module_list.pb.cc pyproto
/chrome/browser/conflicts/proto/module_list_pb2.py
C:/python_27_amd64/files/python.exe ../../tools/protoc_wrapper/protoc_wrapper.py module_list.proto --protoc ./protoc.exe
 --proto-in-dir ../../chrome/browser/conflicts/proto --cc-out-dir gen/chrome/browser/conflicts/proto --py-out-dir pyprot
o/chrome/browser/conflicts/proto
Protoc has returned non-zero status: -1073740791 .

What am I doing wrong now?

Xi Cheng

unread,
Feb 13, 2018, 12:14:19 PM2/13/18
to rt...@google.com, chromium-dev
It occurred to me days ago too.

I worked it around by using a clean build directory, i.e., gn gen new_folder

Btw, protoc.exe is in the build directory. 



--
--
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 the Google Groups "Chromium-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev+unsubscribe@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/CAE3TgXE7h-obxVSB1W9OZu9ALkCjPebi%2B1oKFDd-%2B9Te%2BzXmfQ%40mail.gmail.com.

Raymond Toy

unread,
Feb 13, 2018, 12:30:47 PM2/13/18
to Xi Cheng, chromium-dev
Hmm. I did a gn gen clean before running ninja.  Let me blow away the existing directory and start over....

Primiano Tucci

unread,
Feb 13, 2018, 1:53:06 PM2/13/18
to rt...@google.com, bruce...@chromium.org, Xi Cheng, chromium-dev
this seems related with crbug.com/644525, which got fixed very recenty.

To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev...@chromium.org.

--
--
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 the Google Groups "Chromium-dev" group.

Daniel Bratell

unread,
Feb 13, 2018, 1:58:38 PM2/13/18
to Xi Cheng, 'Raymond Toy' via Chromium-dev, rt...@google.com, bruce...@chromium.org
Interesting and a bit scary. The protoc.exe problem has been there randomly for years but two weeks ago Bruce Dawson landed a workaround after some amazing detective work identifying it as a likely bug in the Windows kernel (see https://crbug.com/644525 ).

And it seems to be fixed looking at official builds, so nobody should get that protoc.exe crash anymore, and still you got it. That is a the scary part.

I hope you two got the crashes when compiling trees older than two weeks or there is something new and unknown here.

The problem seems to be that the build system builds protoc.exe and tries to execute it immediately, but then memory pages from the binary are missing. Possibly only happening on dual cpu systems.

/Daniel
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev...@chromium.org.
--
--
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 the Google Groups "Chromium-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/CAE3TgXG_DSdjQtnrhLuPavY0jCOgn%3Dy4Jd%2Bm1ZVmXRTeQg19XA%40mail.gmail.com.



--
/* Opera Software, Linköping, Sweden: CET (UTC+1) */

Raymond Toy

unread,
Feb 13, 2018, 1:59:37 PM2/13/18
to Daniel Bratell, Xi Cheng, 'Raymond Toy' via Chromium-dev, bruce...@chromium.org
The tree was from this morning.

But I deleted all of my out/* directories, did a gn arg out/Release, and rebuilt.  Everything built now without the protoc error.


To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev+unsubscribe@chromium.org.
--
--
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 the Google Groups "Chromium-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev+unsubscribe@chromium.org.

Bruce Dawson

unread,
Feb 13, 2018, 2:13:32 PM2/13/18
to Daniel Bratell, Xi Cheng, 'Raymond Toy' via Chromium-dev, Raymond Toy
That error code is 0xC0000409 whereas bug 644525 tended to give 0xC00000005. So, probably unrelated. crbug.com/803617 tracks printing those error codes in hex so that they are more easily distinguishable.

I don't suppose you had local crash dump reporting configured did you? If you did then there will be crash dumps in %localappdata%\crashdumps and those could be informative.

If not then you (and, honestly, every Windows developer) should enable local crash dump reporting, as explained here:


I use this wercrashdumps.reg file:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps]
"DumpCount"=dword:0000000a
"DumpType"=dword:00000002

Note that these settings get wiped out twice a year by Windows upgrades. Sigh...

I've been monitoring the Google Chrome Win builder which used to hit 644525 on ~1.6% of builds and it's done 518 builds in a row without this failure (and I've done ~1,000 local builds without it, those used to have a 3-4% failure rate). So it's clear that bug 644525 is fixed, or way lower frequency.

0xC0000409 is STATUS_STACK_BUFFER_OVERRUN which is mysterious but probably something different?

For future reference the best steps if anyone encounters this again is to save the .exe, .pdb, and the crash dumps (see WER steps above) so we can do a proper analysis.

Thanks for reporting.


On Tue, Feb 13, 2018 at 10:56 AM, Daniel Bratell <bra...@opera.com> wrote:
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev+unsubscribe@chromium.org.
--
--
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 the Google Groups "Chromium-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev+unsubscribe@chromium.org.

Raymond Toy

unread,
Feb 13, 2018, 2:34:59 PM2/13/18
to Bruce Dawson, Daniel Bratell, Xi Cheng, 'Raymond Toy' via Chromium-dev
Sorry, I didn't have crash dump reporting enabled. I'll enable it now so I'll have until the next Window's upgrade.

Bruce Dawson

unread,
Feb 14, 2018, 6:21:44 PM2/14/18
to Raymond Toy, Daniel Bratell, Xi Cheng, 'Raymond Toy' via Chromium-dev
I investigated another report of this and I think I know what is happening. I filed crbug.com/812421 and I think I know why we recently started seeing these failures, and how to avoid them.
Reply all
Reply to author
Forward
0 new messages