[Lazarus] IDE invocation of lhelp, probable endianness issue
Mark Morgan Lloyd
markMLl.lazarus at telemetry.co.uk
Wed Aug 22 11:40:22 CEST 2012
Mattias Gaertner wrote:
> On Wed, 22 Aug 2012 08:59:26 +0000
> Mark Morgan Lloyd <markMLl.lazarus at telemetry.co.uk> wrote:
>
>> On Linux running on either SPARC or PPC, trying to invoke
>> context-sensitive help (i.e. F1 key over a keyword) fails with a
>> dialogue e.g. "Unknown error showing
>> /forms/tapplication/initialize.html". There's no error addresses etc. on
>> the console, the exception doesn't break the IDE.
>
> Sounds like a bug in lhelp. Can you start lhelp standalone and check?
With the dialogue displayed, the IDE is unresponsive but lhelp is
running. In that state, lhelp allows me to select a file but fails on
SPARC (not tested PPC, don't believe I see this on ARM) with a bus error.
Running lhelp from a shell using gdb gives me
Program received signal SIGBUS, Bus error.
[Switching to Thread 16384 (LWP 25970)]
0x0038c844 in _$CHMREADER$_Ll594 () at src/chmreader.pas:1144
1144 ind:=LEToN(plongint(head)^);
Current language: auto; currently pascal
(gdb)
(gdb)
(gdb) bt
#0 0x0038c844 in _$CHMREADER$_Ll594 () at src/chmreader.pas:1144
#1 0x0038c400 in _$CHMREADER$_Ll561 () at src/chmreader.pas:1197
#2 0x00365ed4 in TCHMCONTENTPROVIDER__FILLTOC (DATA=-153649120,
this=0xf7118140) at chmcontentprovider.pas:514
#3 0x000d504c in TAPPLICATION__PROCESSASYNCCALLQUEUE (this=0xf7174030)
at ./include/application.inc:1087
#4 0x000d2c48 in TAPPLICATION__PROCESSMESSAGES (this=0xf7174030) at
./include/application.inc:386
#5 0x003651c4 in TCHMCONTENTPROVIDER__DOLOADURI (URI=0xf71cd738,
ACHM=0x0, this=0xf7118140)
at chmcontentprovider.pas:334
#6 0x003681ec in TCHMCONTENTPROVIDER__LOADURL (AURL=0xf71bc9d8,
ACONTEXT=-1, this=0xf7118140)
at chmcontentprovider.pas:1033
#7 0x000e20ac in THELPFORM__OPENURL (AURL=0xf71bc9d8, ACONTEXT=-1,
this=0xf717d940) at lhelpcore.pas:596
#8 0x000dff24 in THELPFORM__FILEMENUOPENITEMCLICK (SENDER=0xf6ea4160,
this=0xf717d940) at lhelpcore.pas:179
#9 0x00202df8 in TMENUITEM__CLICK (this=0xf6ea4160) at
./include/menuitem.inc:83
#10 0x0020381c in TMENUITEM__DOCLICKED (MSG=void, this=0xf6ea4160) at
./include/menuitem.inc:278
#11 0x00035404 in _$SYSTEM$_Ll7225 () at
/usr/local/src/fpc/fpcbuild-2.6.0/fpcsrc/rtl/inc/objpas.inc:592
#12 0x0029aa08 in DELIVERMESSAGE (TARGET=0xf6ea4160, AMESSAGE=void) at
lclmessageglue.pas:119
#13 0x00261208 in DELIVERMESSAGE (TARGET=0xf6ea4160, AMESSAGE=void) at
gtk2proc.inc:3591
#14 0x002e2cc4 in GTK2MENUITEMACTIVATE (WIDGET=0x6d00d0,
DATA=0xf6ea4160) at gtk2wsmenus.pp:138
#15 0xf79887e8 in g_cclosure_marshal_VOID__VOID () from
/usr/lib/libgobject-2.0.so.0
#16 0xf7979c0c in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#17 0xf798c73c in g_signal_chain_from_overridden () from
/usr/lib/libgobject-2.0.so.0
#18 0xf798de6c in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#19 0xf798e01c in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#20 0xf7cbc0ac in gtk_widget_activate () from /usr/lib/libgtk-x11-2.0.so.0
#21 0xf7bca5ac in gtk_menu_shell_activate_item () from
/usr/lib/libgtk-x11-2.0.so.0
#22 0xf7bcbc4c in gtk_menu_shell_append () from /usr/lib/libgtk-x11-2.0.so.0
#23 0xf7bcbc4c in gtk_menu_shell_append () from /usr/lib/libgtk-x11-2.0.so.0
Previous frame identical to this frame (corrupt stack?)
Sorry about the delay getting this reported (see below).
>> I don't see this on x86 or ARM (Linux, not testing Windows). Seeing it
>> on PPC but not ARM suggests that it's an endianness rather than
>> alignment issue. I'm not yet able to test on SPARC Solaris due to the
>> slowness of fpdoc on that combination.
>
> The chm files are the same on all platforms.
I was assuming that (but I was going to checksum them anyway). However
once the build had started I didn't want to interrupt it, my script
counts the number of lines output as reassurance during long builds and
I can see it's not far from complete.
--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk
[Opinions above are the author's, not those of his employers or colleagues]
More information about the Lazarus
mailing list