LiveClick (and LiveClick Lunar) Crashes v29 Topic is solved

Add-ons for Pale Moon and other applications
General discussion, compatibility, contributed extensions, themes, plugins, and more.

Moderators: FranklinDM, Lootyhoof

User avatar
RealityRipple
Astronaut
Astronaut
Posts: 666
Joined: 2018-05-17, 02:34
Location: Los Berros Canyon, California

LiveClick (and LiveClick Lunar) Crashes v29

Unread post by RealityRipple » 2021-02-02, 23:15

Do not use LiveClick or LiveClick Lunar with Pale Moon 29. The crash I ran into on trunk (end of post #24 through post #28) was caused by changes which made it to this release. No estimate on a fix at this time.

User avatar
billmcct
Keeps coming back
Keeps coming back
Posts: 959
Joined: 2012-09-04, 15:19
Location: Costa Rica & Union City Georgia USA

Re: LiveClick (and LiveClick Lunar) Crashes v29

Unread post by billmcct » 2021-02-02, 23:56

Yeah, found that out early this morning. I also tried the old version too, which I had never uninstalled, only disabled.
I was going to get around to notifying you of this but forgot with all the other problems I have been trying to sort out with v29.
--------------------------------------------------------------------------------------------------------------
The difference between the Impossible and the Possible lies in a man's Determination.
Tommy Lasorda

User avatar
moonbat
Knows the dark side
Knows the dark side
Posts: 4983
Joined: 2015-12-09, 15:45

Re: LiveClick (and LiveClick Lunar) Crashes v29

Unread post by moonbat » 2021-02-03, 00:34

Please fix this :(
It's one of my favorite extensions and I use it to stay notified of forum replies on other forums that have RSS support.
"One hosts to look them up, one DNS to find them and in the darkness BIND them."

Image
Linux Mint 21 Xfce x64 on HP i5-5200 laptop, 12 GB RAM.
AutoPageColor|PermissionsPlus|PMPlayer|Pure URL|RecordRewind|TextFX

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

Re: LiveClick (and LiveClick Lunar) Crashes v29

Unread post by Moonchild » 2021-02-03, 00:37

does it actually crash the browser (appcrash/segfault)? If so then we need to drop this on the blocklist.
"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
RealityRipple
Astronaut
Astronaut
Posts: 666
Joined: 2018-05-17, 02:34
Location: Los Berros Canyon, California

Re: LiveClick (and LiveClick Lunar) Crashes v29

Unread post by RealityRipple » 2021-02-03, 01:32

I've already released a new version of LiveClick Lunar with strictCompatibility enabled to prevent it running on 29.

New Tobin Paradigm

Re: LiveClick (and LiveClick Lunar) Crashes v29

Unread post by New Tobin Paradigm » 2021-02-03, 01:49

People will just edit the install manifest. Why don't you fix it instead?

User avatar
RealityRipple
Astronaut
Astronaut
Posts: 666
Joined: 2018-05-17, 02:34
Location: Los Berros Canyon, California

Re: LiveClick (and LiveClick Lunar) Crashes v29

Unread post by RealityRipple » 2021-02-03, 02:02

It was a quick stop-gap to prevent people from making a bunch of "my browser crashed" posts and bug reports.

I don't think I can truly "fix" it. For now, I've prevented the crash by commenting out a line and have published that for v29 compatibility, but I'm not actually certain what that line accomplishes in the extension or why it's crashing the browser, or if other calls to the same function might trigger additional crashes that I just haven't exposed yet. I gave up my research on the crash when I realized it wasn't part of the patch I was working on at the time.


If anyone notices a functionality change or break or any other odd behavior in the new version, PLEASE LET ME KNOW! I'm a bit busy to delve into it at the moment.

New Tobin Paradigm

Re: LiveClick (and LiveClick Lunar) Crashes v29

Unread post by New Tobin Paradigm » 2021-02-03, 02:41

Crash dump might be worthwhile or failing that sure fire steps to reproduce and I can generate a dump and give it to Moonchild which can actually debug it.. If it crashes on the Windows.

User avatar
sciuro
Moongazer
Moongazer
Posts: 12
Joined: 2018-09-15, 18:16

Re: LiveClick (and LiveClick Lunar) Crashes v29

Unread post by sciuro » 2021-02-03, 05:36

Thank you for the "fix". Just installed your LiveClick Lunar as I can not imagine a browser without LiveClick.
For now I can click on Bookmarks again without any crash and the LiveBookmarks seems working good.
To reproduce the crash: install LiveClick (caa:addon/liveclick) on a fresh PaleMoon v29.0.0 in Windows x64 (2004-OS Build 19041.746) and click on Bookmarks.

User avatar
RealityRipple
Astronaut
Astronaut
Posts: 666
Joined: 2018-05-17, 02:34
Location: Los Berros Canyon, California

Re: LiveClick (and LiveClick Lunar) Crashes v29

Unread post by RealityRipple » 2021-02-03, 07:01

Opening any bookmark folders in the toolbars that contain live bookmarks also triggers the crash.

Basically anything that would trigger PlacesViewBase's _insertNewItemToPopup (from chrome://browser/content/places/browserPlacesViews.js) event gets a dummy listener element attached to it after creation, and one of those two things results in a crash. If I recall from attempting to debug it, the object wasn't created yet or the internal pointer to it had been freed already when attaching the listener... or something along those lines.



I made a quick test script. Just this overlaid into browser.xul is enough to cause a crash:

Code: Select all

var CrashTestDummy =
{
 init: function()
 {
  let oldFun = PlacesViewBase.prototype._insertNewItemToPopup;
  PlacesViewBase.prototype._insertNewItemToPopup = function(aNewChild, aPopup, aBefore)
  {
   let element = oldFun.apply(this, arguments);
   if (!PlacesUtils.nodeIsFolder(aNewChild))
    return element;
   let test = document.createElement('box');
   element.appendChild(test);
   return element;
  }
 }
};
window.addEventListener('load', function() { CrashTestDummy.init(); }, false);

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

Re: LiveClick (and LiveClick Lunar) Crashes v29

Unread post by Moonchild » 2021-02-03, 08:04

sciuro wrote:
2021-02-03, 05:36
To reproduce the crash: install LiveClick (caa:addon/liveclick) on a fresh PaleMoon v29.0.0 in Windows x64 (2004-OS Build 19041.746) and click on Bookmarks.
I can't even install it; it says it's incompatible XD
"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
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35650
Joined: 2011-08-28, 17:27
Location: Motala, SE

Re: LiveClick (and LiveClick Lunar) Crashes v29

Unread post by Moonchild » 2021-02-03, 08:11

RealityRipple wrote:
2021-02-03, 07:01
I made a quick test script.
So you are effectively replacing the internal places function with something else. That's risky to begin with, regardless of what you're doing.
Could you wrap that test dummy up into an xpi overlaid in a way it crashes and PM it to me?
"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
RealityRipple
Astronaut
Astronaut
Posts: 666
Joined: 2018-05-17, 02:34
Location: Los Berros Canyon, California

Re: LiveClick (and LiveClick Lunar) Crashes v29

Unread post by RealityRipple » 2021-02-03, 09:06

Moonchild wrote:
2021-02-03, 08:11
RealityRipple wrote:
2021-02-03, 07:01
I made a quick test script.
So you are effectively replacing the internal places function with something else. That's risky to begin with, regardless of what you're doing.
Could you wrap that test dummy up into an xpi overlaid in a way it crashes and PM it to me?
Replacing, but immediately calling the original before doing anything else. And I didn't write it; I'm just curating it.

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

Re: LiveClick (and LiveClick Lunar) Crashes v29

Unread post by Moonchild » 2021-02-03, 09:12

I tried your crash test dummy xpi but it doesn't crash anything for me in my dev setup. :/
Yes I made sure to have a live bookmark in my bookmarks toolbar.
Replacing, but immediately calling the original before doing anything else.
And assuming it always succeeds by assigning it to a var and then adding children to the var without checking. Not the most safe way of going about it ;P
"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
RealityRipple
Astronaut
Astronaut
Posts: 666
Joined: 2018-05-17, 02:34
Location: Los Berros Canyon, California

Re: LiveClick (and LiveClick Lunar) Crashes v29

Unread post by RealityRipple » 2021-02-03, 09:30

Tested in a brand new profile on v29.0. Just trying to add a new live bookmark to the Bookmarks list instead of the toolbar crashed the browser. Same with trying to drag one from the toolbar into a folder on the toolbar. Used both Windows 10 and Arch Linux (gtk3).



Also just tried delaying and abstracting the call with:

Code: Select all

var CrashTestDummy =
{
 init: function()
 {
  let oldFun = PlacesViewBase.prototype._insertNewItemToPopup;
  PlacesViewBase.prototype._insertNewItemToPopup = function(aNewChild, aPopup, aBefore)
  {
   let element = oldFun.apply(this, arguments);
   if (!PlacesUtils.nodeIsFolder(aNewChild))
    return element;
   let lbl = element.getAttribute('label');
   let pops = element.parentElement;
   setTimeout(function(){
    for (let i = 0; i < pops.children.length; i++)
    {
     if (pops.children[i].tagName !== 'menu')
      continue;
     if (!pops.children[i].hasAttribute('label'))
      continue;
     if (pops.children[i].getAttribute('label') !== lbl)
      continue;
     let test = document.createElement('box');
     pops.children[i].appendChild(test);
     break;
    }
   }, 350);
   return element;
  }
 }
};
window.addEventListener('load', function() { CrashTestDummy.init(); }, false);
It just crashes after 350 ms instead. Not sure the override of _insertNewItemToPopup has anything to do with it. I'll try to narrow things down in the morning.

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

Re: LiveClick (and LiveClick Lunar) Crashes v29

Unread post by Moonchild » 2021-02-03, 09:56

Ah there we go. finally. I added to the toolbar and it didn't crash.
And yes, it is indeed very much because you're telling the browser to append a child to something that is null. The node binding attempting to add something to null crashes (no surprise there).

EDIT: So it's pretty far into the CSS frame constructor code that this goes wrong, in nsCSSFrameConstructor::IsValidSibling which is passed a null aContent.
Avoiding this crash is easy, but I'm not sure what the effect would be on the calling code.
"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
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35650
Joined: 2011-08-28, 17:27
Location: Motala, SE

Re: LiveClick (and LiveClick Lunar) Crashes v29

Unread post by Moonchild » 2021-02-03, 11:17

"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
RealityRipple
Astronaut
Astronaut
Posts: 666
Joined: 2018-05-17, 02:34
Location: Los Berros Canyon, California

Re: LiveClick (and LiveClick Lunar) Crashes v29

Unread post by RealityRipple » 2021-02-03, 17:58

Thanks for that. I'll see if I can make the JS this extension uses a little... saner.

User avatar
billmcct
Keeps coming back
Keeps coming back
Posts: 959
Joined: 2012-09-04, 15:19
Location: Costa Rica & Union City Georgia USA

Re: LiveClick (and LiveClick Lunar) Crashes v29

Unread post by billmcct » 2021-02-03, 21:40

sciuro wrote:
2021-02-03, 05:36
I can not imagine a browser without LiveClick.
I personally have to have: JustOff's https://addons.palemoon.org/addon/respo ... s-toolbar/
so I don't have to click anything.

Edit:
@RealityRipple, Thanks for the update to LCL. It was the biggest problem I had with v29. After disabling it I had to fix two others also.
--------------------------------------------------------------------------------------------------------------
The difference between the Impossible and the Possible lies in a man's Determination.
Tommy Lasorda

User avatar
billmcct
Keeps coming back
Keeps coming back
Posts: 959
Joined: 2012-09-04, 15:19
Location: Costa Rica & Union City Georgia USA

Re: LiveClick (and LiveClick Lunar) Crashes v29

Unread post by billmcct » 2021-02-03, 22:35

@RealityRipple, One thing I have noticed is that the update to LCL no longer colors new posts.
--------------------------------------------------------------------------------------------------------------
The difference between the Impossible and the Possible lies in a man's Determination.
Tommy Lasorda