[fpc-pascal] widestring related? problem on arm (2.3.1)
Terry Kemp
tkemp at klc.net.nz
Mon Nov 3 23:18:54 CET 2008
On Mon, 2008-11-03 at 19:14 +0100, Jonas Maebe wrote:
> On 03 Nov 2008, at 01:06, Terry Kemp wrote:
>
> > I'm getting a runtime error 231 when starting program on arm.
> > Stems from ANSI2WIDEMOVE in cwstring.pp returning ESysEBADF (9).
> >
> > Do I need to define something on arm for widestrings?
>
> Run time error 231 in the unix wide string manager means that iconv
> returned an unexpected error code (in the sens that it's not supported
> by the code in the cwstring unit). Since you already compiled the
> cwstring unit with debug information, you can step into it (or set a
> breakpoint) and see what the error code is (or just add a writeln).
> Once you find out, it'll probably be easier to figure out what the
> problem is.
>
>
> Jonas
> _______________________________________________
> fpc-pascal maillist - fpc-pascal at lists.freepascal.org
> http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Hi
Attached is a gdb log.
The problem seems to be here...
fpc_char_to_uchar (C=38 '&') at ustrings.inc:644
644 widestringmanager.Ansi2UnicodeMoveProc(@c, w, 1);
(gdb) p w
$18 = (WIDESTRING) 0x0
where w is suddenly undefined.
thoughts?
Terry
-------------- next part --------------
(gdb) r -qws
Starting program: /home/root/project2 -qws
[HINT] TWinControl.CreateWnd creating Handle during loading Form1:TForm1 csDesig
ning=False
[HINT] TWinControl.CreateWnd creating Handle during loading Panel2:TPanel csDesi
gning=False
[HINT] TWinControl.CreateWnd creating Handle during loading StatusBar1:TStatusBa
r csDesigning=False
[HINT] TWinControl.CreateWnd creating Handle during loading BitBtn4:TBitBtn csDe
signing=False
[HINT] TWinControl.CreateWnd creating Handle during loading BitBtn1:TBitBtn csDe
signing=False
[HINT] TWinControl.CreateWnd creating Handle during loading BitBtn7:TBitBtn csDe
signing=False
[HINT] TWinControl.CreateWnd creating Handle during loading BitBtn8:TBitBtn csDe
signing=False
[HINT] TWinControl.CreateWnd creating Handle during loading Panel3:TPanel csDesi
gning=False
Breakpoint 1, TQTSTATICTEXT__SETTEXT (W=0x413d5a28, this=0x411c34c0)
at qtwidgets.pas:4177
4177 AmpersandPos := Pos('&', W);
(gdb) p W
$11 = (WIDESTRING) 0x413d5a28
(gdb) p W^
$12 = 80 'P'
(gdb) p W[0]
$13 = 80 'P'
(gdb) p W[1]
$14 = 114 'r'
(gdb) p W[2]
$15 = 111 'o'
(gdb) p @
A syntax error in expression, near `'.
(gdb) p @W
$16 = (PWIDESTRING) 0xbe8aff58
(gdb) s
POS (C=38 '&', S=0x413d5a28) at ustrings.inc:1570
1570 wc:=c;
(gdb) p wc
$17 = 31248 #16
(gdb) p wc^
Attempt to take contents of a non-pointer value.
(gdb) s
fpc_char_to_uchar (C=38 '&') at ustrings.inc:643
643 begin
(gdb) s
fpc_pushexceptaddr (FT=1, _BUF=0xbe8afe28, _NEWADDR=0xbe8afe50)
at except.inc:89
89 except.inc: No such file or directory.
in except.inc
(gdb) s
90 in except.inc
(gdb) s
91 in except.inc
(gdb) s
92 in except.inc
(gdb) s
93 in except.inc
(gdb) s
94 in except.inc
(gdb) s
95 in except.inc
(gdb) s
SETJMP (S=
{V1 = 1092367552, V2 = 1779220, V3 = 1092070912, V4 = 997416, V5 = 0, V6 = 0, SL = 1076936704, FP = 3196780184, SP = 3196780052, PC = 177708})
at setjump.inc:20
20 setjump.inc: No such file or directory.
in setjump.inc
(gdb) s
21 in setjump.inc
(gdb) s
fpc_char_to_uchar (C=38 '&') at ustrings.inc:644
644 widestringmanager.Ansi2UnicodeMoveProc(@c, w, 1);
(gdb) p w
$18 = (WIDESTRING) 0x0
(gdb) p w^
Cannot access memory at address 0x0
(gdb) p w[1]
Cannot access memory at address 0x2
(gdb) p c
$19 = 38 '&'
(gdb) p @c
$20 = (ANSISTRING) 0xbe8afe6c
(gdb) s
ANSI2WIDEMOVE (SOURCE=0xbe8afe6c, DEST=0x0, LEN=1) at cwstring.pp:231
231 writeln('source ', source);
(gdb) c
Continuing.
source &��䊾|�����
dest
len 1
Ansi2WideMove 9
Runtime error 231 at $0009D6C0
$0009D6C0 ANSI2WIDEMOVE, line 272 of ../unix/cwstring.pp
$0002B654 fpc_char_to_uchar, line 644 of /build/gumstix/gumstix-fpc/fpc-svn/rtl/inc/ustrings.inc
$0002BDC4 POS, line 1570 of /build/gumstix/gumstix-fpc/fpc-svn/rtl/inc/ustrings.inc
$001B26A0 TQTSTATICTEXT__SETTEXT, line 4177 of qtwidgets.pas
$001A17A4 TQTWSWINCONTROL__SETTEXT, line 360 of qtwscontrols.pp
$000EA9A4 TWINCONTROL__WSSETTEXT, line 4754 of ./include/wincontrol.inc
$000EEF88 TWINCONTROL__INITIALIZEWND, line 6615 of ./include/wincontrol.inc
$000EEA98 TWINCONTROL__CREATEWND, line 6525 of ./include/wincontrol.inc
$000EE5E4 TWINCONTROL__CREATEHANDLE, line 6440 of ./include/wincontrol.inc
$000EFAA0 TWINCONTROL__HANDLENEEDED, line 6831 of ./include/wincontrol.inc
Program exited with code 0347.
(gdb)
More information about the fpc-pascal
mailing list