e10s: /netwerk/test/unit_ipc/* fails on windows 7

RESOLVED FIXED

Status

()

Core
IPC
RESOLVED FIXED
8 years ago
8 years ago

People

(Reporter: Jae-Seong Lee-Russo, Assigned: jimm)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(2 attachments, 1 obsolete attachment)

4.31 KB, text/plain
Details
fix
4.30 KB, patch
Benjamin Smedberg
: review+
Details | Diff | Splinter Review
(Reporter)

Description

8 years ago
Created attachment 448654 [details]
call stack

The tests ran fine until c8ab59eecb0d (http://hg.mozilla.org/projects/electrolysis/rev/6d50282f6b60).

http://hg.mozilla.org/projects/electrolysis/rev/6d50282f6b60 seems to cause the problem, assuming there is no e10s check-ins between the two changesets.

$ make SOLO_FILE="test_simple_wrap.js" -C obj-i686-pc-mingw32/netwerk/test/ che
ck-interactive

js> _execute_test()
TEST-INFO | (xpcshell/head.js) | test 1 pending
WARNING: Connect called twice: file c:/Users/jslr/mozilla-build/e10s/ipc/chromium/src/chrome/common/ipc_channel_win.cc, line 178
###!!! ASSERTION: Using observer service off the main thread!: 'Error', file c:/Users/jslr/mozilla-build/e10s/xpcom/ds/nsObserverService.cpp, line 128
parent: TEST-INFO | (xpcshell/head.js) | test 2 pending
parent: TEST-INFO | (xpcshell/head.js) | test 2 finished
parent: TEST-INFO | (xpcshell/head.js) | running event loop
xul!nsBaseAppShell::Init+0x00000000000000F7 (c:\users\jslr\mozilla-build\e10s\widget\src\xpwidgets\nsbaseappshell.cpp, line 88)
xul!nsAppShell::Init+0x000000000000013A (c:\users\jslr\mozilla-build\e10s\widget\src\windows\nsappshell.cpp, line 161)
xul!nsAppShellInit+0x000000000000008D (c:\users\jslr\mozilla-build\e10s\widget\src\xpwidgets\nsappshellsingleton.h, line 74)
xul!nsGenericModule::Initialize+0x000000000000002E (c:\users\jslr\mozilla-build\e10s\obj-i686-pc-mingw32\xpcom\build\nsgenericfactory.cpp, line 273)
xul!nsGenericModule::GetClassObject+0x0000000000000034 (c:\users\jslr\mozilla-build\e10s\obj-i686-pc-mingw32\xpcom\build\nsgenericfactory.cpp, line 361)
xul!nsFactoryEntry::GetFactory+0x0000000000000268 (c:\users\jslr\mozilla-build\e10s\xpcom\components\nscomponentmanager.cpp, line 3688)
xul!nsComponentManagerImpl::CreateInstanceByContractID+0x00000000000000A0 (c:\users\jslr\mozilla-build\e10s\xpcom\components\nscomponentmanager.cpp, line 1677)
xul!nsComponentManagerImpl::GetServiceByContractID+0x00000000000002E6 (c:\users\jslr\mozilla-build\e10s\xpcom\components\nscomponentmanager.cpp, line 2249)
xul!CallGetService+0x000000000000004D (c:\users\jslr\mozilla-build\e10s\obj-i686-pc-mingw32\xpcom\build\nscomponentmanagerutils.cpp, line 95)
xul!nsGetServiceByContractID::operator()+0x000000000000001F (c:\users\jslr\mozilla-build\e10s\obj-i686-pc-mingw32\xpcom\build\nscomponentmanagerutils.cpp, line
278)
xul!nsCOMPtr<nsIWinTaskbar>::assign_from_gs_contractid+0x0000000000000018 (c:\users\jslr\mozilla-build\e10s\obj-i686-pc-mingw32\dist\include\nscomptr.h, line 1229)
xul!nsCOMPtr<nsIWinTaskbar>::nsCOMPtr<nsIWinTaskbar>+0x0000000000000033 (c:\users\jslr\mozilla-build\e10s\obj-i686-pc-mingw32\dist\include\nscomptr.h, line 605)
xul!mozilla::ipc::GeckoChildProcessHost::PerformAsyncLaunch+0x0000000000000342 (c:\users\jslr\mozilla-build\e10s\ipc\glue\geckochildprocesshost.cpp, line 277)
xul!DispatchToMethod<mozilla::ipc::GeckoChildProcessHost,bool (__thiscall mozilla::ipc::GeckoChildProcessHost::*)(std::vector<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_traits<char>,std+0x0000000000000023 (c:\users\jslr\mozilla-build\e10s\ipc\chromium\src\base\tuple.h, line 394)
xul!RunnableMethod<mozilla::ipc::GeckoChildProcessHost,bool (__thiscall mozilla::ipc::GeckoChildProcessHost::*)(std::vector<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_traits<char>,std::+0x000000000000002E (c:\users\jslr\mozilla-build\e10s\ipc\chromium\src\base\task.h, line 307)
xul!MessageLoop::RunTask+0x000000000000004E (c:\users\jslr\mozilla-build\e10s\ipc\chromium\src\base\message_loop.cc, line 337)
xul!MessageLoop::DeferOrRunPendingTask+0x000000000000002E (c:\users\jslr\mozilla-build\e10s\ipc\chromium\src\base\message_loop.cc, line 347)
xul!MessageLoop::DoWork+0x00000000000000CD (c:\users\jslr\mozilla-build\e10s\ipc\chromium\src\base\message_loop.cc, line 444)
xul!base::MessagePumpForIO::DoRunLoop+0x0000000000000021 (c:\users\jslr\mozilla-build\e10s\ipc\chromium\src\base\message_pump_win.cc, line 446)
xul!base::MessagePumpWin::RunWithDispatcher+0x000000000000005F (c:\users\jslr\mozilla-build\e10s\ipc\chromium\src\base\message_pump_win.cc, line 54)
xul!base::MessagePumpWin::Run+0x0000000000000015 (c:\users\jslr\mozilla-build\e10s\ipc\chromium\src\base\message_pump_win.h, line 78)
xul!MessageLoop::RunInternal+0x0000000000000056 (c:\users\jslr\mozilla-build\e10s\ipc\chromium\src\base\message_loop.cc, line 217)
xul!MessageLoop::RunHandler+0x0000000000000082 (c:\users\jslr\mozilla-build\e10s\ipc\chromium\src\base\message_loop.cc, line 200)
xul!MessageLoop::Run+0x0000000000000043 (c:\users\jslr\mozilla-build\e10s\ipc\chromium\src\base\message_loop.cc, line 174)
xul!base::Thread::ThreadMain+0x00000000000000CA (c:\users\jslr\mozilla-build\e10s\ipc\chromium\src\base\thread.cc, line 159)
xul!`anonymous namespace'::ThreadFunc+0x0000000000000017 (c:\users\jslr\mozilla-build\e10s\ipc\chromium\src\base\platform_thread_win.cc, line 27)
kernel32!BaseThreadInitThunk+0x0000000000000012
ntdll!RtlInitializeExceptionChain+0x0000000000000063
ntdll!RtlInitializeExceptionChain+0x0000000000000036
make: Leaving directory `/c/Users/jslr/mozilla-build/e10s/obj-i686-pc-mingw32/netwerk/test'

Comment 1

8 years ago
Looks like bug 563381 is on the hook here.
Depends on: 563381
(Reporter)

Comment 2

8 years ago
(In reply to comment #1)
> Looks like bug 563381 is on the hook here.

Josh is right.  Without bug 563381, I don't see the ###!!! ASSERTION error.

By the way, saying "The tests ran fine until c8ab59eecb0d" was incorrect, but that is a different bug (564464).

Updated

8 years ago
Duplicate of this bug: 575949

Comment 4

8 years ago
jimm: My suspicion is that the GetService call doesn't have this problem in plugin-container because XPCOM is disabled, so it doesn't end up creating an appshell.  Unfortunately, that's not the case in the content process and we assert hard.
(Assignee)

Updated

8 years ago
Assignee: nobody → jmathies
(Assignee)

Comment 5

8 years ago
Created attachment 455251 [details] [diff] [review]
fix
(Assignee)

Comment 6

8 years ago
Created attachment 455266 [details] [diff] [review]
fix
Attachment #455251 - Attachment is obsolete: true
Attachment #455266 - Flags: review?(benjamin)

Updated

8 years ago
Attachment #455266 - Flags: review?(benjamin) → review+

Comment 7

8 years ago
http://hg.mozilla.org/projects/electrolysis/rev/ff63836f5fca
Status: NEW → RESOLVED
Last Resolved: 8 years ago
Resolution: --- → FIXED
Windows build busted:
http://tinderbox.mozilla.org/showlog.cgi?log=Electrolysis/1277949047.1277950782.23088.gz

e:\builds\moz2_slave\electrolysis-win32\build\obj-firefox\dist\include\mozilla/mozalloc.h(224) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
e:\builds\moz2_slave\electrolysis-win32\build\obj-firefox\dist\include\mozilla/mozalloc.h(236) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
D:\msvs8\VC\INCLUDE\typeinfo(139) : warning C4275: non dll-interface class 'stdext::exception' used as base for dll-interface class 'std::bad_cast'
        D:\msvs8\VC\INCLUDE\exception(241) : see declaration of 'stdext::exception'
        D:\msvs8\VC\INCLUDE\typeinfo(138) : see declaration of 'std::bad_cast'
D:\msvs8\VC\INCLUDE\typeinfo(160) : warning C4275: non dll-interface class 'stdext::exception' used as base for dll-interface class 'std::bad_typeid'
        D:\msvs8\VC\INCLUDE\exception(241) : see declaration of 'stdext::exception'
        D:\msvs8\VC\INCLUDE\typeinfo(159) : see declaration of 'std::bad_typeid'
e:\builds\moz2_slave\electrolysis-win32\build\ipc\glue\GeckoChildProcessHost.h(101) : error C2146: syntax error : missing ';' before identifier 'mGroupId'
e:\builds\moz2_slave\electrolysis-win32\build\ipc\glue\GeckoChildProcessHost.h(101) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
e:\builds\moz2_slave\electrolysis-win32\build\ipc\glue\GeckoChildProcessHost.h(101) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
e:/builds/moz2_slave/electrolysis-win32/build/ipc/glue/GeckoChildProcessHost.cpp(123) : error C2065: 'mGroupId' : undeclared identifier
e:/builds/moz2_slave/electrolysis-win32/build/ipc/glue/GeckoChildProcessHost.cpp(123) : error C2228: left of '.Assign' must have class/struct/union
        type is ''unknown-type''
e:/builds/moz2_slave/electrolysis-win32/build/ipc/glue/GeckoChildProcessHost.cpp(124) : error C2228: left of '.Append' must have class/struct/union
        type is ''unknown-type''
e:/builds/moz2_slave/electrolysis-win32/build/ipc/glue/GeckoChildProcessHost.cpp(125) : error C2228: left of '.Append' must have class/struct/union
        type is ''unknown-type''
e:/builds/moz2_slave/electrolysis-win32/build/ipc/glue/GeckoChildProcessHost.cpp(127) : error C2228: left of '.AssignLiteral' must have class/struct/union
        type is ''unknown-type''
e:/builds/moz2_slave/electrolysis-win32/build/ipc/glue/GeckoChildProcessHost.cpp(323) : error C2228: left of '.get' must have class/struct/union
        type is ''unknown-type''
make[5]: Leaving directory `/e/builds/moz2_slave/electrolysis-win32/build/obj-firefox/ipc/glue'
make[4]: Leaving directory `/e/builds/moz2_slave/electrolysis-win32/build/obj-firefox/ipc'
make[3]: Leaving directory `/e/builds/moz2_slave/electrolysis-win32/build/obj-firefox'
make[2]: Leaving directory `/e/builds/moz2_slave/electrolysis-win32/build/obj-firefox'
make[1]: Leaving directory `/e/builds/moz2_slave/electrolysis-win32/build/obj-firefox'
make[5]: *** [GeckoChildProcessHost.obj] Error 2
make[4]: *** [libs] Error 2
make[3]: *** [libs_tier_platform] Error 2
make[2]: *** [tier_platform] Error 2
make[1]: *** [default] Error 2
make: *** [build] Error 2
program finished with exit code 2
elapsedTime=724.032000
(Assignee)

Comment 9

8 years ago
http://hg.mozilla.org/projects/electrolysis/rev/0933f24ff700

re-pushed with headers only release builds needed.
You need to log in before you can comment on or make changes to this bug.