Moonchild wrote:
Just because there's a FIXME comment doesn't mean there's a problem in the browser.
Maybe. From the backtrace I worked with, it seems to be a problem with dereferencing a null pointer, in the if statement above the FIXME comment.
It might be just a coincidence that the segfault is near that FIXME comment.
Code: Select all
<snip>
Thread 1 "palemoon" received signal SIGSEGV, Segmentation fault.
0x00007ffff0c127cd in nsCOMPtr<nsIPrincipal>::operator-> (this=<optimized out>) at /home/stefan/Downloads/Pale-Moon/o/dist/include/nsCOMPtr.h:765
765 MOZ_ASSERT(mRawPtr != nullptr,
(gdb) bt
#0 0x00007ffff0c127cd in nsCOMPtr<nsIPrincipal>::operator-> (this=<optimized out>) at /home/stefan/Downloads/Pale-Moon/o/dist/include/nsCOMPtr.h:765
#1 0x00007ffff0c1a7f5 in nsCOMPtr<nsIDocument>::operator-> (this=0x7fffcc834838) at /home/stefan/Downloads/Pale-Moon/platform/dom/base/nsGlobalWindow.cpp:3517
#2 nsGlobalWindow::GetEventTargetParent (this=0x7fffcc834800, aVisitor=...) at /home/stefan/Downloads/Pale-Moon/platform/dom/base/nsGlobalWindow.cpp:3546
#3 0x00007ffff313bc7a in mozilla::EventTargetChainItem::GetEventTargetParent (this=this@entry=0x7fffe31dd0c8, aVisitor=...) at /home/stefan/Downloads/Pale-Moon/platform/dom/events/EventDispatcher.cpp:441
#4 0x00007ffff314fb46 in mozilla::EventDispatcher::Dispatch (aTarget=aTarget@entry=0x7fffcb26e1b0, aPresContext=aPresContext@entry=0x0, aEvent=aEvent@entry=0x7fffcadb7600, aDOMEvent=aDOMEvent@entry=0x7fffcafe0ac0,
aEventStatus=aEventStatus@entry=0x7fffffff9b90, aCallback=aCallback@entry=0x0, aTargets=<optimized out>) at /home/stefan/Downloads/Pale-Moon/platform/dom/events/EventDispatcher.cpp:890
#5 0x00007ffff315092e in mozilla::EventDispatcher::DispatchDOMEvent (aTarget=aTarget@entry=0x7fffcb26e1b0, aEvent=aEvent@entry=0x0, aDOMEvent=aDOMEvent@entry=0x7fffcafe0ac0, aPresContext=aPresContext@entry=0x0,
aEventStatus=aEventStatus@entry=0x7fffffff9b90) at /home/stefan/Downloads/Pale-Moon/platform/dom/events/EventDispatcher.cpp:1015
<snip>
Moonchild wrote:
Your patch would cause issues with click events being properly dispatched; it's not a solution
Probably, but at least it fixes a segfault and can be a starting point to look into this.
However, the real problem seems to indeed be how noscript does things.
Code: Select all
[2645] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x805E0006: file /home/stefan/Downloads/Pale-Moon/platform/dom/script/ScriptLoader.cpp, line 1398
[2645] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x805E0006: file /home/stefan/Downloads/Pale-Moon/platform/dom/security/nsContentSecurityManager.cpp, line 666
[2645] WARNING: 'NS_FAILED(rv)', file /home/stefan/Downloads/Pale-Moon/platform/netwerk/protocol/http/nsHttpChannel.cpp, line 5666
[2645] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x805E0006: file /home/stefan/Downloads/Pale-Moon/platform/dom/script/ScriptLoader.cpp, line 1398
[2645] ###!!! ASSERTION: This is unsafe! Fix the caller!: 'Error', file /home/stefan/Downloads/Pale-Moon/platform/dom/events/EventDispatcher.cpp, line 770
[2645] ###!!! ASSERTION: This is unsafe! Fix the caller!: 'Error', file /home/stefan/Downloads/Pale-Moon/platform/dom/events/EventDispatcher.cpp, line 770
[2645] WARNING: We should have hit the document element...: file /home/stefan/Downloads/Pale-Moon/platform/layout/xul/BoxObject.cpp, line 169
I'm afraid I can't help too much with this issue, as the code base involved is much bigger that anything I've worked with in the past.
At least I found a stop-gap for anyone interested in running noscript, which, judging from the response in the other thread linked, is quite a few people.