[fpc-devel] fpc 2.4.2rc1 for Mac crashing in AnsiCompareText

Felipe Monteiro de Carvalho felipemonteiro.carvalho at gmail.com
Wed Nov 3 22:25:16 CET 2010


Hello,

Has anyone been experiencing this one?

AnsiCompareText is crashing everywhere for me:

procedure TOPSkins.FillChairInfo(ASkinName: string; AChairIndex,
AChairCount: Integer;
  var ASeat: TSeatModel);
begin
..
  // First fill size and button position
  // From Skins/Chairs/
  if AnsiCompareText(ASkinName, 'Chair01') = 0 then

With:

Breakpoint 1, 0x000210ff in fpc_raiseexception ()
(gdb) bt
#0  0x000210ff in fpc_raiseexception ()
#1  0x000bd434 in SYSUTILS_RUNERRORTOEXCEPT$LONGINT$POINTER$POINTER ()
#2  0x000250d8 in SYSTEM_HANDLEERRORADDRFRAME$LONGINT$POINTER$POINTER ()
#3  0x00031cd7 in CTHREADS_CENTERCRITICALSECTION$formal ()
#4  0x00027a66 in SYSTEM_ENTERCRITICALSECTION$TRTLCRITICALSECTION ()
#5  0x000ed282 in CWSTRING_ANSICOMPARETEXT$ANSISTRING$ANSISTRING$$LONGINT ()
#6  0x00060f1c in TOPSKINS__FILLCHAIRINFO (ASKINNAME=0x397eb4,
ACHAIRINDEX=0, ACHAIRCOUNT=8, ASEAT={CHAIRCENTERPOS = {X = 0, Y = 0},
CHAIRPOS = {X = 0, Y = 0}, CHAIRSIZE = {CX = 0, CY = 0},
CHAIRBUTTONPOS = {X = 0, Y = 0}, CHIPSPOS = {X = 0, Y = 0},
CHAIRMIRROREDX = false, CHAIRMIRROREDY = false, SEATHINT = 0x0, POTPOS
= {X = 0, Y = 0}, CARDPLACE = {X = 0, Y = 0}, SEATSTATUS = SSVACANT,
AVATAR = {NICKNAME = 0x0, INPLAYAMOUNT = 0x0, LOCATION = 0x0, STATUS =
0x0}, HAND = 0x0, BET = {VALUE = 0x0, PILES = {0x0, 0x0, 0x0, 0x0}}},
this=0x27ed2c0) at opcskins.pas:1628

The object is valid, and the same code works perfectly in Windows. I
don't remember any crashes like that with fpc 2.4.1 previously, but
unfortunately I threw away my fpc 2.4.1 installer. FPC 2.4.0 can't be
used with this project because jpeg crashes.

I tryed to remove the use of AnsiCompareText from my code, but then it
just crashes inside the LCL in places where AnsiCompareText is used =(

Even in trivial code such as creating a component:

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_PROTECTION_FAILURE at address: 0x00000094
0x000268c5 in SYSTEM_WAITFREE_FIXED$PMEMCHUNK_FIXED$POSCHUNK ()
(gdb) bt
#0  0x000268c5 in SYSTEM_WAITFREE_FIXED$PMEMCHUNK_FIXED$POSCHUNK ()
#1  0x00026989 in
SYSTEM_SYSFREEMEM_FIXED$PFREELISTS$PMEMCHUNK_FIXED$$LONGWORD ()
#2  0x000ebc2d in CWSTRING_ANSICOMPARETEXT$ANSISTRING$ANSISTRING$$LONGINT ()
#3  0x000adefb in
CLASSES_TSTRINGLIST_$__DOCOMPARETEXT$ANSISTRING$ANSISTRING$$LONGINT ()
#4  0x001815b0 in TLCLCOMPONENT__NEWINSTANCE (pvmt=0x4a32f0
<VMT_CUSTOMDRAWNEXTRAS_TBITMAPPEDBUTTON>) at lclclasses.pp:118
#5  0x00294208 in TCUSTOMBITMAPPEDBUTTON__CREATE (AOWNER=0x0,
vmt=0x4a32f0, this=0x0) at customdrawnextras.pas:313

I also tryed to remove the use of cwstrings from the LCL via define,
but it still crashes with the same stack. Is the unit mandatory in
Mac?

bye,
-- 
Felipe Monteiro de Carvalho



More information about the fpc-devel mailing list