[fpc-devel] widestring on win32

Vincent Snijders vsnijders at quicknet.nl
Thu May 11 09:55:23 CEST 2006


Hi,

I am having some trouble with starting Lazarus using fpc 2.1.1, see 
stack trace below. Since the stack trace indicates memory errors and 
widestring problems, I thought it might be related to the recent change 
that widestrings on win32 are no longer reference counted (log message 
of revision 3466).

Can you explain what that means? Doesn't refcounting exist to prevent 
memory leaks after you are done using the string. Won't this change 
create memory leaks? I have a feeling I am missing part of it.

Second question: Can widestrings be used in the same way across all 
platforms like ansistrings can, from a application programmer view?

Third: Is the current widestring implementation finished or do you know 
  any things that need to be done, before I can test it (with Lazarus 
for example)?

Vincent

Program received signal SIGSEGV, Segmentation fault.
SYSFREEMEM_FIXED () at heap.inc:986
986     heap.inc: No such file or directory.
         in heap.inc
(gdb) bt
#0  SYSFREEMEM_FIXED () at heap.inc:986
#1  $0018a4b0 in ?? ()
#2  $0006fa4c in ?? ()
#3  $fffffff8 in ?? ()
#4  $0000003c in ?? ()
#5  $00411876 in SYSFREEMEM () at heap.inc:1045
#6  $000c7268 in ?? ()
#7  $0006fa4c in ?? ()
#8  $00411af2 in SYSREALLOCMEM () at heap.inc:1231
#9  $0000001b in ?? ()
#10 $0000003c in ?? ()
#11 $007f0470 in INITTRANSLATION () at Translations.pas:140
#12 $00409796 in fpc_widestr_setlength (S=$ba24048b) at wstrings.inc:719
#13 $0006fa4c in ?? ()
#14 $0000001b in ?? ()
#15 $00000011 in ?? ()
#16 $00000001 in ?? ()
#17 $0040aed3 in UTF8DECODE (S=$174d60) at wstrings.inc:1340
#18 $007f056d in TRANSLATE (NAME=$9223f8, VALUE=$9223d8, HASH=116448302,
     ARG=$b4be0) at Translations.pas:152
#19 $00418ff2 in SETUNITRESOURCESTRINGS () at objpas.pp:304
#20 $007f070f in DOTRANSLATEUNITRESOURCESTRINGS (RESUNITNAME=$a7c18c,
     AFILENAME=$14e9d0) at Translations.pas:200
#21 $007f085b in TRANSLATEUNITRESOURCESTRINGS (RESUNITNAME=$a7c18c,
     BASEFILENAME=$c6ff0, LANG=$b4c08, FALLBACKLANG=$b4bc8)
     at Translations.pas:221
#22 $006695b7 in TRANSLATERESOURCESTRINGS (BASEDIRECTORY=$9b110,
     CUSTOMLANG=$0) at IDETranslations.pas:188
#23 $0042fe16 in TMAINIDE__LOADGLOBALOPTIONS (this=$a5608) at Main.pp:1023
#24 $0043000d in VTREF2_VMT_SYSTEM_TOBJECT$$13 () at Main.pp:1067
#25 $00402868 in VTREF3_VMT_MAIN_TMAINIDE$$43 () at lazarus.pp:88
#26 $00416f9b in EXE_ENTRY () at system.pp:422




More information about the fpc-devel mailing list