OS/2, eCS & ArcaOS - Technical > Web applications

Oddities with Youtube.

<< < (3/8) > >>

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