OS/2, eCS & ArcaOS - Technical > Web applications
Oddities with Youtube.
Lars:
--- Quote from: Dave Yeo on November 15, 2017, 05:01:54 pm ---
--- Quote from: André Heldoorn 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)
--- End quote ---
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
--- End quote ---
--- End quote ---
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 ?
ak120:
--- Quote from: Lars on November 15, 2017, 06:05:13 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 ?
--- End quote ---
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.
xynixme:
--- Quote from: André Heldoorn on November 15, 2017, 05:43:42 pm ---No(t yet), but I'll see what I can do...
--- End quote ---
</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>
ak120:
There's enough written about this topic in Intel's official Developer's Manual (243190) in sections 9.3.1 and 9.3.5.
xynixme:
--- Quote from: Andreas Kohl 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.
--- End quote ---
</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>
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version