PM4Linux and oxygen-gtk: a better solution

Users and developers helping users with generic and technical Pale Moon issues on all operating systems.

Moderator: trava90

Forum rules
This board is for technical/general usage questions and troubleshooting for the Pale Moon browser only.
Technical issues and questions not related to the Pale Moon browser should be posted in other boards!
Please keep off-topic and general discussion out of this board, thank you!
User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35477
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Re: PM4Linux and oxygen-gtk: a better solution

Unread post by Moonchild » 2014-07-08, 12:35

I think another important question to ask would be: what is different in the way Mozilla builds linux browsers compared to how it is done for Pale Moon? Is there a different toolchain used? different compiler? different optimization/configure options that would cause this?
"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
Antonius32
Add-ons Team
Add-ons Team
Posts: 695
Joined: 2014-05-25, 11:18
Location: Netherlands

Re: PM4Linux and oxygen-gtk: a better solution

Unread post by Antonius32 » 2014-07-08, 13:54

I think access2godzilla has ruled out that option already:
access2godzilla wrote:And you're right, Firefox ESR, even the ones that I built myself, doesn't crash (That eliminates the possibility that the toolchains were responsible.)

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

Re: PM4Linux and oxygen-gtk: a better solution

Unread post by Moonchild » 2014-07-08, 19:36

Antonius32 wrote:I think access2godzilla has ruled out that option already:
All right, so how about optimization/configure options in use?
"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

access2godzilla

Re: PM4Linux and oxygen-gtk: a better solution

Unread post by access2godzilla » 2014-07-09, 08:10

I tried making a debugging enabled, non-optimised build and that crashes too. As far as flags are concerned, I did need a --disable-elf-hack for Firefox but not for Pale Moon. Hence I also built a debug enabled, non-optimised build with --disable-elf-hack, but that didn't help.

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

Re: PM4Linux and oxygen-gtk: a better solution

Unread post by Moonchild » 2014-07-09, 09:07

Definitely a conundrum. I wish I could provide more insight, but there aren't any code changes that I know of that would possibly affect this - mainly because I still don't know what falls over in that specific theme...
"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

access2godzilla

Re: PM4Linux and oxygen-gtk: a better solution

Unread post by access2godzilla » 2014-07-09, 11:56

Moonchild wrote:but there aren't any code changes that I know of that would possibly affect this
My question is, what can I eliminate from the diff? Can I eliminate all js, css, html/xul files from it?
Moonchild wrote:I still don't know what falls over in that specific theme...
This is, strictly speaking, not our problem: this is just a horribly made theme that mucks about at a dangerously low level with every GTK program. I'm trying to just find out what Pale Moon does differently from Firefox that causes this.

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

Re: PM4Linux and oxygen-gtk: a better solution

Unread post by Moonchild » 2014-07-09, 22:27

access2godzilla wrote:My question is, what can I eliminate from the diff? Can I eliminate all js, css, html/xul files from it?
No, not necessarily. If it is as unstable at a low level as you say it is, then anything can set it off. Browser chrome is drawn in very much the same way as page content. It uses hardware acceleration when available, and as such uses textures and layers with different properties and drawing methods. A simple css effect or size can set it off if it hits a sore spot. Adding or removing a XUL visual element could, too. dynamically changing something with js can also cause errors. Different font rendering, blurring method, etc. all can contribute to the problem - it's like trying to find out what makes a bad video driver fall over, and it's best to simply not try to use it, at all.
"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

access2godzilla

Re: PM4Linux and oxygen-gtk: a better solution

Unread post by access2godzilla » 2014-07-10, 09:42

The above was also a request to see what could be eliminated from the diff. I don't think anything in /browser/branding/* or /browser/themes/* could cause crashes ;)

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

Re: PM4Linux and oxygen-gtk: a better solution

Unread post by Moonchild » 2014-07-10, 10:13

access2godzilla wrote:The above was also a request to see what could be eliminated from the diff. I don't think anything in /browser/branding/* or /browser/themes/* could cause crashes ;)
Actually, yes they can if the skinning back-end in the OS is very unstable, just using a different bitmap could already cause it... so themes and branding ARE just as much candidates for triggering a problem.

