[Release] Swarth

Dedicated board for extension releases/support threads

Moderators: FranklinDM, Lootyhoof

Forum rules
Please do not create new topics here unless you are an extension author in need of a dedicated releases&support thread!
User avatar
FranklinDM
Add-ons Team
Add-ons Team
Posts: 575
Joined: 2017-01-14, 02:40
Location: Philippines
Contact:

Re: [Release] Swarth

Unread post by FranklinDM » 2023-02-28, 09:10

Update to Swarth: v1.1.0
  • Override tab panel background color
    • This implements an internal color method for use with the browser window. This should hopefully get rid of the white flashes and follows the same method used in bug 1488384, which overrides the background color of the tab panel (anonymous content that is a *child of the `browser` element).
  • Fix conflicts with uBO element picker
  • Fix missing domWindow variable (v1.0.9)
Update options: Fresco, APO, Basilisk Add-ons, check for updates using the Add-ons Manager.

htuyar
Moonbather
Moonbather
Posts: 69
Joined: 2015-09-11, 10:19
Location: Istanbul

Re: [Release] Swarth

Unread post by htuyar » 2023-03-05, 15:58

Swarth 1.1.0 seems to cause browser crashes with PM 32.1.0 beta3. I've tested this on a clean profile with Swarth installed as the only add-on. Here's the URL that causes the crash:

https://soatok.blog/2023/03/01/database-cryptography-fur-the-rest-of-us/

EDIT: This doesn't happen PM 32.0.1 and Swarth 1.1.0.

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35477
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Re: [Release] Swarth

Unread post by Moonchild » 2023-03-05, 17:20

I tried reproducing this and don't see any crashes on the dev branch.
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

htuyar
Moonbather
Moonbather
Posts: 69
Joined: 2015-09-11, 10:19
Location: Istanbul

Re: [Release] Swarth

Unread post by htuyar » 2023-03-05, 17:22

I forgot to mention, I'm on Linux (Lubuntu 22.04.2). Maybe that's relevant. Since the crash is immediate, I don't see any error logs.

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35477
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Re: [Release] Swarth

Unread post by Moonchild » 2023-03-05, 17:46

It may be something specific to your rendering/graphics back-end in that case. Sorry I can't help with that.
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

htuyar
Moonbather
Moonbather
Posts: 69
Joined: 2015-09-11, 10:19
Location: Istanbul

Re: [Release] Swarth

Unread post by htuyar » 2023-03-05, 17:52

It's OK, thank you. I reported it in case there was a general issue with the newly added web components support.

User avatar
FranklinDM
Add-ons Team
Add-ons Team
Posts: 575
Joined: 2017-01-14, 02:40
Location: Philippines
Contact:

Re: [Release] Swarth

Unread post by FranklinDM » 2023-03-06, 01:00

Confirmed, but Windows is unaffected. Other Shadow DOM/CE-heavy sites like IA and YouTube are also unaffected.

Even if WC is disabled, the crash still occurs when visiting the site and enabling Swarth (with Stylesheet Processor as default, other color methods are unaffected, but that does make sense since SP walks through the DOM and modifies whatever style elements it sees). I've tested this on EndeavourOS, but the problem is I'm not that familiar with debugging on Linux using gdb... I'll see what I can do.

EDIT: As a temporary workaround, disable Swarth via the toolbar button first, visit that web page again, set the scope to "Retain Page Style" (since it's using a dark scheme already anyway), then re-enable Swarth again via the toolbar button. That should avoid crashes with that site.

User avatar
FranklinDM
Add-ons Team
Add-ons Team
Posts: 575
Joined: 2017-01-14, 02:40
Location: Philippines
Contact:

Re: [Release] Swarth

Unread post by FranklinDM » 2023-03-06, 02:28

I built a 64-bit debug build on Linux (GCC 12) with the following mozconfig, which has optimizations disabled:

Code: Select all

# Set to 1 if you want a 64-bit build else leave as-is
_BUILD_64=1

# Standard build options for this application
ac_add_options --enable-application=palemoon
ac_add_options --disable-optimize
ac_add_options --enable-jemalloc
ac_add_options --disable-strip
ac_add_options --enable-devtools
ac_add_options --enable-av1
ac_add_options --enable-debug
ac_add_options --disable-accessibility
ac_add_options --disable-eme
ac_add_options --disable-webrtc
ac_add_options --disable-gamepad
ac_add_options --disable-parental-controls
ac_add_options --disable-tests
ac_add_options --disable-updater
# Linux-specific options
_GTK_VERSION=3
ac_add_options --enable-default-toolkit=cairo-gtk$_GTK_VERSION
ac_add_options --disable-necko-wifi
ac_add_options --with-pthreads

# Custom objdir
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-@CONFIG_GUESS@-gtk$_GTK_VERSION-debug

# Please see https://www.palemoon.org/redist.shtml for restrictions when using the official branding.
ac_add_options --enable-official-branding
export MOZILLA_OFFICIAL=1
export MC_OFFICIAL=1

# Processor architecture specific build options
if [ -n "$_BUILD_64" ]; then
  ac_add_options --x-libraries=/usr/lib64
else
  ac_add_options --x-libraries=/usr/lib
fi

export MOZ_PKG_SPECIAL=gtk$_GTK_VERSION
... and the given site does not crash with Swarth enabled. I'm suspecting that it's a compiler/optimization issue. I'm just not exactly sure what part/code is being optimized out incorrectly.

EDIT: Perhaps someone more knowledgeable than me in terms of Linux debugging can help. @trava90 @jobbautista9

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35477
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Re: [Release] Swarth

Unread post by Moonchild » 2023-03-06, 10:59

Which optimizations do you normally use that causes the crash?
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

User avatar
FranklinDM
Add-ons Team
Add-ons Team
Posts: 575
Joined: 2017-01-14, 02:40
Location: Philippines
Contact:

Re: [Release] Swarth

Unread post by FranklinDM » 2023-03-06, 11:26

For regular Linux builds, I use the same optimize options as the given mozconfig here.

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35477
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Re: [Release] Swarth

Unread post by Moonchild » 2023-03-06, 11:49

Hmm... maybe something too aggressive in GCC 12 then. I don't know. Will have to defer to our Linux builders.
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

User avatar
jobbautista9
Keeps coming back
Keeps coming back
Posts: 782
Joined: 2020-11-03, 06:47
Location: Philippines
Contact:

Re: [Release] Swarth

Unread post by jobbautista9 » 2023-03-10, 10:11

Can confirm crash in the latest tree of master, built with GCC 9 with the same optimizations as the mainline GTK3 build ("-O2 -msse2 -mfpmath=sse -w"). Here's the SEGV and backtrace from gdb:

Code: Select all

Thread 1 "palemoon" received signal SIGSEGV, Segmentation fault.
nsCSSSelector::ToString (this=<optimized out>, aString=..., aSheet=0x7ff4845fec10, aAppend=<optimized out>) at /home/job/Software/uxp-work/platform/layout/style/StyleRule.cpp:595
595       for (const nsCSSSelector *s = this; s; s = s->mNext) {
(gdb) bt
#0  nsCSSSelector::ToString(nsAString_internal&, mozilla::CSSStyleSheet*, bool) const (this=<optimized out>, aString=..., aSheet=0x7ff4845fec10, aAppend=<optimized out>)
    at /home/job/Software/uxp-work/platform/layout/style/StyleRule.cpp:595
#1  0x00007ff4ad6573c9 in nsCSSSelectorList::ToString(nsAString_internal&, mozilla::CSSStyleSheet*) (this=<optimized out>, aResult=..., aSheet=aSheet@entry=0x7ff4845fec10)
    at /home/job/Software/uxp-work/platform/layout/style/StyleRule.cpp:1034
#2  0x00007ff4ad65799f in nsCSSSelector::AppendToStringWithoutCombinatorsOrNegations(nsAString_internal&, mozilla::CSSStyleSheet*, bool, bool) const
    (this=this@entry=0x7ff490f41290, aString=..., aSheet=aSheet@entry=0x7ff4845fec10, aIsNegated=aIsNegated@entry=false, aUseStandardNamespacePrefixes=aUseStandardNamespacePrefixes@entry=false)
    at /home/job/Software/uxp-work/platform/layout/style/StyleRule.cpp:939
#3  0x00007ff4ad657ddf in nsCSSSelector::AppendToStringWithoutCombinators(nsAString_internal&, mozilla::CSSStyleSheet*, bool) const
    (this=this@entry=0x7ff490f41290, aString=..., aSheet=aSheet@entry=0x7ff4845fec10, aUseStandardNamespacePrefixes=aUseStandardNamespacePrefixes@entry=false)
    at /home/job/Software/uxp-work/platform/layout/style/StyleRule.cpp:633
#4  0x00007ff4ad65733a in nsCSSSelector::ToString(nsAString_internal&, mozilla::CSSStyleSheet*, bool) const (this=<optimized out>, aString=..., aSheet=0x7ff4845fec10, aAppend=<optimized out>)
    at /home/job/Software/uxp-work/platform/layout/style/StyleRule.cpp:604
#5  0x00007ff4ad6573c9 in nsCSSSelectorList::ToString(nsAString_internal&, mozilla::CSSStyleSheet*) (this=<optimized out>, aResult=..., aSheet=0x7ff4845fec10)
    at /home/job/Software/uxp-work/platform/layout/style/StyleRule.cpp:1034
#6  0x00007ff4ad657f88 in mozilla::css::StyleRule::GetSelectorText(nsAString_internal&) (this=<optimized out>, aSelectorText=<optimized out>)
    at /home/job/Software/uxp-work/platform/layout/style/StyleRule.cpp:1575
#7  0x00007ff4ad657fb5 in mozilla::css::DOMCSSStyleRule::GetSelectorText(nsAString_internal&) (this=<optimized out>, aSelectorText=<optimized out>)
    at /home/job/Software/uxp-work/platform/layout/style/StyleRule.cpp:1154
#8  0x00007ff4ab959582 in NS_InvokeByIndex () at /home/job/Software/uxp-work/platform/xpcom/reflect/xptcall/md/unix/xptcinvoke_asm_x86_64_unix.S:106
#9  0x00007ff4abf1ae03 in CallMethodHelper::Invoke() (this=0x7ffea416b6b0) at /home/job/Software/uxp-work/platform/js/xpconnect/src/XPCWrappedNative.cpp:2060
#10 CallMethodHelper::Call() (this=0x7ffea416b6b0) at /home/job/Software/uxp-work/platform/js/xpconnect/src/XPCWrappedNative.cpp:1376
#11 XPCWrappedNative::CallMethod(XPCCallContext&, XPCWrappedNative::CallMode) (ccx=<optimized out>, mode=<optimized out>)
    at /home/job/Software/uxp-work/platform/js/xpconnect/src/XPCWrappedNative.cpp:1343
#12 0x00007ff4abf208dc in XPCWrappedNative::GetAttribute(XPCCallContext&) (ccx=...) at /home/job/Software/uxp-work/platform/js/xpconnect/src/xpcprivate.h:1820
#13 XPC_WN_GetterSetter(JSContext*, unsigned int, JS::Value*) (cx=cx@entry=0x7ff4a8ddc000, argc=0, vp=0x7ffea416ba50)
    at /home/job/Software/uxp-work/platform/js/xpconnect/src/XPCWrappedNativeJSOps.cpp:1033
#14 0x00007ff4ae6d4fa1 in js::CallJSNative(JSContext*, bool (*)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&)
    (args=..., native=0x7ff4abf206a0 <XPC_WN_GetterSetter(JSContext*, unsigned int, JS::Value*)>, cx=0x7ff4a8ddc000) at /home/job/Software/uxp-work/platform/js/src/jscntxtinlines.h:238
#15 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) (cx=cx@entry=0x7ff4a8ddc000, args=..., construct=construct@entry=js::NO_CONSTRUCT)
    at /home/job/Software/uxp-work/platform/js/src/vm/Interpreter.cpp:479
#16 0x00007ff4ae6d524c in InternalCall(JSContext*, js::AnyInvokeArgs const&) (cx=cx@entry=0x7ff4a8ddc000, args=...) at /home/job/Software/uxp-work/platform/js/src/vm/Interpreter.cpp:524
#17 0x00007ff4ae6d52a8 in js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>)Python Exception <class 'gdb.error'>: value has been optimized out
Python Exception <class 'gdb.error'>: value has been optimized out

    (cx=cx@entry=0x7ff4a8ddc000, fval=, thisv=, args=..., rval=JSVAL_VOID) at /home/job/Software/uxp-work/platform/js/src/vm/Interpreter.cpp:543
#18 0x00007ff4ae6d5347 in js::CallGetter(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>)
    (cx=cx@entry=0x7ff4a8ddc000, thisv=$jsval((JSObject *) 0x7ff49192ca60 [object CSSStyleRule]), getter=getter@entry=$jsval((JSObject *) 0x7ff491934920 [object Function "selectorText"]), rval=rval@entry=JSVAL_VOID) at /home/job/Software/uxp-work/platform/js/src/vm/Interpreter.cpp:657
#19 0x00007ff4ae6d5405 in CallGetter(JSContext*, JS::HandleObject, JS::HandleValue, js::HandleShape, JS::MutableHandleValue)
   Python Exception <class 'gdb.error'>: value has been optimized out
 (cx=cx@entry=0x7ff4a8ddc000, obj=obj@entry=(JSObject * const) 0x7ff49a4e4bb0 [object XPC_WN_ModsAllowed_Proto_JSClass] delegate, receiver=, 
    Python Exception <class 'gdb.error'>: value has been optimized out
receiver@entry=$jsval((JSObject *) 0x7ff49192ca60 [object CSSStyleRule]), shape=, shape@entry=0x7ff4995aba50, vp=vp@entry=JSVAL_VOID)
    at /home/job/Software/uxp-work/platform/js/src/vm/NativeObject.cpp:1840
#20 0x00007ff4ae6d56fc in GetExistingProperty<(js::AllowGC)1>Python Exception <class 'gdb.error'>: value has been optimized out
 (vp=JSVAL_VOID, shape=0x7ff4995aba50, obj=, receiver=$jsval((JSObject *) 0x7ff49192ca60 [object CSSStyleRule]), cx=0x7ff4a8ddc000)
    at /home/job/Software/uxp-work/palemoon/obj-x86_64-pc-linux-gnu/dist/include/js/RootingAPI.h:525
#21 NativeGetPropertyInline<(js::AllowGC)1>Python Exception <class 'gdb.error'>: value has been optimized out
Python Exception <class 'gdb.error'>: value has been optimized out
Python Exception <class 'gdb.error'>: value has been optimized out
Python Exception <class 'gdb.error'>: value has been optimized out
 (vp=, nameLookup=NotNameLookup, id=, receiver=, obj=, cx=0x7ff4a8ddc000) at /home/job/Software/uxp-work/platform/js/src/vm/NativeObject.cpp:2117
#22 js::NativeGetProperty(JSContext*, JS::Handle<js::NativeObject*>, JS::Handle<JS::Value>, JS::Handle<jsid>, JS::MutableHandle<JS::Value>)Python Exception <class 'gdb.error'>: value has been optimized out
Python Exception <class 'gdb.error'>: value has been optimized out

    (cx=0x7ff4a8ddc000, obj=, receiver=, id=$jsid("selectorText"), vp=<error reading variable: Cannot access memory at address 0xfff9000000000000>)
    at /home/job/Software/uxp-work/platform/js/src/vm/NativeObject.cpp:2151
#23 0x00007ff4ae6d76fd in js::GetProperty(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::Handle<jsid>, JS::MutableHandle<JS::Value>)Python Exception <class 'gdb.error'>: value has been optimized out
Python Exception <class 'gdb.error'>: value has been optimized out
Python Exception <class 'gdb.error'>: value has been optimized out

    (vp=, id=, receiver=, obj=(JSObject * const) 0x7ff49192ca60 [object CSSStyleRule], cx=0x7ff4a8ddc000)
    at /home/job/Software/uxp-work/palemoon/obj-x86_64-pc-linux-gnu/dist/include/js/RootingAPI.h:533
#24 js::GetProperty(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, js::PropertyName*, JS::MutableHandle<JS::Value>)
    (vp=JSVAL_VOID, name=<optimized out>, receiver=$jsval((JSObject *) 0x7ff49192ca60 [object CSSStyleRule]), obj=(JSObject * const) 0x7ff49192ca60 [object CSSStyleRule], cx=0x7ff4a8ddc000)
--Type <RET> for more, q to quit, c to continue without paging--
    at /home/job/Software/uxp-work/platform/js/src/jsobj.h:838
#25 js::GetProperty(JSContext*, JS::Handle<JS::Value>, JS::Handle<js::PropertyName*>, JS::MutableHandle<JS::Value>)
    (cx=cx@entry=0x7ff4a8ddc000, v=$jsval((JSObject *) 0x7ff49192ca60 [object CSSStyleRule]), name=name@entry="selectorText", vp=JSVAL_VOID)
    at /home/job/Software/uxp-work/platform/js/src/vm/Interpreter.cpp:4385
#26 0x00007ff4ae476ecb in js::jit::ComputeGetPropResult(JSContext*, js::jit::BaselineFrame*, JSOp, js::HandlePropertyName, JS::MutableHandleValue, JS::MutableHandleValue)
   Python Exception <class 'gdb.error'>: value has been optimized out
 (cx=cx@entry=0x7ff4a8ddc000, frame=<optimized out>, op=op@entry=JSOP_GETPROP, name=name@entry="selectorText", val=, Python Exception <class 'gdb.error'>: value has been optimized out

    val@entry=$jsval((JSObject *) 0x7ff49192ca60 [object CSSStyleRule]), res=, res@entry=JSVAL_VOID)
    at /home/job/Software/uxp-work/palemoon/obj-x86_64-pc-linux-gnu/dist/include/js/RootingAPI.h:582
#27 0x00007ff4ae490997 in js::jit::DoGetPropFallback(JSContext*, void*, js::jit::ICGetProp_Fallback*, JS::MutableHandleValue, JS::MutableHandleValue)
   Python Exception <class 'gdb.error'>: value has been optimized out
Python Exception <class 'gdb.error'>: value has been optimized out
 (cx=0x7ff4a8ddc000, payload=<optimized out>, stub_=0x7ff484b542f0, val=, res=) at /home/job/Software/uxp-work/platform/js/src/jit/SharedIC.h:1163
#28 0x0000310bec2509c2 in  ()
#29 0x00007ffea416c0c0 in  ()
#30 0x00007ffea416c090 in  ()
#31 0xfff9000000000000 in  ()
#32 0x00007ff4afc8bc40 in js::jit::DoGetPropFallbackInfo () at /home/job/Software/uxp-work/palemoon/obj-x86_64-pc-linux-gnu/dist/bin/libxul.so
#33 0x00007ff4a3676610 in  ()
#34 0x0000310bec290ca9 in  ()
#35 0x0000000000007821 in  ()
#36 0x00007ffea416c0f8 in  ()
#37 0x00007ff484b542f0 in  ()
#38 0xfffe7ff49192ca60 in  ()
#39 0xfffe7ff49192ca60 in  ()
#40 0xfff9000000000000 in  ()
#41 0xfffa80000000000f in  ()
#42 0xfffb7ff49a4e1a78 in  ()
#43 0xfffe7ff4828312e0 in  ()
#44 0x00007ffea416c100 in  ()
#45 0x00007ff4a2c09030 in  ()
#46 0x00007ff400000060 in  ()
#47 0x00007ff4919c7d90 in  ()
#48 0x0000000000000000 in  ()
EDIT: Seems mostly the same in the corresponding UXP commit of 32.1.0b3 (8744033a34e7ff075f90bc7f3f9ba13cfeaa9e08), with even more depth in the backtrace for some reason:

Code: Select all

Thread 1 "palemoon" received signal SIGSEGV, Segmentation fault.
nsCSSSelector::ToString (this=<optimized out>, aString=..., aSheet=0x7f8a038e2ab0, aAppend=<optimized out>) at /home/job/Software/uxp-work/platform/layout/style/StyleRule.cpp:595
595       for (const nsCSSSelector *s = this; s; s = s->mNext) {
(gdb) bt
#0  nsCSSSelector::ToString(nsAString_internal&, mozilla::CSSStyleSheet*, bool) const (this=<optimized out>, aString=..., aSheet=0x7f8a038e2ab0, aAppend=<optimized out>)
    at /home/job/Software/uxp-work/platform/layout/style/StyleRule.cpp:595
#1  0x00007f8a20653ca9 in nsCSSSelectorList::ToString(nsAString_internal&, mozilla::CSSStyleSheet*) (this=<optimized out>, aResult=..., aSheet=aSheet@entry=0x7f8a038e2ab0)
    at /home/job/Software/uxp-work/platform/layout/style/StyleRule.cpp:1034
#2  0x00007f8a2065427f in nsCSSSelector::AppendToStringWithoutCombinatorsOrNegations(nsAString_internal&, mozilla::CSSStyleSheet*, bool, bool) const
    (this=this@entry=0x7f8a0603e100, aString=..., aSheet=aSheet@entry=0x7f8a038e2ab0, aIsNegated=aIsNegated@entry=false, aUseStandardNamespacePrefixes=aUseStandardNamespacePrefixes@entry=false)
    at /home/job/Software/uxp-work/platform/layout/style/StyleRule.cpp:939
#3  0x00007f8a206546bf in nsCSSSelector::AppendToStringWithoutCombinators(nsAString_internal&, mozilla::CSSStyleSheet*, bool) const
    (this=this@entry=0x7f8a0603e100, aString=..., aSheet=aSheet@entry=0x7f8a038e2ab0, aUseStandardNamespacePrefixes=aUseStandardNamespacePrefixes@entry=false)
    at /home/job/Software/uxp-work/platform/layout/style/StyleRule.cpp:633
#4  0x00007f8a20653c1a in nsCSSSelector::ToString(nsAString_internal&, mozilla::CSSStyleSheet*, bool) const (this=<optimized out>, aString=..., aSheet=0x7f8a038e2ab0, aAppend=<optimized out>)
    at /home/job/Software/uxp-work/platform/layout/style/StyleRule.cpp:604
#5  0x00007f8a20653ca9 in nsCSSSelectorList::ToString(nsAString_internal&, mozilla::CSSStyleSheet*) (this=<optimized out>, aResult=..., aSheet=0x7f8a038e2ab0)
    at /home/job/Software/uxp-work/platform/layout/style/StyleRule.cpp:1034
#6  0x00007f8a20654868 in mozilla::css::StyleRule::GetSelectorText(nsAString_internal&) (this=<optimized out>, aSelectorText=<optimized out>)
    at /home/job/Software/uxp-work/platform/layout/style/StyleRule.cpp:1575
#7  0x00007f8a20654895 in mozilla::css::DOMCSSStyleRule::GetSelectorText(nsAString_internal&) (this=<optimized out>, aSelectorText=<optimized out>)
    at /home/job/Software/uxp-work/platform/layout/style/StyleRule.cpp:1154
#8  0x00007f8a1e959582 in NS_InvokeByIndex () at /home/job/Software/uxp-work/platform/xpcom/reflect/xptcall/md/unix/xptcinvoke_asm_x86_64_unix.S:106
#9  0x00007f8a1ef1a373 in CallMethodHelper::Invoke() (this=0x7fff7e5d21b0) at /home/job/Software/uxp-work/platform/js/xpconnect/src/XPCWrappedNative.cpp:2060
#10 CallMethodHelper::Call() (this=0x7fff7e5d21b0) at /home/job/Software/uxp-work/platform/js/xpconnect/src/XPCWrappedNative.cpp:1376
#11 XPCWrappedNative::CallMethod(XPCCallContext&, XPCWrappedNative::CallMode) (ccx=<optimized out>, mode=<optimized out>)
    at /home/job/Software/uxp-work/platform/js/xpconnect/src/XPCWrappedNative.cpp:1343
#12 0x00007f8a1ef1fe4c in XPCWrappedNative::GetAttribute(XPCCallContext&) (ccx=...) at /home/job/Software/uxp-work/platform/js/xpconnect/src/xpcprivate.h:1820
#13 XPC_WN_GetterSetter(JSContext*, unsigned int, JS::Value*) (cx=cx@entry=0x7f8a1c7da000, argc=0, vp=0x7fff7e5d2550)
    at /home/job/Software/uxp-work/platform/js/xpconnect/src/XPCWrappedNativeJSOps.cpp:1033
#14 0x00007f8a216d0441 in js::CallJSNative(JSContext*, bool (*)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&)
    (args=..., native=0x7f8a1ef1fc10 <XPC_WN_GetterSetter(JSContext*, unsigned int, JS::Value*)>, cx=0x7f8a1c7da000) at /home/job/Software/uxp-work/platform/js/src/jscntxtinlines.h:238
#15 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) (cx=cx@entry=0x7f8a1c7da000, args=..., construct=construct@entry=js::NO_CONSTRUCT)
    at /home/job/Software/uxp-work/platform/js/src/vm/Interpreter.cpp:479
#16 0x00007f8a216d06ec in InternalCall(JSContext*, js::AnyInvokeArgs const&) (cx=cx@entry=0x7f8a1c7da000, args=...) at /home/job/Software/uxp-work/platform/js/src/vm/Interpreter.cpp:524
#17 0x00007f8a216d0748 in js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>)Python Exception <class 'gdb.error'>: value has been optimized out
Python Exception <class 'gdb.error'>: value has been optimized out

    (cx=cx@entry=0x7f8a1c7da000, fval=, thisv=, args=..., rval=JSVAL_VOID) at /home/job/Software/uxp-work/platform/js/src/vm/Interpreter.cpp:543
#18 0x00007f8a216d07e7 in js::CallGetter(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>)
    (cx=cx@entry=0x7f8a1c7da000, thisv=$jsval((JSObject *) 0x7f8a0ba522e0 [object CSSStyleRule]), getter=getter@entry=$jsval((JSObject *) 0x7f8a06e495b0 [object Function "selectorText"]), rval=rval@entry=JSVAL_VOID) at /home/job/Software/uxp-work/platform/js/src/vm/Interpreter.cpp:657
#19 0x00007f8a216d08a5 in CallGetter(JSContext*, JS::HandleObject, JS::HandleValue, js::HandleShape, JS::MutableHandleValue)
   Python Exception <class 'gdb.error'>: value has been optimized out
 (cx=cx@entry=0x7f8a1c7da000, obj=obj@entry=(JSObject * const) 0x7f8a04288af0 [object XPC_WN_ModsAllowed_Proto_JSClass] delegate, receiver=, 
    Python Exception <class 'gdb.error'>: value has been optimized out
receiver@entry=$jsval((JSObject *) 0x7f8a0ba522e0 [object CSSStyleRule]), shape=, shape@entry=0x7f8a0c45c9e0, vp=vp@entry=JSVAL_VOID)
    at /home/job/Software/uxp-work/platform/js/src/vm/NativeObject.cpp:1840
#20 0x00007f8a216d0b9c in GetExistingProperty<(js::AllowGC)1>Python Exception <class 'gdb.error'>: value has been optimized out
 (vp=JSVAL_VOID, shape=0x7f8a0c45c9e0, obj=, receiver=$jsval((JSObject *) 0x7f8a0ba522e0 [object CSSStyleRule]), cx=0x7f8a1c7da000)
    at /home/job/Software/uxp-work/palemoon/obj-x86_64-pc-linux-gnu/dist/include/js/RootingAPI.h:525
#21 NativeGetPropertyInline<(js::AllowGC)1>Python Exception <class 'gdb.error'>: value has been optimized out
Python Exception <class 'gdb.error'>: value has been optimized out
Python Exception <class 'gdb.error'>: value has been optimized out
Python Exception <class 'gdb.error'>: value has been optimized out
 (vp=, nameLookup=NotNameLookup, id=, receiver=, obj=, cx=0x7f8a1c7da000) at /home/job/Software/uxp-work/platform/js/src/vm/NativeObject.cpp:2117
#22 js::NativeGetProperty(JSContext*, JS::Handle<js::NativeObject*>, JS::Handle<JS::Value>, JS::Handle<jsid>, JS::MutableHandle<JS::Value>)Python Exception <class 'gdb.error'>: value has been optimized out
Python Exception <class 'gdb.error'>: value has been optimized out

    (cx=0x7f8a1c7da000, obj=, receiver=, id=$jsid("selectorText"), vp=<error reading variable: Cannot access memory at address 0xfff9000000000000>)
    at /home/job/Software/uxp-work/platform/js/src/vm/NativeObject.cpp:2151
#23 0x00007f8a216d2b9d in js::GetProperty(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::Handle<jsid>, JS::MutableHandle<JS::Value>)Python Exception <class 'gdb.error'>: value has been optimized out
Python Exception <class 'gdb.error'>: value has been optimized out
Python Exception <class 'gdb.error'>: value has been optimized out

    (vp=, id=, receiver=, obj=(JSObject * const) 0x7f8a0ba522e0 [object CSSStyleRule], cx=0x7f8a1c7da000)
    at /home/job/Software/uxp-work/palemoon/obj-x86_64-pc-linux-gnu/dist/include/js/RootingAPI.h:533
#24 js::GetProperty(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, js::PropertyName*, JS::MutableHandle<JS::Value>)
    (vp=JSVAL_VOID, name=<optimized out>, receiver=$jsval((JSObject *) 0x7f8a0ba522e0 [object CSSStyleRule]), obj=(JSObject * const) 0x7f8a0ba522e0 [object CSSStyleRule], cx=0x7f8a1c7da000)
--Type <RET> for more, q to quit, c to continue without paging--
    at /home/job/Software/uxp-work/platform/js/src/jsobj.h:838
#25 js::GetProperty(JSContext*, JS::Handle<JS::Value>, JS::Handle<js::PropertyName*>, JS::MutableHandle<JS::Value>)
    (cx=cx@entry=0x7f8a1c7da000, v=$jsval((JSObject *) 0x7f8a0ba522e0 [object CSSStyleRule]), name=name@entry="selectorText", vp=JSVAL_VOID)
    at /home/job/Software/uxp-work/platform/js/src/vm/Interpreter.cpp:4385
#26 0x00007f8a2147236b in js::jit::ComputeGetPropResult(JSContext*, js::jit::BaselineFrame*, JSOp, js::HandlePropertyName, JS::MutableHandleValue, JS::MutableHandleValue)
   Python Exception <class 'gdb.error'>: value has been optimized out
 (cx=cx@entry=0x7f8a1c7da000, frame=<optimized out>, op=op@entry=JSOP_GETPROP, name=name@entry="selectorText", val=, Python Exception <class 'gdb.error'>: value has been optimized out

    val@entry=$jsval((JSObject *) 0x7f8a0ba522e0 [object CSSStyleRule]), res=, res@entry=JSVAL_VOID)
    at /home/job/Software/uxp-work/palemoon/obj-x86_64-pc-linux-gnu/dist/include/js/RootingAPI.h:582
#27 0x00007f8a2148be37 in js::jit::DoGetPropFallback(JSContext*, void*, js::jit::ICGetProp_Fallback*, JS::MutableHandleValue, JS::MutableHandleValue)
   Python Exception <class 'gdb.error'>: value has been optimized out
Python Exception <class 'gdb.error'>: value has been optimized out
 (cx=0x7f8a1c7da000, payload=<optimized out>, stub_=0x7f8a0ceb42f0, val=, res=) at /home/job/Software/uxp-work/platform/js/src/jit/SharedIC.h:1163
#28 0x0000069decbe99c2 in  ()
#29 0x00007fff7e5d2be8 in  ()
#30 0x00007fff7e5d2b90 in  ()
#31 0xfff9000000000000 in  ()
#32 0x00007f8a22c86c60 in js::jit::DoGetPropFallbackInfo () at /home/job/Software/uxp-work/palemoon/obj-x86_64-pc-linux-gnu/dist/bin/libxul.so
#33 0x00007f8a16776610 in  ()
#34 0x0000069decd00829 in  ()
#35 0x0000000000007821 in  ()
#36 0x00007fff7e5d2bf8 in  ()
#37 0x00007f8a0ceb42f0 in  ()
#38 0xfffe7f8a0ba522e0 in  ()
#39 0xfffe7f8a0ba522e0 in  ()
#40 0xfff9000000000000 in  ()
#41 0xfffa80000000000f in  ()
#42 0xfffb7f8a0d1ad6d0 in  ()
#43 0xfffe7f8a0d741740 in  ()
#44 0x00007f8a16776cd0 in  ()
#45 0x0000069decda7a80 in  ()
#46 0x0000000000000060 in  ()
#47 0x00007f8a036094c0 in  ()
#48 0x00000000000000a0 in  ()
#49 0x000000000ba522e0 in  ()
#50 0x00007f8a0d741740 in  ()
#51 0x0000069decda787c in  ()
#52 0x0000000000003040 in  ()
#53 0x00007f8a036eb600 in  ()
#54 0x0000000000000001 in  ()
#55 0xfffe7f8a0d741740 in  ()
#56 0xfffe7f8a0ba522e0 in  ()
#57 0x00007f8a036eb5b0 in  ()
#58 0x00007f8a0d741740 in  ()
#59 0x00007f8a165bbd10 in  ()
#60 0x00007f8a0ba522e0 in  ()
#61 0x0000069decc25dc1 in  ()
#62 0x0000000000003042 in  ()
#63 0x00007f8a027365b0 in  ()
#64 0x0000000000000003 in  ()
#65 0xfff9000000000000 in  ()
#66 0xfffe7f8a0ba522e0 in  ()
#67 0xfff8800000000104 in  ()
#68 0xfffe7f8a0364ef60 in  ()
[even more frames with no symbols...]
#171 0x0000069decc897ee in  ()
#172 0x0000000000006021 in  ()
#173 0xfffe7f8a02736510 in  ()
#174 0xfffe7f8a167a82a0 in  ()
#175 0xfffe7f8a03649510 in  ()
#176 0xfffe7f8a03645200 in  ()
#177 0xfff9000000000000 in  ()
#178 0x01007f8a0dce80a0 in  ()
#179 0x00007f8a15d09078 in  ()
#180 0x00007fff00000060 in  ()
#181 0x00007f8a165bbcd0 in  ()
#182 0x00007f8a1c7da000 in  ()
#183 0x000000047e5d3068 in  ()
#184 0x00007fff7e5d3088 in  ()
#185 0x0000069decc15e21 in  ()
#186 0x0000000000001842 in  ()
#187 0x00007f8a036eb510 in  ()
#188 0x0000000000000000 in  ()
Image

merry mimas

XUL add-ons developer. You can find a list of add-ons I manage at http://rw.rs/~job/software.html.

Mima avatar by 絵虎. Pixiv post: https://www.pixiv.net/en/artworks/15431817

Image

User avatar
FranklinDM
Add-ons Team
Add-ons Team
Posts: 575
Joined: 2017-01-14, 02:40
Location: Philippines
Contact:

Re: [Release] Swarth

Unread post by FranklinDM » 2023-03-10, 12:59

jobbautista9 wrote:
2023-03-10, 10:11
Here's the SEGV and backtrace from gdb:
Can you confirm if it still crashes with the changes in PR Issue #2151 (UXP)? You can turn off the new :not() pseudo-class implementation, what really matters is the change in this commit.

User avatar
jobbautista9
Keeps coming back
Keeps coming back
Posts: 782
Joined: 2020-11-03, 06:47
Location: Philippines
Contact:

Re: [Release] Swarth

Unread post by jobbautista9 » 2023-03-10, 13:32

Thanks for the PR. With layout.css.legacy-negation-pseudo.enabled set to false - no crash.

With layout.css.legacy-negation-pseudo.enabled set to true - the page crashes.

gdb:

Code: Select all

Thread 1 "palemoon" received signal SIGSEGV, Segmentation fault.
nsCSSSelector::ToString (this=<optimized out>, aString=..., aSheet=0x7f921f80dc90, aAppend=<optimized out>) at /home/job/Software/uxp-work/platform/layout/style/StyleRule.cpp:595
595       for (const nsCSSSelector *s = this; s; s = s->mNext) {
(gdb) bt
#0  nsCSSSelector::ToString(nsAString_internal&, mozilla::CSSStyleSheet*, bool) const (this=<optimized out>, aString=..., aSheet=0x7f921f80dc90, aAppend=<optimized out>)
    at /home/job/Software/uxp-work/platform/layout/style/StyleRule.cpp:595
#1  0x00007f9245e573c9 in nsCSSSelectorList::ToString(nsAString_internal&, mozilla::CSSStyleSheet*) (this=<optimized out>, aResult=..., aSheet=aSheet@entry=0x7f921f80dc90)
    at /home/job/Software/uxp-work/platform/layout/style/StyleRule.cpp:1040
#2  0x00007f9245e57a1f in nsCSSSelector::AppendToStringWithoutCombinatorsOrNegations(nsAString_internal&, mozilla::CSSStyleSheet*, bool, bool) const
    (this=this@entry=0x7f921e83c880, aString=..., aSheet=aSheet@entry=0x7f921f80dc90, aIsNegated=aIsNegated@entry=false, aUseStandardNamespacePrefixes=aUseStandardNamespacePrefixes@entry=false)
    at /home/job/Software/uxp-work/platform/layout/style/StyleRule.cpp:943
#3  0x00007f9245e57e3f in nsCSSSelector::AppendToStringWithoutCombinators(nsAString_internal&, mozilla::CSSStyleSheet*, bool) const
    (this=this@entry=0x7f921e83c880, aString=..., aSheet=aSheet@entry=0x7f921f80dc90, aUseStandardNamespacePrefixes=aUseStandardNamespacePrefixes@entry=false)
    at /home/job/Software/uxp-work/platform/layout/style/StyleRule.cpp:633
#4  0x00007f9245e5733a in nsCSSSelector::ToString(nsAString_internal&, mozilla::CSSStyleSheet*, bool) const (this=<optimized out>, aString=..., aSheet=0x7f921f80dc90, aAppend=<optimized out>)
    at /home/job/Software/uxp-work/platform/layout/style/StyleRule.cpp:604
#5  0x00007f9245e573c9 in nsCSSSelectorList::ToString(nsAString_internal&, mozilla::CSSStyleSheet*) (this=<optimized out>, aResult=..., aSheet=0x7f921f80dc90)
    at /home/job/Software/uxp-work/platform/layout/style/StyleRule.cpp:1040
#6  0x00007f9245e57fe8 in mozilla::css::StyleRule::GetSelectorText(nsAString_internal&) (this=<optimized out>, aSelectorText=<optimized out>)
    at /home/job/Software/uxp-work/platform/layout/style/StyleRule.cpp:1581
#7  0x00007f9245e58015 in mozilla::css::DOMCSSStyleRule::GetSelectorText(nsAString_internal&) (this=<optimized out>, aSelectorText=<optimized out>)
    at /home/job/Software/uxp-work/platform/layout/style/StyleRule.cpp:1160
#8  0x00007f92441595a2 in NS_InvokeByIndex () at /home/job/Software/uxp-work/platform/xpcom/reflect/xptcall/md/unix/xptcinvoke_asm_x86_64_unix.S:106
#9  0x00007f924471ae23 in CallMethodHelper::Invoke() (this=0x7ffd48331a80) at /home/job/Software/uxp-work/platform/js/xpconnect/src/XPCWrappedNative.cpp:2060
#10 CallMethodHelper::Call() (this=0x7ffd48331a80) at /home/job/Software/uxp-work/platform/js/xpconnect/src/XPCWrappedNative.cpp:1376
#11 XPCWrappedNative::CallMethod(XPCCallContext&, XPCWrappedNative::CallMode) (ccx=<optimized out>, mode=<optimized out>)
    at /home/job/Software/uxp-work/platform/js/xpconnect/src/XPCWrappedNative.cpp:1343
#12 0x00007f92447208fc in XPCWrappedNative::GetAttribute(XPCCallContext&) (ccx=...) at /home/job/Software/uxp-work/platform/js/xpconnect/src/xpcprivate.h:1820
#13 XPC_WN_GetterSetter(JSContext*, unsigned int, JS::Value*) (cx=cx@entry=0x7f92420de000, argc=0, vp=0x7ffd48331e20)
    at /home/job/Software/uxp-work/platform/js/xpconnect/src/XPCWrappedNativeJSOps.cpp:1033
#14 0x00007f9246ed5041 in js::CallJSNative(JSContext*, bool (*)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&)
    (args=..., native=0x7f92447206c0 <XPC_WN_GetterSetter(JSContext*, unsigned int, JS::Value*)>, cx=0x7f92420de000) at /home/job/Software/uxp-work/platform/js/src/jscntxtinlines.h:238
#15 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) (cx=cx@entry=0x7f92420de000, args=..., construct=construct@entry=js::NO_CONSTRUCT)
    at /home/job/Software/uxp-work/platform/js/src/vm/Interpreter.cpp:479
#16 0x00007f9246ed52ec in InternalCall(JSContext*, js::AnyInvokeArgs const&) (cx=cx@entry=0x7f92420de000, args=...) at /home/job/Software/uxp-work/platform/js/src/vm/Interpreter.cpp:524
#17 0x00007f9246ed5348 in js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>)Python Exception <class 'gdb.error'>: value has been optimized out
Python Exception <class 'gdb.error'>: value has been optimized out

    (cx=cx@entry=0x7f92420de000, fval=, thisv=, args=..., rval=JSVAL_VOID) at /home/job/Software/uxp-work/platform/js/src/vm/Interpreter.cpp:543
#18 0x00007f9246ed53e7 in js::CallGetter(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>)
    (cx=cx@entry=0x7f92420de000, thisv=$jsval((JSObject *) 0x7f922b5d3c70 [object CSSStyleRule]), getter=getter@entry=$jsval((JSObject *) 0x7f921c46d920 [object Function "selectorText"]), rval=rval@entry=JSVAL_VOID) at /home/job/Software/uxp-work/platform/js/src/vm/Interpreter.cpp:657
#19 0x00007f9246ed54a5 in CallGetter(JSContext*, JS::HandleObject, JS::HandleValue, js::HandleShape, JS::MutableHandleValue)
   Python Exception <class 'gdb.error'>: value has been optimized out
 (cx=cx@entry=0x7f92420de000, obj=obj@entry=(JSObject * const) 0x7f9226c1f610 [object XPC_WN_ModsAllowed_Proto_JSClass] delegate, receiver=, 
    Python Exception <class 'gdb.error'>: value has been optimized out
receiver@entry=$jsval((JSObject *) 0x7f922b5d3c70 [object CSSStyleRule]), shape=, shape@entry=0x7f9226c81040, vp=vp@entry=JSVAL_VOID)
    at /home/job/Software/uxp-work/platform/js/src/vm/NativeObject.cpp:1840
#20 0x00007f9246ed579c in GetExistingProperty<(js::AllowGC)1>Python Exception <class 'gdb.error'>: value has been optimized out
 (vp=JSVAL_VOID, shape=0x7f9226c81040, obj=, receiver=$jsval((JSObject *) 0x7f922b5d3c70 [object CSSStyleRule]), cx=0x7f92420de000)
    at /home/job/Software/uxp-work/palemoon/obj-x86_64-pc-linux-gnu/dist/include/js/RootingAPI.h:525
#21 NativeGetPropertyInline<(js::AllowGC)1>Python Exception <class 'gdb.error'>: value has been optimized out
Python Exception <class 'gdb.error'>: value has been optimized out
Python Exception <class 'gdb.error'>: value has been optimized out
Python Exception <class 'gdb.error'>: value has been optimized out
 (vp=, nameLookup=NotNameLookup, id=, receiver=, obj=, cx=0x7f92420de000) at /home/job/Software/uxp-work/platform/js/src/vm/NativeObject.cpp:2117
#22 js::NativeGetProperty(JSContext*, JS::Handle<js::NativeObject*>, JS::Handle<JS::Value>, JS::Handle<jsid>, JS::MutableHandle<JS::Value>)Python Exception <class 'gdb.error'>: value has been optimized out
Python Exception <class 'gdb.error'>: value has been optimized out

    (cx=0x7f92420de000, obj=, receiver=, id=$jsid("selectorText"), vp=<error reading variable: Cannot access memory at address 0xfff9000000000000>)
    at /home/job/Software/uxp-work/platform/js/src/vm/NativeObject.cpp:2151
#23 0x00007f9246ed779d in js::GetProperty(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::Handle<jsid>, JS::MutableHandle<JS::Value>)Python Exception <class 'gdb.error'>: value has been optimized out
Python Exception <class 'gdb.error'>: value has been optimized out
Python Exception <class 'gdb.error'>: value has been optimized out

    (vp=, id=, receiver=, obj=(JSObject * const) 0x7f922b5d3c70 [object CSSStyleRule], cx=0x7f92420de000)
    at /home/job/Software/uxp-work/palemoon/obj-x86_64-pc-linux-gnu/dist/include/js/RootingAPI.h:533
#24 js::GetProperty(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, js::PropertyName*, JS::MutableHandle<JS::Value>)
    (vp=JSVAL_VOID, name=<optimized out>, receiver=$jsval((JSObject *) 0x7f922b5d3c70 [object CSSStyleRule]), obj=(JSObject * const) 0x7f922b5d3c70 [object CSSStyleRule], cx=0x7f92420de000)
--Type <RET> for more, q to quit, c to continue without paging--
    at /home/job/Software/uxp-work/platform/js/src/jsobj.h:838
#25 js::GetProperty(JSContext*, JS::Handle<JS::Value>, JS::Handle<js::PropertyName*>, JS::MutableHandle<JS::Value>)
    (cx=cx@entry=0x7f92420de000, v=$jsval((JSObject *) 0x7f922b5d3c70 [object CSSStyleRule]), name=name@entry="selectorText", vp=JSVAL_VOID)
    at /home/job/Software/uxp-work/platform/js/src/vm/Interpreter.cpp:4385
#26 0x00007f9246c76f6b in js::jit::ComputeGetPropResult(JSContext*, js::jit::BaselineFrame*, JSOp, js::HandlePropertyName, JS::MutableHandleValue, JS::MutableHandleValue)
   Python Exception <class 'gdb.error'>: value has been optimized out
 (cx=cx@entry=0x7f92420de000, frame=<optimized out>, op=op@entry=JSOP_GETPROP, name=name@entry="selectorText", val=, Python Exception <class 'gdb.error'>: value has been optimized out

    val@entry=$jsval((JSObject *) 0x7f922b5d3c70 [object CSSStyleRule]), res=, res@entry=JSVAL_VOID)
    at /home/job/Software/uxp-work/palemoon/obj-x86_64-pc-linux-gnu/dist/include/js/RootingAPI.h:582
#27 0x00007f9246c90a37 in js::jit::DoGetPropFallback(JSContext*, void*, js::jit::ICGetProp_Fallback*, JS::MutableHandleValue, JS::MutableHandleValue)
   Python Exception <class 'gdb.error'>: value has been optimized out
Python Exception <class 'gdb.error'>: value has been optimized out
 (cx=0x7f92420de000, payload=<optimized out>, stub_=0x7f92201242f0, val=, res=) at /home/job/Software/uxp-work/platform/js/src/jit/SharedIC.h:1163
#28 0x00003e8b729039c2 in  ()
#29 0x00007ffd48332490 in  ()
#30 0x00007ffd48332460 in  ()
#31 0xfff9000000000000 in  ()
#32 0x00007f924848bca0 in js::jit::DoGetPropFallbackInfo () at /home/job/Software/uxp-work/palemoon/obj-x86_64-pc-linux-gnu/dist/bin/libxul.so
#33 0x00007f923b376610 in  ()
#34 0x00003e8b72b1a599 in  ()
#35 0x0000000000007821 in  ()
#36 0x00007ffd483324c8 in  ()
#37 0x00007f92201242f0 in  ()
#38 0xfffe7f922b5d3c70 in  ()
#39 0xfffe7f922b5d3c70 in  ()
#40 0xfff9000000000000 in  ()
#41 0xfffa80000000000f in  ()
#42 0xfffb7f922891fb20 in  ()
#43 0xfffe7f923b3a62e0 in  ()
#44 0x00007ffd48332c00 in  ()
#45 0x00007f92420f9030 in  ()
#46 0x00007f9200000060 in  ()
#47 0x00007f922bacbc10 in  ()
#48 0x0000000000000008 in  ()
#49 0x0000000048332fe0 in  ()
#50 0x00007ffd48332538 in  ()
#51 0x00003e8b7298af61 in  ()
#52 0x0000000000002842 in  ()
#53 0x00007f922b5ec060 in  ()
#54 0x0000000000000001 in  ()
#55 0xfffe7f923b3a62e0 in  ()
#56 0xfffe7f922b5d3c70 in  ()
#57 0x00007f924848bca0 in js::jit::DoGetPropFallbackInfo () at /home/job/Software/uxp-work/palemoon/obj-x86_64-pc-linux-gnu/dist/bin/libxul.so
#58 0x00007ffd483325a8 in  ()
#59 0x00007f921fbaf500 in  ()
#60 0x00003e8b72b12337 in  ()
#61 0x0000000000005821 in  ()
#62 0xfffe7f922b5d3c70 in  ()
#63 0xfffe7f923b3a62e0 in  ()
#64 0xfffe7f922b5ec060 in  ()
#65 0xfffe7f923b3a62e0 in  ()
#66 0xfffe7f922b5e7fb0 in  ()
#67 0x00007f9248488da0 in js::jit::GetPropertyIC::UpdateInfo () at /home/job/Software/uxp-work/palemoon/obj-x86_64-pc-linux-gnu/dist/bin/libxul.so
#68 0x00007f9200000058 in  ()
[...]
#171 0xfffa800000000008 in  ()
#172 0xfff8800000000003 in  ()
#173 0xfff9000000000000 in  ()
#174 0xfff8800000000010 in  ()
#175 0xfffe7f921b8c1d40 in  ()
#176 0x00007f922b51bb20 in  ()
#177 0x00007ffd483329c8 in  ()
#178 0x0000000000000090 in  ()
#179 0x00007f922bacbc10 in  ()
#180 0x00007f921b8c13a0 in  ()
#181 0x0000000048332d30 in  ()
#182 0x00007ffd48332950 in  ()
#183 0x00003e8b72a5da3e in  ()
#184 0x0000000000002042 in  ()
#185 0x00007f922b50de70 in  ()
#186 0x0000000000000001 in  ()
#187 0xfffe7f921b8c1d40 in  ()
#188 0xfffe7f921c56d1f0 in  ()
#189 0x00007ffd483329c8 in  ()
#190 0x00007f9220ad21a0 in  ()
#191 0x00003e8b72a5d02e in  ()
#192 0x0000000000006021 in  ()
#193 0xfffe7f921c56d1f0 in  ()
#194 0xfffe7f921b8c1d40 in  ()
#195 0xfffe7f922b50de70 in  ()
#196 0xfffe7f922b50b700 in  ()
#197 0xfff9000000000000 in  ()
#198 0x00007ffd48333870 in  ()
#199 0x00007f923b309d60 in  ()
#200 0x00007f9200000060 in  ()
#201 0x00007f923bd7f760 in  ()
#202 0x00007ffd48333870 in  ()
#203 0x0000000400000001 in  ()
#204 0x00007ffd483329f8 in  ()
#205 0x00003e8b7298af61 in  ()
#206 0x0000000000001842 in  ()
#207 0x00007f922b5e7f10 in  ()
#208 0x0000000000000000 in  ()
Image

merry mimas

XUL add-ons developer. You can find a list of add-ons I manage at http://rw.rs/~job/software.html.

Mima avatar by 絵虎. Pixiv post: https://www.pixiv.net/en/artworks/15431817

Image

User avatar
FranklinDM
Add-ons Team
Add-ons Team
Posts: 575
Joined: 2017-01-14, 02:40
Location: Philippines
Contact:

Re: [Release] Swarth

Unread post by FranklinDM » 2023-03-10, 16:32

jobbautista9 wrote:
2023-03-10, 13:32
With layout.css.legacy-negation-pseudo.enabled set to true - the page crashes.
gdb:
From what I can tell, it seems like we have a problem with :is()/:where() serialization (GetSelectorText) that badly interacts with the older :not() pseudo-class implementation on Linux optimized release builds...

EDIT: Disabling is-where pseudo support also fixes the crashes...

User avatar
FranklinDM
Add-ons Team
Add-ons Team
Posts: 575
Joined: 2017-01-14, 02:40
Location: Philippines
Contact:

Re: [Release] Swarth

Unread post by FranklinDM » 2023-03-10, 17:08

I've attached a test case that always triggers the crash on Linux optimized release builds: https://gist.github.com/FranklinDM/be05 ... 2e3d1fc1d9

What's really odd here is serialization (GetSelectorText) works without problems on both Windows (release/debug) builds and unoptimized debug Linux builds...

EDIT: Disabling optimizations just for the nsCSSSelector::ToString method also fixes the issue.
Attachments
Pale Moon (unoptimzed debug build) on Linux
Pale Moon (unoptimzed debug build) on Linux

User avatar
FranklinDM
Add-ons Team
Add-ons Team
Posts: 575
Joined: 2017-01-14, 02:40
Location: Philippines
Contact:

Re: [Release] Swarth

Unread post by FranklinDM » 2023-03-11, 04:02

Found the issue and me building primarily with MSVC was just hiding the cause :oops: . I'll be sending a follow-up PR to the :is()/:where() implementation which should address this.

EDIT: @jobbautista9 can you test if PR Issue #2154 (UXP) resolves the issue? Thanks!

User avatar
jobbautista9
Keeps coming back
Keeps coming back
Posts: 782
Joined: 2020-11-03, 06:47
Location: Philippines
Contact:

Re: [Release] Swarth

Unread post by jobbautista9 » 2023-03-11, 05:10

Yep, can confirm that the page no longer crashes for me now, with both about:config values. Thanks for the PR! :thumbup:
Image

merry mimas

XUL add-ons developer. You can find a list of add-ons I manage at http://rw.rs/~job/software.html.

Mima avatar by 絵虎. Pixiv post: https://www.pixiv.net/en/artworks/15431817

Image

Locked