Open Bug 1324188 Opened 8 years ago Updated 2 years ago

Intermittent PROCESS-CRASH | Main app process exited normally | application crashed [@ js::ctypes::ConvertToJS] after toolkit/components/thumbnails/test/browser_thumbnails_update.js

Categories

(Core :: js-ctypes, defect, P3)

defect

Tracking

()

People

(Reporter: aryx, Unassigned)

References

(Blocks 2 open bugs)

Details

(Keywords: intermittent-failure)

https://treeherder.mozilla.org/logviewer.html#?job_id=8056246&repo=autoland

00:04:52     INFO - TEST-INFO | Main app process: exit 0
00:04:52     INFO - runtests.py | Application ran for: 0:01:20.203000
00:04:52     INFO - zombiecheck | Reading PID log: c:\users\cltbld~1.t-w\appdata\local\temp\tmpcwdvnbpidlog
00:04:52     INFO - ==> process 3604 launched child process 3276 ("C:\slave\test\build\application\firefox\firefox.exe" -contentproc --channel="3604.0.120818088\625614531" -greomni "C:\slave\test\build\application\firefox\omni.ja" -appomni "C:\slave\test\build\application\firefox\browser\omni.ja" -appdir "C:\slave\test\build\application\firefox\browser"  3604 "\\.\pipe\gecko-crash-server-pipe.3604" tab)
00:04:52     INFO - ==> process 3604 launched child process 1660 ("C:\slave\test\build\application\firefox\firefox.exe" -contentproc --channel="3604.5.371650485\211618422" -greomni "C:\slave\test\build\application\firefox\omni.ja" -appomni "C:\slave\test\build\application\firefox\browser\omni.ja" -appdir "C:\slave\test\build\application\firefox\browser"  3604 "\\.\pipe\gecko-crash-server-pipe.3604" tab)
00:04:52     INFO - ==> process 3604 launched child process 1572 ("C:\slave\test\build\application\firefox\firefox.exe" -contentproc --channel="3604.10.404988162\73478409" -greomni "C:\slave\test\build\application\firefox\omni.ja" -appomni "C:\slave\test\build\application\firefox\browser\omni.ja" -appdir "C:\slave\test\build\application\firefox\browser"  3604 "\\.\pipe\gecko-crash-server-pipe.3604" tab)
00:04:52     INFO - ==> process 3604 launched child process 1648 ("C:\slave\test\build\application\firefox\firefox.exe" -contentproc --channel="3604.15.444458139\1852861670" -greomni "C:\slave\test\build\application\firefox\omni.ja" -appomni "C:\slave\test\build\application\firefox\browser\omni.ja" -appdir "C:\slave\test\build\application\firefox\browser"  3604 "\\.\pipe\gecko-crash-server-pipe.3604" tab)
00:04:52     INFO - zombiecheck | Checking for orphan process with PID: 3276
00:04:52     INFO - zombiecheck | Checking for orphan process with PID: 1660
00:04:52     INFO - zombiecheck | Checking for orphan process with PID: 1572
00:04:52     INFO - zombiecheck | Checking for orphan process with PID: 1648
00:04:52     INFO - mozcrash Copy/paste: C:\slave\test\build\win32-minidump_stackwalk.exe c:\users\cltbld~1.t-w\appdata\local\temp\tmpg1b_cd.mozrunner\minidumps\f55c35c0-496d-4e80-a155-398653407c19.dmp C:\slave\test\build\symbols
00:04:58     INFO - mozcrash Saved minidump as C:\slave\test\build\blobber_upload_dir\f55c35c0-496d-4e80-a155-398653407c19.dmp
00:04:58     INFO - mozcrash Saved app info as C:\slave\test\build\blobber_upload_dir\f55c35c0-496d-4e80-a155-398653407c19.extra
00:04:58     INFO - PROCESS-CRASH | Main app process exited normally | application crashed [@ js::ctypes::ConvertToJS]
00:04:58     INFO - Crash dump filename: c:\users\cltbld~1.t-w\appdata\local\temp\tmpg1b_cd.mozrunner\minidumps\f55c35c0-496d-4e80-a155-398653407c19.dmp
00:04:58     INFO - Operating system: Windows NT
00:04:58     INFO -                   6.2.9200 
00:04:58     INFO - CPU: amd64
00:04:58     INFO -      family 6 model 30 stepping 5
00:04:58     INFO -      8 CPUs
00:04:58     INFO - 
00:04:58     INFO - GPU: UNKNOWN
00:04:58     INFO - 
00:04:58     INFO - Crash reason:  EXCEPTION_ACCESS_VIOLATION_READ
00:04:58     INFO - Crash address: 0x8
00:04:58     INFO - Assertion: Unknown assertion type 0x00000000
00:04:58     INFO - Process uptime: 2 seconds
00:04:58     INFO - 
00:04:58     INFO - Thread 0 (crashed)
00:04:58     INFO -  0  xul.dll!js::ctypes::ConvertToJS [CTypes.cpp:18a793f65dcd : 3203 + 0x5]
00:04:58     INFO -     rax = 0x0000000000000004   rdx = 0x000007fc24fb0000
00:04:58     INFO -     rcx = 0x000007fc2948b13c   rbx = 0x000000df26267000
00:04:58     INFO -     rsi = 0x0000000000000000   rdi = 0x0000000000000008
00:04:58     INFO -     rbp = 0x000000df1f249a50   rsp = 0x000000df1f249950
00:04:58     INFO -      r8 = 0x000007fc2aa26bb0    r9 = 0x0000000000000008
00:04:58     INFO -     r10 = 0x000000df2bffc0a0   r11 = 0x000000df1f249b60
00:04:58     INFO -     r12 = 0x000000df1f631480   r13 = 0x000000df1f24b378
00:04:58     INFO -     r14 = 0x0000000000000001   r15 = 0x0000000000000000
00:04:58     INFO -     rip = 0x000007fc2948b13c
00:04:58     INFO -     Found by: given as instruction pointer in context
00:04:58     INFO -  1  xul.dll!js::ctypes::PointerType::ContentsGetter(JSContext *,JS::CallArgs const &) [CTypes.cpp:18a793f65dcd : 5342 + 0x2b]
00:04:58     INFO -     rbx = 0x000000df26267000   rbp = 0x000000df1f249a50
00:04:58     INFO -     rsp = 0x000000df1f249ab0   r12 = 0x000000df1f631480
00:04:58     INFO -     r13 = 0x000000df1f24b378   r14 = 0x0000000000000001
00:04:58     INFO -     r15 = 0x0000000000000000   rip = 0x000007fc294898ac
00:04:58     INFO -     Found by: call frame info
00:04:58     INFO -  2  xul.dll!js::ctypes::Property<&js::ctypes::PointerType::IsPointer(JS::Handle<JS::Value>),&js::ctypes::PointerType::ContentsGetter(JSContext *,JS::CallArgs const &)>::Fun(JSContext *,unsigned int,JS::Value *) [CTypes.cpp:18a793f65dcd : 227 + 0x1f]
00:04:58     INFO -     rbx = 0x000000df26267000   rbp = 0x000000df1f249a50
00:04:58     INFO -     rsp = 0x000000df1f249b70   r12 = 0x000000df1f631480
00:04:58     INFO -     r13 = 0x000000df1f24b378   r14 = 0x0000000000000001
00:04:58     INFO -     r15 = 0x0000000000000000   rip = 0x000007fc294977c8
00:04:58     INFO -     Found by: call frame info
00:04:58     INFO -  3  xul.dll!js::CallJSNative(JSContext *,bool (*)(JSContext *,unsigned int,JS::Value *),JS::CallArgs const &) [jscntxtinlines.h:18a793f65dcd : 239 + 0x10]
00:04:58     INFO -     rbx = 0x000000df26267000   rbp = 0x000000df1f249a50
00:04:58     INFO -     rsp = 0x000000df1f249bc0   r12 = 0x000000df1f631480
00:04:58     INFO -     r13 = 0x000000df1f24b378   r14 = 0x0000000000000001
00:04:58     INFO -     r15 = 0x0000000000000000   rip = 0x000007fc29071e63
00:04:58     INFO -     Found by: call frame info
00:04:58     INFO -  4  xul.dll!js::InternalCallOrConstruct(JSContext *,JS::CallArgs const &,js::MaybeConstruct) [Interpreter.cpp:18a793f65dcd : 457 + 0x13]
00:04:58     INFO -     rbx = 0x000000df26267000   rbp = 0x000000df1f249a50
00:04:58     INFO -     rsp = 0x000000df1f249c20   r12 = 0x000000df1f631480
00:04:58     INFO -     r13 = 0x000000df1f24b378   r14 = 0x0000000000000001
00:04:58     INFO -     r15 = 0x0000000000000000   rip = 0x000007fc290829a9
00:04:58     INFO -     Found by: call frame info
00:04:58     INFO -  5  xul.dll!js::CallGetter(JSContext *,JS::Handle<JS::Value>,JS::Handle<JS::Value>,JS::MutableHandle<JS::Value>) [Interpreter.cpp:18a793f65dcd : 635 + 0x42]
00:04:58     INFO -     rbx = 0x000000df26267000   rbp = 0x000000df1f249a50
00:04:58     INFO -     rsp = 0x000000df1f249cc0   r12 = 0x000000df1f631480
00:04:58     INFO -     r13 = 0x000000df1f24b378   r14 = 0x0000000000000001
00:04:58     INFO -     r15 = 0x0000000000000000   rip = 0x000007fc29071d78
00:04:58     INFO -     Found by: call frame info
00:04:58     INFO -  6  xul.dll!CallGetter [NativeObject.cpp:18a793f65dcd : 1809 + 0x18]
00:04:58     INFO -     rbx = 0x000000df26267000   rbp = 0x000000df1f249a50
00:04:58     INFO -     rsp = 0x000000df1f249d60   r12 = 0x000000df1f631480
00:04:58     INFO -     r13 = 0x000000df1f24b378   r14 = 0x0000000000000001
00:04:58     INFO -     r15 = 0x0000000000000000   rip = 0x000007fc2933a21c
00:04:58     INFO -     Found by: call frame info
00:04:58     INFO -  7  xul.dll!GetExistingProperty<1> [NativeObject.cpp:18a793f65dcd : 1857 + 0x24]
00:04:58     INFO -     rbx = 0x000000df26267000   rbp = 0x000000df1f249a50
00:04:58     INFO -     rsp = 0x000000df1f249de0   r12 = 0x000000df1f631480
00:04:58     INFO -     r13 = 0x000000df1f24b378   r14 = 0x0000000000000001
00:04:58     INFO -     r15 = 0x0000000000000000   rip = 0x000007fc29333201
00:04:58     INFO -     Found by: call frame info
00:04:58     INFO -  8  xul.dll!NativeGetPropertyInline<1> [NativeObject.cpp:18a793f65dcd : 2084 + 0x2d]
00:04:58     INFO -     rbx = 0x000000df26267000   rbp = 0x000000df1f249a50
00:04:58     INFO -     rsp = 0x000000df1f249e40   r12 = 0x000000df1f631480
00:04:58     INFO -     r13 = 0x000000df1f24b378   r14 = 0x0000000000000001
00:04:58     INFO -     r15 = 0x0000000000000000   rip = 0x000007fc29333e26
00:04:58     INFO -     Found by: call frame info
00:04:58     INFO -  9  xul.dll!js::NativeGetProperty(JSContext *,JS::Handle<js::NativeObject *>,JS::Handle<JS::Value>,JS::Handle<jsid>,JS::MutableHandle<JS::Value>) [NativeObject.cpp:18a793f65dcd : 2118 + 0x17]
00:04:58     INFO -     rbx = 0x000000df26267000   rbp = 0x000000df1f249a50
00:04:58     INFO -     rsp = 0x000000df1f249f10   r12 = 0x000000df1f631480
00:04:58     INFO -     r13 = 0x000000df1f24b378   r14 = 0x0000000000000001
00:04:58     INFO -     r15 = 0x0000000000000000   rip = 0x000007fc29340b4b
00:04:58     INFO -     Found by: call frame info
00:04:58     INFO - 10  xul.dll!js::GetProperty(JSContext *,JS::Handle<JSObject *>,JS::Handle<JS::Value>,JS::Handle<jsid>,JS::MutableHandle<JS::Value>) [NativeObject.h:18a793f65dcd : 1523 + 0x91]
00:04:58     INFO -     rbx = 0x000000df26267000   rbp = 0x000000df1f249a50
00:04:58     INFO -     rsp = 0x000000df1f249f50   r12 = 0x000000df1f631480
00:04:58     INFO -     r13 = 0x000000df1f24b378   r14 = 0x0000000000000001
00:04:58     INFO -     r15 = 0x0000000000000000   rip = 0x000007fc28e1cc42
00:04:58     INFO -     Found by: call frame info
00:04:58     INFO - 11  xul.dll!js::Wrapper::get(JSContext *,JS::Handle<JSObject *>,JS::Handle<JS::Value>,JS::Handle<jsid>,JS::MutableHandle<JS::Value>) [Wrapper.cpp:18a793f65dcd : 143 + 0x2c]
00:04:58     INFO -     rbx = 0x000000df26267000   rbp = 0x000000df1f249a50
00:04:58     INFO -     rsp = 0x000000df1f249f90   r12 = 0x000000df1f631480
00:04:58     INFO -     r13 = 0x000000df1f24b378   r14 = 0x0000000000000001
00:04:58     INFO -     r15 = 0x0000000000000000   rip = 0x000007fc290d9c3a
00:04:58     INFO -     Found by: call frame info
00:04:58     INFO - 12  xul.dll!js::CrossCompartmentWrapper::get(JSContext *,JS::Handle<JSObject *>,JS::Handle<JS::Value>,JS::Handle<jsid>,JS::MutableHandle<JS::Value>) [CrossCompartmentWrapper.cpp:18a793f65dcd : 209 + 0x39]
00:04:58     INFO -     rbx = 0x000000df26267000   rbp = 0x000000df1f249a50
00:04:58     INFO -     rsp = 0x000000df1f249ff0   r12 = 0x000000df1f631480
00:04:58     INFO -     r13 = 0x000000df1f24b378   r14 = 0x0000000000000001
00:04:58     INFO -     r15 = 0x0000000000000000   rip = 0x000007fc292f8650
00:04:58     INFO -     Found by: call frame info
00:04:58     INFO - 13  xul.dll!js::Proxy::get(JSContext *,JS::Handle<JSObject *>,JS::Handle<JS::Value>,JS::Handle<jsid>,JS::MutableHandle<JS::Value>) [Proxy.cpp:18a793f65dcd : 309 + 0x28]
00:04:58     INFO -     rbx = 0x000000df26267000   rbp = 0x000000df1f249a50
00:04:58     INFO -     rsp = 0x000000df1f24a050   r12 = 0x000000df1f631480
00:04:58     INFO -     r13 = 0x000000df1f24b378   r14 = 0x0000000000000001
00:04:58     INFO -     r15 = 0x0000000000000000   rip = 0x000007fc29306ba4
00:04:58     INFO -     Found by: call frame info
00:04:58     INFO - 14  xul.dll!js::proxy_GetProperty(JSContext *,JS::Handle<JSObject *>,JS::Handle<JS::Value>,JS::Handle<jsid>,JS::MutableHandle<JS::Value>) [Proxy.cpp:18a793f65dcd : 582 + 0xf]
00:04:58     INFO -     rbx = 0x000000df26267000   rbp = 0x000000df1f249a50
00:04:58     INFO -     rsp = 0x000000df1f24a170   r12 = 0x000000df1f631480
00:04:58     INFO -     r13 = 0x000000df1f24b378   r14 = 0x0000000000000001
00:04:58     INFO -     r15 = 0x0000000000000000   rip = 0x000007fc292f2aa3
00:04:58     INFO -     Found by: call frame info
00:04:58     INFO - 15  xul.dll!js::GetProperty(JSContext *,JS::Handle<JSObject *>,JS::Handle<JS::Value>,JS::Handle<jsid>,JS::MutableHandle<JS::Value>) [NativeObject.h:18a793f65dcd : 1522 + 0xd]
00:04:58     INFO -     rbx = 0x000000df26267000   rbp = 0x000000df1f249a50
00:04:58     INFO -     rsp = 0x000000df1f24a1b0   r12 = 0x000000df1f631480
00:04:58     INFO -     r13 = 0x000000df1f24b378   r14 = 0x0000000000000001
00:04:58     INFO -     r15 = 0x0000000000000000   rip = 0x000007fc28e1cbac
00:04:58     INFO -     Found by: call frame info
00:04:58     INFO - 16  xul.dll!js::GetProperty(JSContext *,JS::Handle<JSObject *>,JS::Handle<JS::Value>,js::PropertyName *,JS::MutableHandle<JS::Value>) [jsobj.h:18a793f65dcd : 844 + 0x29]
00:04:58     INFO -     rbx = 0x000000df26267000   rbp = 0x000000df1f249a50
00:04:58     INFO -     rsp = 0x000000df1f24a1f0   r12 = 0x000000df1f631480
00:04:58     INFO -     r13 = 0x000000df1f24b378   r14 = 0x0000000000000001
00:04:58     INFO -     r15 = 0x0000000000000000   rip = 0x000007fc28e1cae3
00:04:58     INFO -     Found by: call frame info
00:04:58     INFO - 17  xul.dll!js::GetProperty(JSContext *,JS::Handle<JS::Value>,JS::Handle<js::PropertyName *>,JS::MutableHandle<JS::Value>) [Interpreter.cpp:18a793f65dcd : 4273 + 0x30]
00:04:58     INFO -     rbx = 0x000000df26267000   rbp = 0x000000df1f249a50
00:04:58     INFO -     rsp = 0x000000df1f24a250   r12 = 0x000000df1f631480
00:04:58     INFO -     r13 = 0x000000df1f24b378   r14 = 0x0000000000000001
00:04:58     INFO -     r15 = 0x0000000000000000   rip = 0x000007fc2907e77d
00:04:58     INFO -     Found by: call frame info
00:04:58     INFO - 18  xul.dll!GetPropertyOperation [Interpreter.cpp:18a793f65dcd : 192 + 0x1c]
00:04:58     INFO -     rbx = 0x000000df26267000   rbp = 0x000000df1f249a50
00:04:58     INFO -     rsp = 0x000000df1f24a300   r12 = 0x000000df1f631480
00:04:58     INFO -     r13 = 0x000000df1f24b378   r14 = 0x0000000000000001
00:04:58     INFO -     r15 = 0x0000000000000000   rip = 0x000007fc2907ec2f
00:04:58     INFO -     Found by: call frame info
00:04:58     INFO - 19  xul.dll!Interpret [Interpreter.cpp:18a793f65dcd : 2636 + 0x5]
00:04:58     INFO -     rbx = 0x000000df26267000   rbp = 0x000000df1f249a50
00:04:58     INFO -     rsp = 0x000000df1f24a3a0   r12 = 0x000000df1f631480
00:04:58     INFO -     r13 = 0x000000df1f24b378   r14 = 0x0000000000000001
00:04:58     INFO -     r15 = 0x0000000000000000   rip = 0x000007fc29085736
00:04:58     INFO -     Found by: call frame info
00:04:58     INFO - 20  xul.dll!js::RunScript(JSContext *,js::RunState &) [Interpreter.cpp:18a793f65dcd : 403 + 0x15]
00:04:58     INFO -     rbx = 0x000000df26267000   rbp = 0x000000df1f249a50
00:04:58     INFO -     rsp = 0x000000df1f24b200   r12 = 0x000000df1f631480
00:04:58     INFO -     r13 = 0x000000df1f24b378   r14 = 0x0000000000000001
00:04:58     INFO -     r15 = 0x0000000000000000   rip = 0x000007fc29091472
00:04:58     INFO -     Found by: call frame info
00:04:58     INFO - 21  xul.dll!js::InternalCallOrConstruct(JSContext *,JS::CallArgs const &,js::MaybeConstruct) [Interpreter.cpp:18a793f65dcd : 475 + 0xd]
00:04:58     INFO -     rbx = 0x000000df26267000   rbp = 0x000000df1f249a50
00:04:58     INFO -     rsp = 0x000000df1f24b330   r12 = 0x000000df1f631480
00:04:58     INFO -     r13 = 0x000000df1f24b378   r14 = 0x0000000000000001
00:04:58     INFO -     r15 = 0x0000000000000000   rip = 0x000007fc29082a50
00:04:58     INFO -     Found by: call frame info
00:04:58     INFO - 22  xul.dll!js::Call(JSContext *,JS::Handle<JS::Value>,JS::Handle<JS::Value>,js::AnyInvokeArgs const &,JS::MutableHandle<JS::Value>) [Interpreter.cpp:18a793f65dcd : 521 + 0x8]
00:04:58     INFO -     rbx = 0x000000df26267000   rbp = 0x000000df1f249a50
00:04:58     INFO -     rsp = 0x000000df1f24b3d0   r12 = 0x000000df1f631480
00:04:58     INFO -     r13 = 0x000000df1f24b378   r14 = 0x0000000000000001
00:04:58     INFO -     r15 = 0x0000000000000000   rip = 0x000007fc29071c44
00:04:58     INFO -     Found by: call frame info
00:04:58     INFO - 23  xul.dll!JS_CallFunctionValue(JSContext *,JS::Handle<JSObject *>,JS::Handle<JS::Value>,JS::HandleValueArray const &,JS::MutableHandle<JS::Value>) [jsapi.cpp:18a793f65dcd : 2771 + 0x15]
00:04:58     INFO -     rbx = 0x000000df26267000   rbp = 0x000000df1f249a50
00:04:58     INFO -     rsp = 0x000000df1f24b400   r12 = 0x000000df1f631480
00:04:58     INFO -     r13 = 0x000000df1f24b378   r14 = 0x0000000000000001
00:04:58     INFO -     r15 = 0x0000000000000000   rip = 0x000007fc28e9b79c
00:04:58     INFO -     Found by: call frame info
00:04:58     INFO - 24  xul.dll!nsFrameMessageManager::ReceiveMessage(nsISupports *,nsIFrameLoader *,bool,nsAString_internal const &,bool,mozilla::dom::ipc::StructuredCloneData *,mozilla::jsipc::CpowHolder *,nsIPrincipal *,nsTArray<mozilla::dom::ipc::StructuredCloneData> *) [nsFrameMessageManager.cpp:18a793f65dcd : 1066 + 0x60]
00:04:58     INFO -     rbx = 0x000000df26267000   rbp = 0x000000df1f249a50
00:04:58     INFO -     rsp = 0x000000df1f24b520   r12 = 0x000000df1f631480
00:04:58     INFO -     r13 = 0x000000df1f24b378   r14 = 0x0000000000000001
00:04:58     INFO -     r15 = 0x0000000000000000   rip = 0x000007fc262999cb
00:04:58     INFO -     Found by: call frame info
00:04:58     INFO - 25  xul.dll!nsFrameMessageManager::ReceiveMessage(nsISupports *,nsIFrameLoader *,nsAString_internal const &,bool,mozilla::dom::ipc::StructuredCloneData *,mozilla::jsipc::CpowHolder *,nsIPrincipal *,nsTArray<mozilla::dom::ipc::StructuredCloneData> *) [nsFrameMessageManager.cpp:18a793f65dcd : 875 + 0x48]
00:04:58     INFO -     rbx = 0x000000df26267000   rbp = 0x000000df1f249a50
00:04:58     INFO -     rsp = 0x000000df1f24bad0   r12 = 0x000000df1f631480
00:04:58     INFO -     r13 = 0x000000df1f24b378   r14 = 0x0000000000000001
00:04:58     INFO -     r15 = 0x0000000000000000   rip = 0x000007fc2629a437
00:04:58     INFO -     Found by: call frame info
00:04:58     INFO - 26  xul.dll!mozilla::dom::TabChild::RecvAsyncMessage(nsString const &,nsTArray<mozilla::jsipc::CpowEntry> &&,IPC::Principal const &,mozilla::dom::ClonedMessageData const &) [TabChild.cpp:18a793f65dcd : 2064 + 0x86]
00:04:58     INFO -     rbx = 0x000000df26267000   rbp = 0x000000df1f249a50
00:04:58     INFO -     rsp = 0x000000df1f24bb30   r12 = 0x000000df1f631480
00:04:58     INFO -     r13 = 0x000000df1f24b378   r14 = 0x0000000000000001
00:04:58     INFO -     r15 = 0x0000000000000000   rip = 0x000007fc277cd29f
00:04:58     INFO -     Found by: call frame info
00:04:58     INFO - 27  xul.dll!mozilla::dom::PBrowserChild::OnMessageReceived(IPC::Message const &) [PBrowserChild.cpp:18a793f65dcd : 2988 + 0x31]
00:04:58     INFO -     rbx = 0x000000df26267000   rbp = 0x000000df1f249a50
00:04:58     INFO -     rsp = 0x000000df1f24bce0   r12 = 0x000000df1f631480
00:04:58     INFO -     r13 = 0x000000df1f24b378   r14 = 0x0000000000000001
00:04:58     INFO -     r15 = 0x0000000000000000   rip = 0x000007fc25a54356
00:04:58     INFO -     Found by: call frame info
00:04:58     INFO - 28  xul.dll!mozilla::dom::PContentChild::OnMessageReceived(IPC::Message const &) [PContentChild.cpp:18a793f65dcd : 5895 + 0x9]
00:04:58     INFO -     rbx = 0x000000df26267000   rbp = 0x000000df1f249a50
00:04:58     INFO -     rsp = 0x000000df1f24d4d0   r12 = 0x000000df1f631480
00:04:58     INFO -     r13 = 0x000000df1f24b378   r14 = 0x0000000000000001
00:04:58     INFO -     r15 = 0x0000000000000000   rip = 0x000007fc25ad487f
00:04:58     INFO -     Found by: call frame info
00:04:58     INFO - 29  xul.dll!mozilla::ipc::MessageChannel::DispatchAsyncMessage(IPC::Message const &) [MessageChannel.cpp:18a793f65dcd : 1750 + 0xa]
00:04:58     INFO -     rbx = 0x000000df26267000   rbp = 0x000000df1f249a50
00:04:58     INFO -     rsp = 0x000000df1f24ed70   r12 = 0x000000df1f631480
00:04:58     INFO -     r13 = 0x000000df1f24b378   r14 = 0x0000000000000001
00:04:58     INFO -     r15 = 0x0000000000000000   rip = 0x000007fc25762a86
00:04:58     INFO -     Found by: call frame info
00:04:58     INFO - 30  xul.dll!mozilla::ipc::MessageChannel::DispatchMessageW(IPC::Message &&) [MessageChannel.cpp:18a793f65dcd : 1688 + 0x5]
00:04:58     INFO -     rbx = 0x000000df26267000   rbp = 0x000000df1f249a50
00:04:58     INFO -     rsp = 0x000000df1f24ee30   r12 = 0x000000df1f631480
00:04:58     INFO -     r13 = 0x000000df1f24b378   r14 = 0x0000000000000001
00:04:58     INFO -     r15 = 0x0000000000000000   rip = 0x000007fc257636c0
00:04:58     INFO -     Found by: call frame info
00:04:58     INFO - 31  xul.dll!mozilla::ipc::MessageChannel::RunMessage(mozilla::ipc::MessageChannel::MessageTask &) [MessageChannel.cpp:18a793f65dcd : 1572 + 0xb]
00:04:58     INFO -     rbx = 0x000000df26267000   rbp = 0x000000df1f249a50
00:04:58     INFO -     rsp = 0x000000df1f24f020   r12 = 0x000000df1f631480
00:04:58     INFO -     r13 = 0x000000df1f24b378   r14 = 0x0000000000000001
00:04:58     INFO -     r15 = 0x0000000000000000   rip = 0x000007fc25770dc7
00:04:58     INFO -     Found by: call frame info
00:04:58     INFO - 32  xul.dll!mozilla::ipc::MessageChannel::MessageTask::Run() [MessageChannel.cpp:18a793f65dcd : 1597 + 0xc]
00:04:58     INFO -     rbx = 0x000000df26267000   rbp = 0x000000df1f249a50
00:04:58     INFO -     rsp = 0x000000df1f24f120   r12 = 0x000000df1f631480
00:04:58     INFO -     r13 = 0x000000df1f24b378   r14 = 0x0000000000000001
00:04:58     INFO -     r15 = 0x0000000000000000   rip = 0x000007fc2576faf5
00:04:58     INFO -     Found by: call frame info
00:04:58     INFO - 33  xul.dll!nsThread::ProcessNextEvent(bool,bool *) [nsThread.cpp:18a793f65dcd : 1213 + 0x6]
00:04:58     INFO -     rbx = 0x000000df26267000   rbp = 0x000000df1f249a50
00:04:58     INFO -     rsp = 0x000000df1f24f150   r12 = 0x000000df1f631480
00:04:58     INFO -     r13 = 0x000000df1f24b378   r14 = 0x0000000000000001
00:04:58     INFO -     r15 = 0x0000000000000000   rip = 0x000007fc25209113
00:04:58     INFO -     Found by: call frame info
00:04:58     INFO - 34  xul.dll!NS_ProcessNextEvent(nsIThread *,bool) [nsThreadUtils.cpp:18a793f65dcd : 381 + 0xd]
00:04:58     INFO -     rbx = 0x000000df26267000   rbp = 0x000000df1f249a50
00:04:58     INFO -     rsp = 0x000000df1f24f250   r12 = 0x000000df1f631480
00:04:58     INFO -     r13 = 0x000000df1f24b378   r14 = 0x0000000000000001
00:04:58     INFO -     r15 = 0x0000000000000000   rip = 0x000007fc252477af
00:04:58     INFO -     Found by: call frame info
00:04:58     INFO - 35  xul.dll!mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate *) [MessagePump.cpp:18a793f65dcd : 96 + 0xa]
00:04:58     INFO -     rbx = 0x000000df26267000   rbp = 0x000000df1f249a50
00:04:58     INFO -     rsp = 0x000000df1f24f290   r12 = 0x000000df1f631480
00:04:58     INFO -     r13 = 0x000000df1f24b378   r14 = 0x0000000000000001
00:04:58     INFO -     r15 = 0x0000000000000000   rip = 0x000007fc2576f348
00:04:58     INFO -     Found by: call frame info
00:04:58     INFO - 36  xul.dll!mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate *) [MessagePump.cpp:18a793f65dcd : 301 + 0xb]
00:04:58     INFO -     rbx = 0x000000df26267000   rbp = 0x000000df1f249a50
00:04:58     INFO -     rsp = 0x000000df1f24f2f0   r12 = 0x000000df1f631480
00:04:58     INFO -     r13 = 0x000000df1f24b378   r14 = 0x0000000000000001
00:04:58     INFO -     r15 = 0x0000000000000000   rip = 0x000007fc2576f5e0
00:04:58     INFO -     Found by: call frame info
00:04:58     INFO - 37  xul.dll!MessageLoop::RunHandler() [message_loop.cc:18a793f65dcd : 225 + 0x5]
00:04:58     INFO -     rbx = 0x000000df26267000   rbp = 0x000000df1f249a50
00:04:58     INFO -     rsp = 0x000000df1f24f330   r12 = 0x000000df1f631480
00:04:58     INFO -     r13 = 0x000000df1f24b378   r14 = 0x0000000000000001
00:04:58     INFO -     r15 = 0x0000000000000000   rip = 0x000007fc2573be06
00:04:58     INFO -     Found by: call frame info
00:04:58     INFO - 38  xul.dll!MessageLoop::Run() [message_loop.cc:18a793f65dcd : 205 + 0x8]
00:04:58     INFO -     rbx = 0x000000df26267000   rbp = 0x000000df1f249a50
00:04:58     INFO -     rsp = 0x000000df1f24f360   r12 = 0x000000df1f631480
00:04:58     INFO -     r13 = 0x000000df1f24b378   r14 = 0x0000000000000001
00:04:58     INFO -     r15 = 0x0000000000000000   rip = 0x000007fc2573bb3a
00:04:58     INFO -     Found by: call frame info
00:04:58     INFO - 39  xul.dll!nsBaseAppShell::Run() [nsBaseAppShell.cpp:18a793f65dcd : 156 + 0xd]
00:04:58     INFO -     rbx = 0x000000df26267000   rbp = 0x000000df1f249a50
00:04:58     INFO -     rsp = 0x000000df1f24f3b0   r12 = 0x000000df1f631480
00:04:58     INFO -     r13 = 0x000000df1f24b378   r14 = 0x0000000000000001
00:04:58     INFO -     r15 = 0x0000000000000000   rip = 0x000007fc27a94267
00:04:58     INFO -     Found by: call frame info
00:04:58     INFO - 40  xul.dll!nsAppShell::Run() [nsAppShell.cpp:18a793f65dcd : 262 + 0x8]
00:04:58     INFO -     rbx = 0x000000df26267000   rbp = 0x000000df1f249a50
00:04:58     INFO -     rsp = 0x000000df1f24f3f0   r12 = 0x000000df1f631480
00:04:58     INFO -     r13 = 0x000000df1f24b378   r14 = 0x0000000000000001
00:04:58     INFO -     r15 = 0x0000000000000000   rip = 0x000007fc27b09bc9
00:04:58     INFO -     Found by: call frame info
00:04:58     INFO - 41  xul.dll!XRE_RunAppShell [nsEmbedFunctions.cpp:18a793f65dcd : 924 + 0x6]
00:04:58     INFO -     rbx = 0x000000df26267000   rbp = 0x000000df1f249a50
00:04:58     INFO -     rsp = 0x000000df1f24f430   r12 = 0x000000df1f631480
00:04:58     INFO -     r13 = 0x000000df1f24b378   r14 = 0x0000000000000001
00:04:58     INFO -     r15 = 0x0000000000000000   rip = 0x000007fc286e3455
00:04:58     INFO -     Found by: call frame info
00:04:58     INFO - 42  xul.dll!mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate *) [MessagePump.cpp:18a793f65dcd : 269 + 0x5]
00:04:58     INFO -     rbx = 0x000000df26267000   rbp = 0x000000df1f249a50
00:04:58     INFO -     rsp = 0x000000df1f24f470   r12 = 0x000000df1f631480
00:04:58     INFO -     r13 = 0x000000df1f24b378   r14 = 0x0000000000000001
00:04:58     INFO -     r15 = 0x0000000000000000   rip = 0x000007fc2576f4b3
00:04:58     INFO -     Found by: call frame info
00:04:58     INFO - 43  xul.dll!MessageLoop::RunHandler() [message_loop.cc:18a793f65dcd : 225 + 0x5]
00:04:58     INFO -     rbx = 0x000000df26267000   rbp = 0x000000df1f249a50
00:04:58     INFO -     rsp = 0x000000df1f24f4b0   r12 = 0x000000df1f631480
00:04:58     INFO -     r13 = 0x000000df1f24b378   r14 = 0x0000000000000001
00:04:58     INFO -     r15 = 0x0000000000000000   rip = 0x000007fc2573be06
00:04:58     INFO -     Found by: call frame info
00:04:58     INFO - 44  xul.dll!MessageLoop::Run() [message_loop.cc:18a793f65dcd : 205 + 0x8]
00:04:58     INFO -     rbx = 0x000000df26267000   rbp = 0x000000df1f249a50
00:04:58     INFO -     rsp = 0x000000df1f24f4e0   r12 = 0x000000df1f631480
00:04:58     INFO -     r13 = 0x000000df1f24b378   r14 = 0x0000000000000001
00:04:58     INFO -     r15 = 0x0000000000000000   rip = 0x000007fc2573bb3a
00:04:58     INFO -     Found by: call frame info
00:04:58     INFO - 45  xul.dll!XRE_InitChildProcess [nsEmbedFunctions.cpp:18a793f65dcd : 756 + 0x9]
00:04:58     INFO -     rbx = 0x000000df26267000   rbp = 0x000000df1f249a50
00:04:58     INFO -     rsp = 0x000000df1f24f530   r12 = 0x000000df1f631480
00:04:58     INFO -     r13 = 0x000000df1f24b378   r14 = 0x0000000000000001
00:04:58     INFO -     r15 = 0x0000000000000000   rip = 0x000007fc286e2db8
00:04:58     INFO -     Found by: call frame info
00:04:58     INFO - 46  firefox.exe!content_process_main(int,char * * const) [plugin-container.cpp:18a793f65dcd : 115 + 0x10]
00:04:58     INFO -     rbx = 0x000000df26267000   rbp = 0x000000df1f249a50
00:04:58     INFO -     rsp = 0x000000df1f24f7f0   r12 = 0x000000df1f631480
00:04:58     INFO -     r13 = 0x000000df1f24b378   r14 = 0x0000000000000001
00:04:58     INFO -     r15 = 0x0000000000000000   rip = 0x000007f68f671d45
00:04:58     INFO -     Found by: call frame info
00:04:58     INFO - 47  firefox.exe!NS_internal_main(int,char * *,char * *) [nsBrowserApp.cpp:18a793f65dcd : 429 + 0xa]
00:04:58     INFO -     rbx = 0x000000df26267000   rbp = 0x000000df1f249a50
00:04:58     INFO -     rsp = 0x000000df1f24f850   r12 = 0x000000df1f631480
00:04:58     INFO -     r13 = 0x000000df1f24b378   r14 = 0x0000000000000001
00:04:58     INFO -     r15 = 0x0000000000000000   rip = 0x000007f68f6718f9
00:04:58     INFO -     Found by: call frame info
00:04:58     INFO - 48  firefox.exe!wmain [nsWindowsWMain.cpp:18a793f65dcd : 115 + 0x14]
00:04:58     INFO -     rbx = 0x000000df26267000   rbp = 0x000000df1f249a50
00:04:58     INFO -     rsp = 0x000000df1f24f8d0   r12 = 0x000000df1f631480
00:04:58     INFO -     r13 = 0x000000df1f24b378   r14 = 0x0000000000000001
00:04:58     INFO -     r15 = 0x0000000000000000   rip = 0x000007f68f67266f
00:04:58     INFO -     Found by: call frame info
00:04:58     INFO - 49  firefox.exe!__scrt_common_main_seh [exe_common.inl : 253 + 0x22]
00:04:58     INFO -     rbx = 0x000000df26267000   rbp = 0x000000df1f249a50
00:04:58     INFO -     rsp = 0x000000df1f24f930   r12 = 0x000000df1f631480
00:04:58     INFO -     r13 = 0x000000df1f24b378   r14 = 0x0000000000000001
00:04:58     INFO -     r15 = 0x0000000000000000   rip = 0x000007f68f6b115d
00:04:58     INFO -     Found by: call frame info
00:04:58     INFO - 50  kernel32.dll!BaseThreadInitThunk + 0x1a
00:04:58     INFO -     rbx = 0x000000df26267000   rbp = 0x000000df1f249a50
00:04:58     INFO -     rsp = 0x000000df1f24f970   r12 = 0x000000df1f631480
00:04:58     INFO -     r13 = 0x000000df1f24b378   r14 = 0x0000000000000001
00:04:58     INFO -     r15 = 0x0000000000000000   rip = 0x000007fc4700167e
00:04:58     INFO -     Found by: call frame info
00:04:58     INFO - 51  ntdll.dll!RtlUserThreadStart + 0x21
00:04:58     INFO -     rsp = 0x000000df1f24f9a0   rip = 0x000007fc49adc3f1
00:04:58     INFO -     Found by: stack scanning
00:04:58     INFO - 52  KERNELBASE.dll!GetLegacyComposition + 0x1180
00:04:58     INFO -     rsp = 0x000000df1f24f9d0   rip = 0x000007fc46ca09d0
00:04:58     INFO -     Found by: stack scanning
Component: JavaScript Engine → js-ctypes
Priority: -- → P3
I looked at this a bit. It's crashing on the macro expansion of INT_CASE:

