Author Topic: Firefox problem, was Re: IRC speakup with BWW this Saturday (3 of March)!  (Read 29507 times)

Neil Waldhauer

  • Hero Member
  • *****
  • Posts: 1020
  • Karma: +24/-0
    • View Profile
    • Blonde Guy
Well, I missed my chance to ask, but the question I would have asked is this:

What is going on with Firefox? As it stands, I can leave the browser pointed to a modern, active webpage, and after some time, the system will reset. I've been doing this long enough to recognize kernel corruption. Firefox runs the system out of some resource, and the kernel is not protected from such a shortage.

Having solved some of these problems in legacy industrial systems, I know they are challenging to solve. Is there any hope that a future version of Firefox will be more forgiving of system shortages?

Is the problem actually in Firefox?
Expert consulting for ArcaOS, OS/2 and eComStation
http://www.blondeguy.com

Lars

  • Hero Member
  • *****
  • Posts: 1268
  • Karma: +65/-0
    • View Profile
Are you sure it is a Firefox problem ?

Sometimes I have reboots if I just open the Master volume control (volume.exe). And I had it on other occasions starting applications. But I also had occasions where I would get a "page fault" exception in Ring 0 (for which I generated a system dump).
I think there is a fundamental flaw in some very basic system component. That could be the OS virtual memory manager. But it can also be DOSCALL1.DLL as that is used by about any process that is started.
I think the virtual memory manager is the more likely culprit. And it much looks like it is a serialization issue (access not properly serialized on updating memory structures etc.) as it only happens occasionally.
If you have Theseus: run "getws.exe" and watch your system reboot ...



Dave Yeo

  • Hero Member
  • *****
  • Posts: 4775
  • Karma: +99/-1
    • View Profile
Mozilla definitely makes things worse, probably due to memory fragmentation and running out of certain types of memory.
I run both SeaMonkey and Thunderbird as I seem to be in charge of them. In eCS, after about 3 days of uptime, I'd open a tab or window and spontaneously reboot. ArcaOS doesn't do this, instead I get freezes, usually in text mode applications such as trying to run rsync to back stuff up, sometimes the desktop and often SM doesn't finish closing. Interestingly, while on dial up and using Injoy, Mozilla apps were continuously crashing on me with problems allocating JS memory. Retiring Injoy fixed that with 4 crashes in 3 months, all when querying the system about fonts.
Mozilla is just getting too big and 32bit Windows has lots of problems with OOM (out of memory) crashes that go away just by running 32 bit Firefox on 64 bit Windows. I understand that Chrome is even worse as it spawns more processes to sandbox various things, so moving to Chromium isn't a simple solution. Our platform is an old design and the designers probably never imagined running stuff like Firefox.

As for crashes when opening the volume control, I had that at one time with the work around that I could load the DOS driver for my sound card first by opening a DOS session and then no crash. Turned out to be a faulty CPU, or at least when I swapped my Cyrix 686 that had overheated a few times due to bad fans, with a real Pentium, the crashes went away as well as all the sys3075's I had with Netscape.

Lars

  • Hero Member
  • *****
  • Posts: 1268
  • Karma: +65/-0
    • View Profile
I would love to believe that. However I also have these problems when I don't run Firefox at all.
But again, memory is the problem. When I run EPM.EXE and subsequently close it, I can observe that it leaves an endless sequence of memory "holes" in upper shared memory. That is due to the fact that the DLL that it loads (ETKE603.DLL) specifies trillions of small memory objects (it contains 234 memory objects: who compiled and linked that stuff ?). And for each memory object, 64 kByte of memory is allocated (even though they are considerably smaller).
When EPM is closed the DLL is unloaded but the fragmentation remains.

roberto

  • Hero Member
  • *****
  • Posts: 810
  • Karma: +3/-6
    • View Profile
Well, I recently had problems with firefox 38.8.0, and now firefox 45.5.0 works much better
Lately I have had many errors in the popuplog.os2
It gives me the feeling that if the initial start is good, it does not give me any error. Everything is perfect today.
 The question is how to know if the boot is good.?
Even the error of videos that made me turn off and turn on the Wi-Fi constantly disappeared.
saludos

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4775
  • Karma: +99/-1
    • View Profile
What type of errors in popuplog.os2?

