-
Notifications
You must be signed in to change notification settings - Fork 81
Function marked as IO-only was called from a thread that disallows IO #263
Comments
As a more general comment, I think it would be useful if the debug build of electron included a version of libchromiumcontent and brightray built in debug mode. There are a number of useful checks, including many related to thread-safety, that I would expect developers working on electron to want to have enabled. |
Hi @geoff-addepar, I definitely like your idea about having debug builds available for libcc and brightray. I think the component builds are build with debugging information, but I'd want to confirm that. Regarding your posted issue, did you build chromium using libchromiumcontent or another way? The libcc build process patches chromium. |
I built a debug version of libchromiumcontent, and used that to build a debug version of electron/brightray. Note that "with debugging information" (i.e. symbols) is different from what I want: I want builds where DCHECK is implemented, NDEBUG is not defined, and things like CHROME_IPC_LOGGING work. The additional checks available in this type of build help find bugs earlier in the development cycle. Building this required a few changes to libcc:
Then I followed the instructions in the last comment of electron/electron#2023 to make my electron build pick up my modified binaries. Two things to note:
On the electron side, I also had to make a few changes just to get it to build:
And in vendor/brightray:
Once you've done all that, you can start up Note that this bug is not the only problem that shows up when running a debug build. If you get past that issue, here are the next three you will hit:
|
I built electron against a debug build of chromium, and running electron with no arguments yields the following assertion failure:
Yes, this is the "IO" thread, but it's not supposed to do any actual I/O. See BrowserProcessSubThread::Init.
Chrome/Chromium gets the locale from disk only once during startup, and doesn't call l10n_util::GetApplicationLocale after that point.
The text was updated successfully, but these errors were encountered: