OS2 World Community Forum

OS/2, eCS & ArcaOS - Technical => Web applications => Topic started by: Digi on November 02, 2017, 02:15:23 pm

Title: Oddities with Youtube.
Post by: Digi on November 02, 2017, 02:15:23 pm
I have a strange problem with youtube on the one of my systems. This is the same for FF 38.8.0 and FF 45.9.0.
On youtube I can see load bar (line) at the bottom of video frame (with loading progress), small frames on load bar whem I try move forward. But on the video frame, the "waiting ring" turns constantly and there is no image.

On page https://www.youtube.com/html5 next items available with FF 3.8.0:
  HTMLVideoElement, H.264 and WebM VP8.
with FF 45.9.0 all items available.
It's just like on my other system, where everything works fine.

All necessary components from the repository, including ffmpeg, have been updated. What could be the problem?
Title: Re: Oddities with Youtube.
Post by: Dariusz Piatkowski on November 02, 2017, 02:52:53 pm
Hmm...a bit strange that you saw this in 38.8 as well (I did not), however, there are a number of 45.9 users out there that are experiencing this very same thing (including myself).

This appears to be due to the built-in support for VP8 & VP9.

Someone posted a work-around for this issue in another thread, but here is a  direct link => https://github.com/erkserkserks/h264ify-firefox (https://github.com/erkserkserks/h264ify-firefox).

This add-on will force youtube to stream H264 instead of the VPx stuff, works here.
Title: Re: Oddities with Youtube.
Post by: Digi on November 02, 2017, 02:58:27 pm
Someone posted a work-around for this issue in another thread, but here is a  direct link => https://github.com/erkserkserks/h264ify-firefox (https://github.com/erkserkserks/h264ify-firefox).

This add-on will force youtube to stream H264 instead of the VPx stuff, works here.

Yes, I also tried it. To no avail.
Title: Re: Oddities with Youtube.
Post by: guzzi on November 02, 2017, 09:52:48 pm
Latest version needs ff48
Title: Re: Oddities with Youtube.
Post by: Dariusz Piatkowski on November 03, 2017, 03:58:25 pm
Latest version needs ff48

...using version 1.0.5 here on my 45.9 install...works fine, albeit a tad choppy at times...however, it beats the VP9 stuff which completely hosed what appeared to have been a well working 45.9 beta release playback...
Title: Re: Oddities with Youtube.
Post by: xynixme on November 15, 2017, 04:33:05 am
</silence>
1.2 GHz Pentium III, 1 GB RAM.

SM 2.35: works

FF 45: crashes quickly, probably since latest "GA" version

PM DLL, to investige the FF 45 crash: crashes, produces TRP file which mentions a.o. NSPR4.DLL and FF's LGPLL-something.DLL

Pentium 4 CPU: FF 45 works

Que pasa?
<silence>
Title: Re: Oddities with Youtube.
Post by: Dave Yeo on November 15, 2017, 06:27:24 am
Can you post the trp file, erasing anything towards the end that may contain personal info? Also the version of pmdll?
Did you get any trp files from Firefox? Did you try redirecting stderr to a file and get anything there?
Title: Re: Oddities with Youtube.
Post by: xynixme on November 15, 2017, 02:24:51 pm
Pentium 4, identical setup: no such problem. Today FF 45.9.0-2 produced the Pentium III TRP file, instead of PM DLL. LGPLLIBS.DLL was the DLL file I (/ PM DLL's TRP file) was refering too earlier, besides NSPR4.DLL.

Illegal instruction MOVQ (FF):


______________________________________________________________________

 Exception Report - created 2017/11/15 14:08:38
______________________________________________________________________

 OS2/eCS Version:  2.45
 # of Processors:  1
 Physical Memory:  1023 mb
 Virt Addr Limit:  2048 mb
 Exceptq Version:  7.11.4-shl (Mar  6 2017)

______________________________________________________________________

 Exception C000001C - Illegal Instruction
______________________________________________________________________

 Process:  C:\TCPIP\FIREFOX\FIREFOX.EXE (10/05/2017 02:41:08 61,253)
 PID:      58 (88)
 TID:      01 (1)
 Priority: 200

 Filename: C:\TCPIP\FIREFOX\FIREFOX.EXE (10/05/2017 02:41:08 61,253)
 Address:  005B:00011514 (0001:00001514)

______________________________________________________________________

 Failing Instruction
______________________________________________________________________

 00011502  CMP  BYTE [0x302c0], 0x0     (803d c0020300 00)
 00011509  JZ   0x1153b                 (74 30)
 0001150B  MOV  EAX, [0x30280]          (a1 80020300)
 00011510  MOVD XMM0, EAX               (660f6ec0)
 00011514 >MOVQ QWORD [ESP+0x18], XMM0  (660fd64424 18)
 0001151A  FILD QWORD [ESP+0x18]        (df6c24 18)
 0001151E  FST  QWORD [0x30270]         (dd15 70020300)
 00011524  FDIV DWORD [0x1163c]         (d835 3c160100)

______________________________________________________________________

 Registers
______________________________________________________________________

 EAX : 0001234C   EBX  : 000301A4   ECX : 2003A0E0   EDX  : 2003A0EC
 ESI : 0013FFA4   EDI  : 0013FF64
 ESP : 0013FE80   EBP  : 0013FED8   EIP : 00011514   EFLG : 00012202
 CS  : 005B       CSLIM: FFFFFFFF   SS  : 0053       SSLIM: FFFFFFFF

 EAX : read/exec  memory at 0001:0000234C in FIREFOX
 EBX : read/write memory at 0002:000001A4 in FIREFOX
 ECX : read/write memory allocated by LIBC066
 EDX : read/write memory allocated by LIBC066
 ESI : read/write memory on this thread's stack
 EDI : read/write memory on this thread's stack
Title: Re: Oddities with Youtube.
Post by: Dave Yeo on November 15, 2017, 05:01:54 pm
Pentium 4, identical setup: no such problem. Today FF 45.9.0-2 produced the Pentium III TRP file, instead of PM DLL. LGPLLIBS.DLL was the DLL file I (/ PM DLL's TRP file) was refering too earlier, besides NSPR4.DLL.

Illegal instruction MOVQ (FF):


______________________________________________________________________

 Exception Report - created 2017/11/15 14:08:38
______________________________________________________________________

 OS2/eCS Version:  2.45
 # of Processors:  1
 Physical Memory:  1023 mb
 Virt Addr Limit:  2048 mb
 Exceptq Version:  7.11.4-shl (Mar  6 2017)

______________________________________________________________________

 Exception C000001C - Illegal Instruction
______________________________________________________________________

 Process:  C:\TCPIP\FIREFOX\FIREFOX.EXE (10/05/2017 02:41:08 61,253)
 PID:      58 (88)
 TID:      01 (1)
 Priority: 200

 Filename: C:\TCPIP\FIREFOX\FIREFOX.EXE (10/05/2017 02:41:08 61,253)
 Address:  005B:00011514 (0001:00001514)

______________________________________________________________________

 Failing Instruction
______________________________________________________________________

 00011502  CMP  BYTE [0x302c0], 0x0     (803d c0020300 00)
 00011509  JZ   0x1153b                 (74 30)
 0001150B  MOV  EAX, [0x30280]          (a1 80020300)
 00011510  MOVD XMM0, EAX               (660f6ec0)
 00011514 >MOVQ QWORD [ESP+0x18], XMM0  (660fd64424 18)

There's the problem, it's using an XMM register, probably an SSE2 instruction which is illegal on a PIII.
Quickly grepping through media\ there's quite a few SSE instructions. The question is whether it is hard coded or a failure of the CPU detection.
I'll try to look closer later. Do you have the dbg files installed? If so can you post the call stack?

Quote
0001151A  FILD QWORD [ESP+0x18]        (df6c24 18)
 0001151E  FST  QWORD [0x30270]         (dd15 70020300)
 00011524  FDIV DWORD [0x1163c]         (d835 3c160100)

______________________________________________________________________

 Registers
______________________________________________________________________

 EAX : 0001234C   EBX  : 000301A4   ECX : 2003A0E0   EDX  : 2003A0EC
 ESI : 0013FFA4   EDI  : 0013FF64
 ESP : 0013FE80   EBP  : 0013FED8   EIP : 00011514   EFLG : 00012202
 CS  : 005B       CSLIM: FFFFFFFF   SS  : 0053       SSLIM: FFFFFFFF

 EAX : read/exec  memory at 0001:0000234C in FIREFOX
 EBX : read/write memory at 0002:000001A4 in FIREFOX
 ECX : read/write memory allocated by LIBC066
 EDX : read/write memory allocated by LIBC066
 ESI : read/write memory on this thread's stack
 EDI : read/write memory on this thread's stack
Title: Re: Oddities with Youtube.
Post by: xynixme on November 15, 2017, 05:43:42 pm
There's the problem, it's using an XMM register, probably an SSE2 instruction which is illegal on a PIII.
Quickly grepping through media\ there's quite a few SSE instructions. The question is whether it is hard coded or a failure of the CPU detection.

</silence>
Hopefully it's not yet another attempt to reduce the size of their "OS/2" community? IIRC the previous FF45 release did "work", not counting FF45's 100% CPU load bug with a single core CPU. The CPU in question is a Intel Mobile Pentium III-M 1.2 GHz, FWIW. I'm not using the latest SM anywhere, because of that 100% CPU load bug of the browser component. SM 2.35 works.
 
Quote
Do you have the dbg files installed? If so can you post the call stack?

No(t yet), but I'll see what I can do...
<silence>
Title: Re: Oddities with Youtube.
Post by: Lars on November 15, 2017, 06:05:13 pm
Pentium 4, identical setup: no such problem. Today FF 45.9.0-2 produced the Pentium III TRP file, instead of PM DLL. LGPLLIBS.DLL was the DLL file I (/ PM DLL's TRP file) was refering too earlier, besides NSPR4.DLL.

Illegal instruction MOVQ (FF):


______________________________________________________________________

 Exception Report - created 2017/11/15 14:08:38
______________________________________________________________________

 OS2/eCS Version:  2.45
 # of Processors:  1
 Physical Memory:  1023 mb
 Virt Addr Limit:  2048 mb
 Exceptq Version:  7.11.4-shl (Mar  6 2017)

______________________________________________________________________

 Exception C000001C - Illegal Instruction
______________________________________________________________________

 Process:  C:\TCPIP\FIREFOX\FIREFOX.EXE (10/05/2017 02:41:08 61,253)
 PID:      58 (88)
 TID:      01 (1)
 Priority: 200

 Filename: C:\TCPIP\FIREFOX\FIREFOX.EXE (10/05/2017 02:41:08 61,253)
 Address:  005B:00011514 (0001:00001514)

______________________________________________________________________

 Failing Instruction
______________________________________________________________________

 00011502  CMP  BYTE [0x302c0], 0x0     (803d c0020300 00)
 00011509  JZ   0x1153b                 (74 30)
 0001150B  MOV  EAX, [0x30280]          (a1 80020300)
 00011510  MOVD XMM0, EAX               (660f6ec0)
 00011514 >MOVQ QWORD [ESP+0x18], XMM0  (660fd64424 18)

There's the problem, it's using an XMM register, probably an SSE2 instruction which is illegal on a PIII.
Quickly grepping through media\ there's quite a few SSE instructions. The question is whether it is hard coded or a failure of the CPU detection.
I'll try to look closer later. Do you have the dbg files installed? If so can you post the call stack?

Quote
0001151A  FILD QWORD [ESP+0x18]        (df6c24 18)
 0001151E  FST  QWORD [0x30270]         (dd15 70020300)
 00011524  FDIV DWORD [0x1163c]         (d835 3c160100)

______________________________________________________________________

 Registers
______________________________________________________________________

 EAX : 0001234C   EBX  : 000301A4   ECX : 2003A0E0   EDX  : 2003A0EC
 ESI : 0013FFA4   EDI  : 0013FF64
 ESP : 0013FE80   EBP  : 0013FED8   EIP : 00011514   EFLG : 00012202
 CS  : 005B       CSLIM: FFFFFFFF   SS  : 0053       SSLIM: FFFFFFFF

 EAX : read/exec  memory at 0001:0000234C in FIREFOX
 EBX : read/write memory at 0002:000001A4 in FIREFOX
 ECX : read/write memory allocated by LIBC066
 EDX : read/write memory allocated by LIBC066
 ESI : read/write memory on this thread's stack
 EDI : read/write memory on this thread's stack

That cannot be the explanation. The instruction preceding the trap is also an SSE2 instruction ("MOVD XMM0,EAX"). Or will the failing location point "behind" the failing instruction ?
Title: Re: Oddities with Youtube.
Post by: ak120 on November 15, 2017, 07:17:33 pm
That cannot be the explanation. The instruction preceding the trap is also an SSE2 instruction ("MOVD XMM0,EAX"). Or will the failing location point "behind" the failing instruction ?
MOVD for moving double words was already supported with MMX. With SSE support it's possible moving double words from an 128 bit wide register to EAX or somewhere else. But movd is definitely the wrong instruction. Additionally caching and alignment should be observed. SSE2 makes it easier with additional instructions for this tasks.
Title: Re: Oddities with Youtube.
Post by: xynixme on November 15, 2017, 07:17:45 pm
No(t yet), but I'll see what I can do...

</silence>
My area of expertise: nothing.

Ignoring the additional requirement of the archiver, the name of their file is ... firefox-debuginfo-45.9.0-2.oc00.pentium4.7z.
<silence>
Title: Re: Oddities with Youtube.
Post by: ak120 on November 15, 2017, 07:41:01 pm
There's enough written about this topic in Intel's official Developer's Manual (243190) in sections 9.3.1 and 9.3.5.
Title: Re: Oddities with Youtube.
Post by: xynixme on November 16, 2017, 12:52:34 am
There's enough written about this topic in Intel's official Developer's Manual (243190) in sections 9.3.1 and 9.3.5.

</silence>
The "pentium4"-part of the file name suggests it's a programmer's policy instead of some technical accident. After already having to downgrade SM to the more productive 2.35, due to extreme performance bugs of the broken browser component of FF 45, I'll downgrade FF 45.9.0-2 to what may very well be my final version of their barely working FF45.5.0 beta for "OS/2".

At the moment a real FF for OS/2 should be a P6+ CPU product, because of the OS itself (80386, don't blame me) and the implied memory requirements of the specific product (80 MiB of installable RAM ain't enough). It's yet another way to reduce the size of the OS/2 community, by introducing even more non-OS/2 requirements. Indirectly it's a result of the limited number of OS languages. Hence a restriction to OS/2 or eCS 1.x and matching hardware. Including PIII hardware.
<silence>
Title: Re: Oddities with Youtube.
Post by: Dave Yeo on November 16, 2017, 01:42:27 am
No(t yet), but I'll see what I can do...

</silence>
My area of expertise: nothing.

Ignoring the additional requirement of the archiver, the name of their file is ... firefox-debuginfo-45.9.0-2.oc00.pentium4.7z.
<silence>

That's weird. Looking at about:buildconfig, they targeted i686 (needed for some atomic instructions, the -march parameter to GCC). Unless you have a different version of mine, an RPM. Check the URL about:buildconfig.
Wish they'd just include the XQS files rather then the huge dbg files.
Unluckily, we stuck having to follow upstream, so it is not Bitwise trying to break old computers, at that previous to 45 they targeted i486 but the build failed with 45 until they upped it to i686, Note I moved to i686 back in the 10ESR days and never had any complaints. Currently Mozilla requires SSE2 support and has since just after 52ESR.
As for SeaMonkey, did you try disabling add-ons? Some, especially chatzilla, cause high CPU usage.
The good news is that dmik is finally getting the tests working and running so hopefully we'll get more stable browser.
Title: Re: Oddities with Youtube.
Post by: xynixme on November 16, 2017, 03:53:31 am
That's weird. Looking at about:buildconfig, they targeted i686 (needed for some atomic instructions, the -march parameter to GCC). Unless you have a different version of mine, an RPM. Check the URL about:buildconfig.

</silence>
Well, the name of a *pentium4* file is just a name. A remaining (Pentium 4-) install of the same FF 45.9.0-2, with the same profile, reports: target i386-pc-os2-emx, -march=pentium4.

Illegal instruction, *pentium4* DBG files, -march=pentium4: no typo. Duh...

Quote
As for SeaMonkey, did you try disabling add-ons? Some, especially chatzilla, cause high CPU usage.

It's probably that VSYNC'ish (the worst of both worlds) bug, causes a 100% CPU load while browsing about:blank, becomes a honest ~95% CPU load when a faster T42 is used, and becomes 20%'ish of one of ones multiple cores. So it qualifies as broken.

SM is the most important browser over here. I don't really use FF. The version of FF>=SM. If FF is stable, then I'll upgrade to the matching version of SM too. Normally I would not have downgraded FF and wait for a new version, but installing Pentium 4 OS/2 software has no use at all.

A Pentium III's FF 45.5.0 is not 100% useless. Some add-ons/plug-ins/extensions require such a version. It will take a long while, but after several minutes you should be able to download an on-topicv Youtube video, which wasn't possible with FF38/SM2.35 tools anymore.

Quote
The good news is that dmik is finally getting the tests working and running so hopefully we'll get more stable browser.

Certainly not "we" anymore!

I'm not one of the happy few, which they are targeting by explicit and implicit requirements, based on whatever they are using (including eCS 2.x DE/EN or AOS EN). The bad news is that not everyone shares your standards. They have the freedom of policy to use e.g. -march=pentium4, which is also a great way to reduce the size of the OS/2 community while pretending to write a "FF for OS/2".

There's no need to guess, but maybe a Pentium 4-target was their way to try to solve 0.001% of the "performance issues", which could be the same issue as my 95%-100% CPU load. With such a CPU load no version of FF45 should pass a test.

FWIW, FF 48.0.2 works quite fine with the Pentium III CPU in question. The last non-ESR version of FF which supports a Pentium III. So any performance issue is OS/2 specific. As such the hardware isn't the problem, and OS/2 demands less resources than WinXP.
<silence>
Title: Re: Oddities with Youtube.
Post by: Dave Yeo on November 16, 2017, 05:10:36 am
Strange that they uploaded the P4 version. As I said, the version I'm running, downloaded from Arca Noae's experimental RPM repository is i686, like all my other RPMs. Unluckily the Arca Noae repository isn't publicly available. I guess have to wait until the build is good enough to post. If I had the bandwidth, I'd post a build.
At least we know why it is crashing :)
As for SeaMonkey, just tested on my T42. Displaying about:addons, with Chatzilla enabled, 90%+ CPU usage. With Chatzilla disabled, 1.2% with the odd peak at 6%. Try it. It does use quite a bit of CPU loading a page but is quite usable.
Title: Re: Oddities with Youtube.
Post by: xynixme on November 16, 2017, 04:20:05 pm
Displaying about:addons, with Chatzilla enabled, 90%+ CPU usage. With Chatzilla disabled, 1.2% with the odd peak at 6%. Try it. It does use quite a bit of CPU loading a page but is quite usable.

</silence>
No need to upload a i686 copy of FF, because it probably still won't work normally. YMMV, but FF38/SM 2.35 is the last version which works unconditionally.

I've tried SM 2.42 (R2) again. Here the variable magic word isn't ChatZilla. It's Adblock Plus (2.8.2, for FF50-).

The CPU load of a slower Pentium 4 desktop often is less than 1% while browsing about:blank. Unfortunately the bad news is that the next game is guessing a frame rate. Any of 6000, 8000, 10240, 12000 and 14000 results in a hanging session (the C-A-D escape always works), a system which isn't responsive, no cursor, or the extremely slow cursor while typing. As if the CPU load is 100%+, while the system displays a CPU load of 0.4%.

After restoring SM 2.35 and the 2.35 profile its cursor was gone too, so maybe one of the number guessing game rounds failed due to that issue too. With a frame rate setting of 10240 browsing worked fine, but typing didn't.

If VSYNC is the worst of both worlds, by using a slowest rate to obtain a smooth animation, then isn't OS/2 too fast and stable for VSYNC anyway? After all we don't have an OS which halts the browser for several minutes because of some update process, virus scan, unsolicited defrag, and so on. This may be bogus, but I can imagine that VSYNC/2 would execute NOPs like there's no tomorrow, to end up with the worst, but indeed constant, animation speed of both worlds.
<silence>
Title: Re: Oddities with Youtube.
Post by: Andy Willis on November 17, 2017, 12:59:16 am

The CPU load of a slower Pentium 4 desktop often is less than 1% while browsing about:blank. Unfortunately the bad news is that the next game is guessing a frame rate. Any of 6000, 8000, 10240, 12000 and 14000 results in a hanging session (the C-A-D escape always works), a system which isn't responsive, no cursor, or the extremely slow cursor while typing. As if the CPU load is 100%+, while the system displays a CPU load of 0.4%.


I have found the best frame rate to be 59 or 60.
Title: Re: Oddities with Youtube.
Post by: Dave Yeo on November 17, 2017, 01:38:42 am

The CPU load of a slower Pentium 4 desktop often is less than 1% while browsing about:blank. Unfortunately the bad news is that the next game is guessing a frame rate. Any of 6000, 8000, 10240, 12000 and 14000 results in a hanging session (the C-A-D escape always works), a system which isn't responsive, no cursor, or the extremely slow cursor while typing. As if the CPU load is 100%+, while the system displays a CPU load of 0.4%.


It really depends on hardware, though in theory 50-60 should be perfect (does Europe use 50 or 60 hz refresh?)  From what I understand, it was a bad choice on Mozilla's part to use it, even on systems that can read the vsync signal.

I have found the best frame rate to be 59 or 60.
Title: Re: Oddities with Youtube.
Post by: xynixme on November 17, 2017, 10:05:22 am
</silence>
Basicly low frame rate settings of -1, 59, 60, the screen's 75 or 750 (with restarts between attempts) result in not seeing a blinking cursor (URL bar, entry fields of websites) anymore, with an acceptable, normal CPU load. No blinking cursor includes slow screen updates while typing, so "you can type faster than a computer can keep up with".

The default setting of 0 results in a responsive 100% CPU load. I didn't try it that long, but the expected result (if FF45 was anything to go by) is that after a while the system could stop being responsive.

In all cases disabling an add-on (/plug-in / extension / ...) was required to normalize the CPU usage. As such this is acceptable, because here it's Adblock Plus (nice-to-have). I also disbled other add-ons, like ChatZilla.

After the tests I've restored SM 2.35 again, to return to a blinking cursor and a normal, stable CPU load. No blinking cursor is the least worst result of settings <> 0. I only tested the browser component of SM 2.42 R2.
<silence>
Title: Re: Oddities with Youtube.
Post by: xynixme on November 17, 2017, 11:53:03 am
From what I understand, it was a bad choice on Mozilla's part to use it, even on systems that can read the vsync signal.

</silence>
Sure. At least one of the results of the theory of this concept is that several people in our niche market still seem to be using SM 2.35 or FF 38, and have stopped trying to use Mozilla's latest available product for their OS. Scores update: animated dancing bears +1, users -1.
<silence>
Title: Re: Oddities with Youtube.
Post by: guzzi on November 18, 2017, 09:16:00 pm

</silence>
Sure. At least one of the results of the theory of this concept is that several people in our niche market still seem to be using SM 2.35 or FF 38, and have stopped trying to use Mozilla's latest available product for their OS. Scores update: animated dancing bears +1, users -1.
<silence>

I have an old machine that not even Mosaic will install on. I wholly agree with you that all new software should be fully backwards compatible with older hardware. Any suggestions for a browser that will still run on this thing?
Title: Re: Oddities with Youtube.
Post by: Andi B. on November 19, 2017, 11:24:44 am

</silence>
....
<silence>

I have an old machine ....
:)
Title: Re: Oddities with Youtube.
Post by: xynixme on November 20, 2017, 02:02:50 pm
I have an old machine that not even Mosaic will install on. I wholly agree with you that all new software should be fully backwards compatible with older hardware.

Both troll Andi B. and our new comedian haven't fully understood what P6+ means, which happens to be used by the developer of my OS/2 browser, nor that I don't mind dmik producing a product for an even smaller community. A freedom of choice.

My OS has a browser, which isn't FF. My new hardware has no OS, which won't be Andi's DE nor EN.

I do hope that even the boys can try to understand that requiring new hardware, on top of many other implied requirements, without a need to do so, is a great way to reduce the size of a community. A possible goals of your trolls, isn't it? Or just a selfish goal of you, presumably one of the happy few. For one Andi is, eCS 2.x is available in his native language. Good for you. Unlike you, I tend to not exclude over 50% of the user base.

Oh, if you can be arsed to do so: can you please provide a full quote which confirms what would be, according to you, my opinion that the FF for "OS/2" browser should support all old hardware, including but not limited the old hardware of our comedian or e.g. sa 80386? IRL I did advocate the upgrade to a P6 target, albeit ignorent, biased or selfish people and trolls tend to ignore such an annoying little factoid. You're trying to attack the upgrader, again, by making up the opinion of the upgrader. At least somone liked the entertainment. Go figure...
Title: OT - Re: Oddities with Youtube.
Post by: Andi B. on November 20, 2017, 05:01:46 pm
Both troll Andi B. and our new comedian haven't fully understood what P6+ means, which happens to be used by the developer of my OS/2 browser, nor that I don't mind dmik producing a product for an even smaller community. A freedom of choice.

My OS has a browser, which isn't FF. My new hardware has no OS, which won't be Andi's DE nor EN. ......
Honestly I do not understand most of your writing here. Including your repeatedly used 'silence'. I really think you're not human but some kind of (badly programmed) AI. Only here to spam this forum with your mostly unrelated junk to annoy the last remaining OS/2 users.

If I'm wrong and you're a human then please try a better translation machine. Focus on topic and use short sentences with simple words. And take a snuff of humor next time before replying.


Title: Re: Oddities with Youtube.
Post by: Ian Manners on November 22, 2017, 01:09:14 pm
Quote
I really think you're not human but some kind of (badly programmed) AI. Only here to spam this forum with your mostly unrelated junk to annoy the last remaining OS/2 users.

We do not discriminate here, not as far as I've aware, so even badly programmed machines are welcome :)

Though it would be nice to confine unrelated junk to the relevant forum.
Title: Re: Oddities with Youtube.
Post by: Dariusz Piatkowski on November 22, 2017, 05:21:58 pm
...and back to the previously scheduled program...LOL

...That's weird. Looking at about:buildconfig, they targeted i686 (needed for some atomic instructions, the -march parameter to GCC). Unless you have a different version of mine, an RPM. Check the URL about:buildconfig....

Dave,

You hit this one right on the nose. I am currently running the officially available 45.9.0 build of FF, that's the firefox-45.9.0-2.oc00.pentium4.7z file. But that release is indeed targeted at pentium4 architecture. Subsequently, on my machine (which is the Phenom II X6 CPU) I am unable to play simple YouTube videos unless I install the H264 add-on.

This NEW YouTube behaviour is anylike like what I've seen in the previous 45.5.x test builds and bothered me since the 45.9 GA drop...so I went back to my latest beta build installed version, kicked it off and indeed, that build has the i686 target, which jives with what you stated about the upstream stuff. Indeed, using that beta build I can play whatever YouTube videos I want without the use of the H264 add-on.

Sooo.....that begs the question: why the heck release a Pentium4 target GA when all the testing was previously done using i686 builds???? Ugghhhh????

Sorry, maybe that was just a simple build/config mistake, but my God, what a nightmare it is trying to follow the thread through, sort of like Theseus in the Labyrinth looking to slay the Minotaur.

Is there not a i686 target built 45.9 GA release of Firefox anywhere?
Title: Re: Oddities with Youtube.
Post by: Dave Yeo on November 22, 2017, 06:55:04 pm
Well, I have firefox-45.9.0-2.oc00.i686.rpm, which is targeted at the i686.  Unluckily it is not yet ready for wide deployment for a couple of reasons. Where to put the icons, and which icons to have. The need to move some stuff from netlabs exp to rel such as libcx and now dmik is working like mad to get the test suite to run so he can search for the causes of instability. He's having problems with the tool chain right now.
I'd assume that both i686 and pentium4 rpms were built and for some reason, only the pentium4 rpm was zipped up and released as a test version.

About architectures, or at least my understanding. There's two parameters that can be passed to GCC to control what CPU we target.
 -march, which controls the actual instruction set. Targeting the Pentium 4 gives various extra instructions over the i686 such as MMX, SSE and SSE2 and perhaps others. Should benefit all modern CPU's but will sigill (unsupported instruction) on older CPU's
-mtune, which controls the instruction ordering. Most CPU's are fairly happy with the i686 ordering as even on your Phenom II, it should be close to optimum or at least good enough. Then there's the Pentium 4, which liked completely different ordering, ordering that are not optimum for most CPU's due to the P4 using such a different architecture. I'd guess if you look, your Firefox uses something like -mtune=pentium4.
I usually build with -mtune=generic, which should be a good compromise for whichever CPU's were common when the version of GCC we're using was released.
Seems your CPU doesn't like the P4 instruction ordering.
Title: Re: Oddities with Youtube.
Post by: Dariusz Piatkowski on November 22, 2017, 07:42:14 pm
Dave,

Well, I have firefox-45.9.0-2.oc00.i686.rpm, which is targeted at the i686.  Unluckily it is not yet ready for wide deployment for a couple of reasons...

Yup, I got that now as well, and I'm also following the updates on the FF dev email list.

...About architectures, or at least my understanding. There's two parameters that can be passed to GCC to control what CPU we target.
 -march, which controls the actual instruction set. Targeting the Pentium 4 gives various extra instructions over the i686 such as MMX, SSE and SSE2 and perhaps others. Should benefit all modern CPU's but will sigill (unsupported instruction) on older CPU's
-mtune, which controls the instruction ordering. Most CPU's are fairly happy with the i686 ordering as even on your Phenom II, it should be close to optimum or at least good enough. Then there's the Pentium 4, which liked completely different ordering, ordering that are not optimum for most CPU's due to the P4 using such a different architecture. I'd guess if you look, your Firefox uses something like -mtune=pentium4.

Regarding the Pentium4 and extra instructions, is that really what you meant to say? It is the newer CPUs that introduce additional functionality (SSE2 maybe, etc?) and therefore the Pentium4 would default to a smaller sub-set of instructions, whereas the i686 would be the super-set. So my thinking is that the i686 target is the "desired" code for the newer CPUs...if not, then my thinking is reversed...LOL!

So here is the summary of build setups across the three different working FF 45.9 install I have:

1) === FF 45.9 GA official build 7z file ===
Compiler    Version    Compiler flags
gcc.exe    4.9.2    -Wall -Wempty-body -Wpointer-to-int-cast -Wsign-compare  -Wtype-limits -Wno-unused -Wcast-align -O2 -g -march=pentium4 -std=gnu99  -fgnu89-inline -fno-strict-aliasing -Zomf -fno-math-errno -pthread

c++    4.9.2    -idirafter /@unixroot/usr/include/os2tk45 -Wall -Wempty-body  -Woverloaded-virtual -Wsign-compare -Wwrite-strings -Wno-invalid-offsetof  -Wcast-align -O2 -g -march=pentium4 -fno-exceptions -fno-strict-aliasing  -Zomf -fno-rtti -fno-exceptions -fno-math-errno -std=gnu++0x -pthread  -DNDEBUG -DTRIMMED -g -O2 -fomit-frame-pointer -idirafter  /@unixroot/usr/include/os2tk45


2) === FF 45.9 last daily build ===
Compiler    Version    Compiler flags
gcc.exe    4.9.2    -Wall -Wempty-body -Wpointer-to-int-cast -Wsign-compare  -Wtype-limits -Wno-unused -Wcast-align -march=i686 -mtune=i686 -std=gnu99  -fgnu89-inline -fno-strict-aliasing -Zomf -fno-math-errno -pthread

c++    4.9.2    -idirafter /@unixroot/usr/include/os2tk45 -Wall -Wempty-body  -Woverloaded-virtual -Wsign-compare -Wwrite-strings -Wno-invalid-offsetof  -Wcast-align -march=i686 -mtune=i686 -fno-exceptions -fno-strict-aliasing  -Zomf -fno-rtti -fno-exceptions -fno-math-errno -std=gnu++0x -pthread  -DNDEBUG -DTRIMMED -g -O3 -fomit-frame-pointer


3) === FF 45.9 RPM EXP build ===
Compiler    Version    Compiler flags
gcc.exe    4.9.2    -Wall -Wempty-body -Wpointer-to-int-cast -Wsign-compare -Wtype-limits -Wno-unused -Wcast-align -O2 -g -march=i686 -std=gnu99 -fgnu89-inline -fno-strict-aliasing -Zomf -fno-math-errno -pthread

c++    4.9.2    -idirafter /@unixroot/usr/include/os2tk45 -Wall -Wempty-body -Woverloaded-virtual -Wsign-compare -Wwrite-strings -Wno-invalid-offsetof -Wcast-align -O2 -g -march=i686 -fno-exceptions -fno-strict-aliasing -Zomf -fno-rtti -fno-exceptions -fno-math-errno -std=gnu++0x -pthread -DNDEBUG -DTRIMMED -g -O2 -fomit-frame-pointer -idirafter /@unixroot/usr/include/os2tk45

Regarding the -mtune option, only the last 45.9 test build shows the -mtune=i686 config, the other two, the GA 7z and RPM releases do not show the matching Pentium4 nor i686 flags.
Title: Re: Oddities with Youtube.
Post by: Dave Yeo on November 22, 2017, 08:58:47 pm
Dave,
...About architectures, or at least my understanding. There's two parameters that can be passed to GCC to control what CPU we target.
 -march, which controls the actual instruction set. Targeting the Pentium 4 gives various extra instructions over the i686 such as MMX, SSE and SSE2 and perhaps others. Should benefit all modern CPU's but will sigill (unsupported instruction) on older CPU's
-mtune, which controls the instruction ordering. Most CPU's are fairly happy with the i686 ordering as even on your Phenom II, it should be close to optimum or at least good enough. Then there's the Pentium 4, which liked completely different ordering, ordering that are not optimum for most CPU's due to the P4 using such a different architecture. I'd guess if you look, your Firefox uses something like -mtune=pentium4.

Regarding the Pentium4 and extra instructions, is that really what you meant to say? It is the newer CPUs that introduce additional functionality (SSE2 maybe, etc?) and therefore the Pentium4 would default to a smaller sub-set of instructions, whereas the i686 would be the super-set. So my thinking is that the i686 target is the "desired" code for the newer CPUs...if not, then my thinking is reversed...LOL!

Yes, that is what I meant to say. The i686 is the Pentium Pro, which is older then the Pentium 4 and didn't even have MMX instructions.

Quote
Regarding the -mtune option, only the last 45.9 test build shows the -mtune=i686 config, the other two, the GA 7z and RPM releases do not show the matching Pentium4 nor i686 flags.

That's weird. In some ways tuning for at least an i686 is more important then the CPU instructions.  If nothing else, it has become important to align the instructions on 4 (8?) byte boundaries due to the way all CPU's since the original Pentium access memory.
Title: Re: Oddities with Youtube.
Post by: Dave Yeo on November 22, 2017, 09:10:38 pm
The SeaMonkey I'm using. Note that I targeted the Pentium M. I might upload this for experimental purposes.