roberto

  • Hero Member
  • *****
  • Posts: 810
  • Karma: +3/-6
    • View Profile
The last days of popup.log

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4775
  • Karma: +99/-1
    • View Profile
The last days of popup.log

I think it is something like the stack getting clobbered due to a bad crash and all the exception handlers crash, so a cascade of crashes.

Well, I recently had problems with firefox 38.8.0, and now firefox 45.5.0 works much better
Lately I have had many errors in the popuplog.os2
It gives me the feeling that if the initial start is good, it does not give me any error. Everything is perfect today.
 The question is how to know if the boot is good.?
Even the error of videos that made me turn off and turn on the Wi-Fi constantly disappeared.
saludos

You're saying this happens upon boot?
How many programs do you have in your startup folder? Perhaps try moving them all to a different folder and start them manually and see if that helps.

roberto

  • Hero Member
  • *****
  • Posts: 810
  • Karma: +3/-6
    • View Profile
I think it is something like the stack getting clobbered due to a bad crash and all the exception handlers crash, so a cascade of crashes.
Yes, that is, cascade of crashes.

Quote
You're saying this happens upon boot?
I can not do tests now, because I'm doing a macro backup, which will last me one or two days.
I'm still not sure it's at the start, the problem.
The other option is not to start firefox38 at all.
And the third option is an adjustment in the rar program that I can not believe influences. (-w c: \ var \ tmp)
Quote
How many programs do you have in your startup folder? Perhaps try moving them all to a different folder and start them manually and see if that helps.
I only have  in startup folder, CAD,SAMBA clien, tcpip,usbprt, xcenter y move the cups daemon to other folder.
Saludos

Neil Waldhauer

  • Hero Member
  • *****
  • Posts: 1020
  • Karma: +24/-0
    • View Profile
    • Blonde Guy
Thanks, Dave. That is my problem. Lars shows other problems like that.

Years ago, I tried to get Scott Garfinkle to commit his queue interface fixes. If the system queue table exceeds 64K, the kernel simply overwrites whatever is there. Allocate more than 3000 queues, and you can write anything on the kernel you want.
Expert consulting for ArcaOS, OS/2 and eComStation
http://www.blondeguy.com

Ian Manners

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 462
  • Karma: +9/-0
  • I am the computer, it is me.
    • View Profile
    • ComKal Networks Australia
Quote
What is going on with Firefox? As it stands, I can leave the browser pointed to a modern, active webpage, and after some time, the system will reset. I've been doing this long enough to recognize kernel corruption. Firefox runs the system out of some resource, and the kernel is not protected from such a shortage.

I back leveled libcx0.dll to libcx-0.6.0-1.oc00.i686.rpm and libc066.dll to libc-0.6.6-32.i686.rpm in an attempt to get Apache2 to run on my non server OS/2 and noticed the computer stopped being able to access the HD, leading to a PC I had to physically turn off. Took me a while to figure out it was the backleveling that did it as I'd previously had a dodgy SATA cable cause similiar problems. I also noticed as soon as I went to utube, bang, the video would start playing, sort of, but I couldn't do anything after that point apart from a cold boot, should have twigged on then it was a resource problem and not a hardware problem.