I can't help but wonder why it's made the default for a number of distros if it is known to cause crashes in many applications?
"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

access2godzilla

Re: PM4Linux and oxygen-gtk: a better solution

Unread post by access2godzilla » 2014-07-12, 16:13

Not really willing to scan through ~10000 lines to find where the problem is (not even considering the fact that I don't have the time these days). But I think branding and such can be eliminated because branding isn't being rendered when the browser menus are opened. Culling the list gives me this, and I still have to go over ~3000 lines:

Code: Select all

./browser/base/content/browser-feeds.js
./browser/base/content/aboutDialog.css
./browser/base/content/aboutDialog.xul
./browser/base/content/nsContextMenu.js
./browser/base/content/safeMode.js
./browser/base/content/safeMode.xul
./browser/base/content/browser-fullScreen.js
./browser/base/content/browser-plugins.js
./browser/base/content/browser-sets.inc
./browser/base/content/browser-tabPreviews.js
./browser/base/content/browser-tabPreviews.xml
./browser/base/content/browser.css
./browser/base/content/browser.js
./browser/base/content/browser.xul
./browser/base/content/tabbrowser.xml
./browser/base/content/test/browser_ctrlTab.js
./browser/base/content/test/browser_visibleTabs.js
./browser/base/content/web-panels.xul
./browser/base/content/browser-context.inc
./browser/base/content/browser-doctype.inc
./browser/base/jar.mn
./browser/components/about/AboutRedirector.cpp
./browser/components/build/nsModule.cpp
./browser/components/moz.build
./browser/components/nsBrowserGlue.js
./browser/components/preferences/advanced.xul
./browser/components/preferences/tabs.xul
./browser/components/preferences/content.xul
./browser/components/sessionstore/src/SessionStore.jsm
./browser/components/shell/src/nsWindowsShellService.cpp
./browser/locales/en-US/chrome/browser/aboutSessionRestore.dtd
./browser/locales/en-US/chrome/browser/browser.dtd
./browser/locales/en-US/chrome/browser/browser.properties
./browser/locales/en-US/chrome/browser/safeMode.dtd
./browser/locales/en-US/chrome/overrides/appstrings.properties
./browser/locales/en-US/defines.inc
./browser/locales/en-US/searchplugins/list.txt
./browser/locales/generic/profile/bookmarks.html.in
./browser/locales/jar.mn
./browser/modules/WindowsPreviewPerTab.jsm
./browser/themes/linux/jar.mn
./browser/themes/linux/browser.css
./browser/themes/shared/browser.inc
./modules/libpref/src/init/all.js
./toolkit/components/downloads/nsDownloadManager.h
./toolkit/content/jar.mn
./toolkit/content/resetProfile.js
./toolkit/content/widgets/tabbox.xml
./toolkit/modules/LightweightThemeConsumer.jsm
./toolkit/mozapps/downloads/content/downloads.xul
./toolkit/themes/osx/global/media/TopLevelImageDocument.css
./toolkit/themes/windows/global/media/TopLevelImageDocument.css
./content/html/document/src/ImageDocument.cpp
./content/html/document/src/ImageDocument.h
Since the crashes occur when any menus are opened, my question would be: was anything changed that would relate to drawing of menus? With a cursory glance I found things that had to do with adding some options to the context menu, but nothing more.

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

Re: PM4Linux and oxygen-gtk: a better solution

Unread post by Moonchild » 2014-07-12, 17:14

access2godzilla wrote:Since the crashes occur when any menus are opened, my question would be: was anything changed that would relate to drawing of menus? With a cursory glance I found things that had to do with adding some options to the context menu, but nothing more.
The actual mechanics for drawing of menus is no different than in Firefox.
"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
Antonius32
Add-ons Team
Add-ons Team
Posts: 695
Joined: 2014-05-25, 11:18
Location: Netherlands

Re: PM4Linux and oxygen-gtk: a better solution

Unread post by Antonius32 » 2014-07-22, 18:13

I'm just curious: any new developments on this matter?

Locked