Recent

Author Topic: Weird External: ? exception when using 32-bit Lazarus on 64-bit PC  (Read 2966 times)

Mychal

  • Newbie
  • Posts: 6
Hello,

after I  have installed 32-bit version of lazarus on my 64-bit PC, due to xulrunner used by GeckoPortV1. I am getting this exception at the start of my application:

Code: [Select]
Project DLV4 raised exception class 'External: ?'.

At address 5C5A60F5

Here are further information:
Code: [Select]
IDE Info:
Lazarus Version: 1.2.2
FPC Version:     2.6.4
SVN Revision:    44758
i386-win32-win32/win64

PC info:
CPU: Intel Pentium CPU G2120 @ 3.10GHz
RAM: 4 GB
OS: Microsoft Windows 7 Professional 64-bit SP1

Error:
Project DLV4 raised exception class 'External: ?'.

At address 5C5A60F5


Digest from assembler:

5C5A60D0 5b                       pop    %ebx
5C5A60D1 c21000                   ret    $0x10
5C5A60D4 cc                       int3   
5C5A60D5 cc                       int3   
5C5A60D6 cc                       int3   
5C5A60D7 cc                       int3   
5C5A60D8 cc                       int3   
5C5A60D9 cc                       int3   
5C5A60DA cc                       int3   
5C5A60DB cc                       int3   
5C5A60DC cc                       int3   
5C5A60DD cc                       int3   
5C5A60DE cc                       int3   
5C5A60DF cc                       int3   
5C5A60E0 833dd8ab5b5c00           cmpl   $0x0,0x5c5babd8
5C5A60E7 742d                     je     0x5c5a6116 <js3250!?js_SetTraceableNativeFailed@@YAXPAUJSContext@@@Z+5078>
5C5A60E9 55                       push   %ebp
5C5A60EA 8bec                     mov    %esp,%ebp
5C5A60EC 83ec08                   sub    $0x8,%esp
5C5A60EF 83e4f8                   and    $0xfffffff8,%esp
5C5A60F2 dd1c24                   fstpl  (%esp)

---current adress---
5C5A60F5 f20f2c0424               cvttsd2si (%esp),%eax
---current adress---

5C5A60FA c9                       leave 
5C5A60FB c3                       ret   
5C5A60FC 833dd8ab5b5c00           cmpl   $0x0,0x5c5babd8
5C5A6103 7411                     je     0x5c5a6116 <js3250!?js_SetTraceableNativeFailed@@YAXPAUJSContext@@@Z+5078>
5C5A6105 83ec04                   sub    $0x4,%esp
5C5A6108 d93c24                   fnstcw (%esp)
5C5A610B 58                       pop    %eax
5C5A610C 6683e07f                 and    $0x7f,%ax
5C5A6110 6683f87f                 cmp    $0x7f,%ax
5C5A6114 74d3                     je     0x5c5a60e9 <js3250!?js_SetTraceableNativeFailed@@YAXPAUJSContext@@@Z+5033>

Packages Used:
Synapse
GeckoCOmponents
FCL
LCL

I think its because of cvttsd2si instruction as it is 64 bit operand and I have compiled it on 32-bit compiler, therefore it is considered by OS as 32-bit app. However I dunno how to get my app working.

Any help is appreciated.

-Michal Pavuk

Mychal

  • Newbie
  • Posts: 6
Re: Weird External: ? exception when using 32-bit Lazarus on 64-bit PC
« Reply #1 on: May 17, 2014, 10:08:36 pm »
Oh, I have solved it. Looks like I was missing
Code: [Select]
SetExceptionMask([exInvalidOp, exDenormalized, exZeroDivide, exOverflow, exUnderflow, exPrecision]);
in my code.  :D

 

TinyPortal © 2005-2018