gcc.exe    4.9.2    -Wall -Wempty-body -Wpointer-to-int-cast -Wsign-compare -Wtype-limits -Wno-unused -Wcast-align -Zomf -std=gnu99 -fgnu89-inline -fno-strict-aliasing -Zomf -fno-math-errno -pthread
c++    4.9.2    -idirafter g:/OS2TK45/h -Wall -Wempty-body -Woverloaded-virtual -Wsign-compare -Wwrite-strings -Wno-invalid-offsetof -Wcast-align -fno-exceptions -fno-strict-aliasing -Zomf -fno-rtti -fno-exceptions -fno-math-errno -std=gnu++0x -pthread -DNDEBUG -DTRIMMED -g -mtune=generic -march=pentium-m -Os -mstackrealign -fomit-frame-pointer
Title: Re: Oddities with Youtube.
Post by: Dariusz Piatkowski on November 23, 2017, 04:42:16 pm
...Regarding the Pentium4 and extra instructions, is that really what you meant to say? It is the newer CPUs that introduce additional functionality (SSE2 maybe, etc?) and therefore the Pentium4 would default to a smaller sub-set of instructions, whereas the i686 would be the super-set. So my thinking is that the i686 target is the "desired" code for the newer CPUs...if not, then my thinking is reversed...LOL!