#define INT_CASE(name, type, ffiType)                                          \
  case TYPE_##name: {                                                          \
    type value = *static_cast<type*>(data);                                    \
    if (sizeof(type) < 4)                                                      \
      result.setInt32(int32_t(value));                                         \
    else                                                                       \
      result.setDouble(double(value));                                         \
    break;                                                                     \
  }
  CTYPES_FOR_EACH_INT_TYPE(INT_CASE) /* crash is on this line */
#undef INT_CASE

At first glance, it would appear that 'data' is nullptr, but the caller guards against this. And 'result' is a MutableHandleValue pointing to a stack location that was just allocated right before the ConvertToJS call. So I'm kind of confused what's happening here.

Ok, I disassembled it, and now I'm more confused. It *is* crashing with data == nullptr. The checking code looks like:

  void* data = *static_cast<void**>(CData::GetData(obj));
  if (data == nullptr) {
    return NullPointerError(cx, "read contents of", obj);
  }

  RootedValue result(cx);
  if (!ConvertToJS(cx, baseType, nullptr, data, false, false, &result))
    return false;

it does indeed check whether data is nullptr and bombs out. But then the argument passing seems to not follow the declared parameters:

 33eed14:       8b 45 c8                mov    -0x38(%rbp),%eax
 33eed17:       89 04 24                mov    %eax,(%rsp)
 33eed1a:       e8 b1 a9 fe ff          callq  33d96d0 <_ZN2js6ctypes5CData7GetDataEP8JSObject>
 33eed1f:       8b 08                   mov    (%rax),%ecx                            ; data = *CData::GetData(obj)
 33eed21:       85 c9                   test   %ecx,%ecx                              ; if (data == nullptr)
 33eed23:       0f 84 d7 00 00 00       je     33eee00 <_ZN2js6ctypes11PointerType14ContentsGetterEP9JSContextRKN2JS8CallArgsE+0x170>
 33eed29:       8b 45 08                mov    0x8(%rbp),%eax
 33eed2c:       c7 45 e0 00 00 00 00    movl   $0x0,-0x20(%rbp)
 33eed33:       c7 45 e4 83 ff ff ff    movl   $0xffffff83,-0x1c(%rbp)
 33eed3a:       8d 50 30                lea    0x30(%rax),%edx
 33eed3d:       89 55 d8                mov    %edx,-0x28(%rbp)
 33eed40:       8b 50 30                mov    0x30(%rax),%edx
 33eed43:       89 45 b4                mov    %eax,-0x4c(%rbp)
 33eed46:       89 55 dc                mov    %edx,-0x24(%rbp)
 33eed49:       8d 55 e0                lea    -0x20(%rbp),%edx
 33eed4c:       89 58 30                mov    %ebx,0x30(%rax)
 33eed4f:       8d 45 d4                lea    -0x2c(%rbp),%eax
 33eed52:       89 55 ac                mov    %edx,-0x54(%rbp)
 33eed55:       89 54 24 0c             mov    %edx,0xc(%rsp)                         ; arg3: stack
 33eed59:       31 d2                   xor    %edx,%edx
 33eed5b:       89 54 24 08             mov    %edx,0x8(%rsp)                         ; arg2: 0
 33eed5f:       31 d2                   xor    %edx,%edx
 33eed61:       89 0c 24                mov    %ecx,(%rsp)                            ; arg0: data
 33eed64:       8b 4d b0                mov    -0x50(%rbp),%ecx
 33eed67:       89 54 24 04             mov    %edx,0x4(%rsp)                         ; arg1: stack
 33eed6b:       89 c2                   mov    %eax,%edx
 33eed6d:       8b 45 b4                mov    -0x4c(%rbp),%eax
 33eed70:       8d 89 ec 75 77 fe       lea    -0x1888a14(%rcx),%ecx
 33eed76:       e8 55 ac ff ff          callq  33e99d0 <_ZN2js6ctypesL11ConvertToJSEP9JSContextN2JS6HandleIP8JSObjectEES7_PvbbNS3_13MutableHandleINS3_5ValueEEE>

I tried matching up arguments with ConvertToJS parameters, but they don't match. I compiled locally with no-optimize, and it does roughly the same thing, though above we have ConvertToJS(data, stack, 0, stack) and my compiled version has ConvertToJS(data, 0, 0, stack). But ConvertToJS is static, so I guess the compiler feels free to rearrange things as it likes?

Anyway, I'm not sure why I dug into this so far. Playing with tools, somewhat.
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.