Replacing both libcx0 and libc066 to the latest versions (which I'd backed up, from libcx-0_6_1-2* and libc066.dll from a testcase one in Jan 2018) appears to have fixed this problem. You might like to try the same as I'm use to using Openoffice, firefox v45.9.0-2, and several other apps at the same time with no problems, including viewing (and mostly downloading) utube videos and university videos from Echo/Blackboard.
Cheers
Ian B Manners

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4775
  • Karma: +99/-1
    • View Profile

Replacing both libcx0 and libc066 to the latest versions (which I'd backed up, from libcx-0_6_1-2* and libc066.dll from a testcase one in Jan 2018) appears to have fixed this problem. You might like to try the same as I'm use to using Openoffice, firefox v45.9.0-2, and several other apps at the same time with no problems, including viewing (and mostly downloading) utube videos and university videos from Echo/Blackboard.

Yes, the development of Mozilla and libc, libcx has gone hand in hand and need to be the latest versions for running the latest builds of Firefox.

David Graser

  • Hero Member
  • *****
  • Posts: 869
  • Karma: +84/-0
    • View Profile

Replacing both libcx0 and libc066 to the latest versions (which I'd backed up, from libcx-0_6_1-2* and libc066.dll from a testcase one in Jan 2018) appears to have fixed this problem. You might like to try the same as I'm use to using Openoffice, firefox v45.9.0-2, and several other apps at the same time with no problems, including viewing (and mostly downloading) utube videos and university videos from Echo/Blackboard.

Yes, the development of Mozilla and libc, libcx has gone hand in hand and need to be the latest versions for running the latest builds of Firefox.

I was doing some testing  using pmdll.  One thing I noticed is that firefox, seamonkey, and thunderbird all have different dates on some dlls.  Seamokey has the latest versions.  I renamed the originals and replaced them with the ones from Seamonkey.  Firefox accepted the latest versions, but thunderbird would fail, not run.  The dlls were lgplibs.dll and mozsqlt3.dll.  I replaced and Firefox 45.9.0 is still working great.  I did not need to revert bacl to the originals.  These are from seamonkey version 2.42.9.

yum install firefox

or

http://hobbes.nmsu.edu/download/pub/os2/apps/internet/www/browser/firefox-45.9.0-2.en-US.os2.zip

https://bitbucket.org/dryeo/dry-comm-esr31/downloads/seamonkey-2.42.9esr.en-US.os2_exp2.zip

David
« Last Edit: March 04, 2018, 10:37:29 pm by David Graser »

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4775
  • Karma: +99/-1
    • View Profile
I was doing some testing  using pmdll.  One thing I noticed is that firefox, seamonkey, and thunderbird all have different dates on some dlls.  Seamokey has the latest versions.  I renamed the originals and replaced them with the ones from Seamonkey.  Firefox accepted the latest versions, but thunderbird would fail, not run.  The dlls were lgplibs.dll and mozsqlt3.dll.  I replaced and Firefox 45.9.0 is still working great.  I did not need to revert bacl to the originals.  These are from seamonkey version 2.42.9.

Interesting.
Most of the code is shared between FF, SM and TB with most of the code living in mozilla\ where Firefox is built from and Bitwise is in charge of. In theory all these DLLs should be interchangeable, even xul.dll mostly, at least until you do something specific like try to open the settings/preferences.
I haven't uploaded a new TB in a while, mostly due to the latest changes not having much affect on TB so I guess that is why the DLLs didn't work, still there hasn't been any changes to sqlite3 and the only change made to lgpllibs was a while back to fix a bug dynamically loading the FFmpeg DLLs. I've also been experimenting with building with GCC 5.1.0, so SM is built with a different compiler version then FF and IIRC, TB.
I"ll rebuild TB and upload a new version over the next couple of days. It takes close to 10 hours to build TB here on my old gutless machine and often freezes after about 9 hours so I don't rebuild often.

David Graser

  • Hero Member
  • *****
  • Posts: 869
  • Karma: +84/-0
    • View Profile
I was doing some testing  using pmdll.  One thing I noticed is that firefox, seamonkey, and thunderbird all have different dates on some dlls.  Seamokey has the latest versions.  I renamed the originals and replaced them with the ones from Seamonkey.  Firefox accepted the latest versions, but thunderbird would fail, not run.  The dlls were lgplibs.dll and mozsqlt3.dll.  I replaced and Firefox 45.9.0 is still working great.  I did not need to revert bacl to the originals.  These are from seamonkey version 2.42.9.

Interesting.
Most of the code is shared between FF, SM and TB with most of the code living in mozilla\ where Firefox is built from and Bitwise is in charge of. In theory all these DLLs should be interchangeable, even xul.dll mostly, at least until you do something specific like try to open the settings/preferences.
I haven't uploaded a new TB in a while, mostly due to the latest changes not having much affect on TB so I guess that is why the DLLs didn't work, still there hasn't been any changes to sqlite3 and the only change made to lgpllibs was a while back to fix a bug dynamically loading the FFmpeg DLLs. I've also been experimenting with building with GCC 5.1.0, so SM is built with a different compiler version then FF and IIRC, TB.
I"ll rebuild TB and upload a new version over the next couple of days. It takes close to 10 hours to build TB here on my old gutless machine and often freezes after about 9 hours so I don't rebuild often.

Using PMSeek, all the file dates and sizes were different with Seamonkey containing the latest file dates.