Yes, that is what I meant to say. The i686 is the Pentium Pro, which is older then the Pentium 4 and didn't even have MMX instructions.

OK, thank you...it's slowly starting to make sense here...LOL!

I dug into this a tad more, found some good references on-line, for those who might be interested here are a few good links that put the '-march' & '-mtune' flag into perspective:

1) GCC x86 Options https://gcc.gnu.org/onlinedocs/gcc/x86-Options.html (https://gcc.gnu.org/onlinedocs/gcc/x86-Options.html)

2) Intel 386 and AMD x86-64 Options  https://gcc.gnu.org/onlinedocs/gcc-3.1/gcc/i386-and-x86-64-Options.html (https://gcc.gnu.org/onlinedocs/gcc-3.1/gcc/i386-and-x86-64-Options.html)

3) Safe CFLAGS https://wiki.gentoo.org/wiki/Safe_CFLAGS (https://wiki.gentoo.org/wiki/Safe_CFLAGS)

4) GCC Optimization Options https://wiki.gentoo.org/wiki/GCC_optimization (https://wiki.gentoo.org/wiki/GCC_optimization)

I would love to try to assess the differences in the code produced by the following options:

1) -march=i686 (support for base x86 instruction set)
2) -march=pentium4 (support for MMX, SSE and SSE2 instruction set)
3) -march=amdfam10 (support for MMX, SSE, SSE2, SSE3, SSE4A, 3DNow!, enhanced 3DNow!, ABM and 64-bit instruction set)

...all other flags being the same, so let's say -O2, -pipe, etc, specifically because option #3 is supposed to produce code optimized for my AMD Phenom II X6 cpu, and on our platform, every bit of performance helps.

...That's weird. In some ways tuning for at least an i686 is more important then the CPU instructions.  If nothing else, it has become important to align the instructions on 4 (8?) byte boundaries due to the way all CPU's since the original Pentium access memory.

Maybe we are relying on the default optimizations then? Here is a quote from the GCC 4.9.4 manual:

"...Where ‘-march’ is specified without either of ‘-mtune’ or ‘-mcpu’ also being specified, the code will be tuned to perform well across a range of target processors implementing the target architecture..."

So it implies that when `-mtune' is left out we get a generic optimization across broadest possible target zone.

Title: Re: Oddities with Youtube.
Post by: ak120 on November 24, 2017, 01:21:58 am
The SeaMonkey I'm using. Note that I targeted the Pentium M. I might upload this for experimental purposes.

gcc.exe    4.9.2    -Wall -Wempty-body -Wpointer-to-int-cast -Wsign-compare -Wtype-limits -Wno-unused -Wcast-align -Zomf -std=gnu99 -fgnu89-inline -fno-strict-aliasing -Zomf -fno-math-errno -pthread
c++    4.9.2    -idirafter g:/OS2TK45/h -Wall -Wempty-body -Woverloaded-virtual -Wsign-compare -Wwrite-strings -Wno-invalid-offsetof -Wcast-align -fno-exceptions -fno-strict-aliasing -Zomf -fno-rtti -fno-exceptions -fno-math-errno -std=gnu++0x -pthread -DNDEBUG -DTRIMMED -g -mtune=generic -march=pentium-m -Os -mstackrealign -fomit-frame-pointer
The generated output became quite strange over the time. I wonder why the bww builds use "-idirafter" twice. Some argument passing problems? Your line for g++ has only one. I don't think that tools differ so much. In my opinion this include directory there is completely useless but if it's required nowadays. It became introduced after the ESR10 builds. Even your GCC 4.4.6 builds show:
"g++    gcc version 4.4.6 (GCC) ..."
without any C include dir. ESR10 builds using the original C++ compiler (from UDK) show here "cc" and "CC" btw.
Title: Re: Oddities with Youtube.
Post by: Dave Yeo on November 24, 2017, 07:27:45 am
Hi Andreas,
Without the CPPFLAGS=-idirafter the build dies here,
Code: [Select]
150:27.99 In file included from K:/usr/include/os2.h:37:0,
150:28.00                  from C:/work/cc45esr/mozilla/widget/os2/nsAppShell.h:11,
150:28.00                  from C:/work/cc45esr/mozilla/widget/os2/nsAppShell.cpp:6:
150:28.00 K:/usr/include/os2tk.h:11:20: fatal error: os2def.h: No such file or directory
150:28.00  #include <os2def.h>
150:28.00                     ^
150:28.00 compilation terminated.
As for why dmik has two -idirafter, it's probably just the way he passes options to configure, or has it in his environment where I use a mozconfig along with having the idirafter parameter in my config.site and run mach or make -f client,mk which automatically runs configure.
Title: Re: Oddities with Youtube.
Post by: ak120 on November 24, 2017, 03:45:43 pm
Hi Andreas,
Without the CPPFLAGS=-idirafter the build dies here,
Code: [Select]
150:27.99 In file included from K:/usr/include/os2.h:37:0,
150:28.00                  from C:/work/cc45esr/mozilla/widget/os2/nsAppShell.h:11,
150:28.00                  from C:/work/cc45esr/mozilla/widget/os2/nsAppShell.cpp:6:
150:28.00 K:/usr/include/os2tk.h:11:20: fatal error: os2def.h: No such file or directory
150:28.00  #include <os2def.h>
150:28.00                     ^
150:28.00 compilation terminated.
Thanks for testing it. Does it also complain the same way when toolkit headers reside under the same drive letter C? I was thinking that gcc and g++ are still using the same preprocessor. I'm not an expert in C++ (and have almost no knowledge about g++) but would ask: Which variables for CXX and CXXFLAGS are used by GNU make?

Quote
As for why dmik has two -idirafter, it's probably just the way he passes options to configure, or has it in his environment where I use a mozconfig along with having the idirafter parameter in my config.site and run mach or make -f client,mk which automatically runs configure.
Unfortunately there's no SRPM available to check it. It seems that the repos only offer binaries?

Sorry for driving this thread off-topic and asking too many questions. My American language skills are quite limited without any flavour enhancers.
Title: Re: Oddities with Youtube.
Post by: Dave Yeo on November 25, 2017, 01:06:16 am
Thanks for testing it. Does it also complain the same way when toolkit headers reside under the same drive letter C?

Yes.
Back before Bitwise started working on Mozilla using the RPM environment, we just simply had the toolkit headers at the end of the C_INCLUDE_PATH and CPLUS_INCLUDE_PATH. GCC 4.92 is not happy with that and there are conflicts between the headers.

Quote
I was thinking that gcc and g++ are still using the same preprocessor. I'm not an expert in C++ (and have almost no knowledge about g++) but would ask: Which variables for CXX and CXXFLAGS are used by GNU make?

Well make can use any variables, but usually use CXX=g++ and CXXFLAGS=-whatever. Here's a snippet from flac's makefile,
Code: [Select]
CC = gcc -std=gnu99
CCAS = gcc -std=gnu99
CCASDEPMODE = depmode=gcc3
CCASFLAGS =
CCDEPMODE = depmode=gcc3
CFLAGS = -O3 -funroll-loops -Wall -Wextra -Wstrict-prototypes -Wmissing-prototypes -Waggregate-return -Wcast-align -Wnested-externs -Wshadow -Wundef -Wmissing-declarations -Winline  -Wdeclaration-after-statement -msse2
CPP = gcc -std=gnu99 -E
CPPFLAGS =  -D_FORTIFY_SOURCE=2
CXX = g++
CXXCPP = g++ -E
CXXDEPMODE = depmode=gcc3
CXXFLAGS =  -Wall -Wextra -Wcast-align -Wshadow -Wwrite-strings -Wctor-dtor-privacy -Wnon-virtual-dtor -Wreorder -Wsign-promo -Wundef  -Weffc++

Quote
Unfortunately there's no SRPM available to check it. It seems that the repos only offer binaries?

I'd guess source RPM's will become available once the RPM is officially released. I'd like to look at it so I can build RPMs of SM and TB for Arca Noae
Quote
Sorry for driving this thread off-topic and asking too many questions. My American language skills are quite limited without any flavour enhancers.