Marc Weustink schreef:
Michael Van Canneyt wrote:
Hello,
Clicking the middle mouse button in the Lazarus editor window crashes
the IDE with a 'Segmentation fault' if it's compiled for AMD64. The
IDE just exits, and prints "Segmentation fault" on the terminal.
The exact same sources, compiled for i386 work fine, and clicking
the middle mouse button pastes the X selection in the editor.
(as I expected it to do).
Tried on Linux-AMD64, SuSE 10.1, today's SVN version of lazarus and FPC.
backtrace ?
AFAIK, none of the laz devels work on a 64 bit machine, so it is a bit
hard to test/check
Reproduced using remote access over vnc. To me it looks like major heap
corruption.
Backtraces obtained using gdb from the command line.
Vincent
#0 0x0000000000442d4a in SYSTEM_SYSGETMEM_FIXED$INT64$$POINTER ()
#1 0x0000000000442f7d in SYSTEM_SYSGETMEM$INT64$$POINTER ()
#2 0x0000000000441754 in SYSTEM_GETMEM$POINTER$INT64 ()
#3 0x000000000043a37b in SYSTEM_TOBJECT_$__NEWINSTANCE$$TOBJECT ()
#4 0x000000000043a0e0 in SYSTEM_TOBJECT_$__CREATE$$TOBJECT ()
#5 0x0000000000584345 in DELIVERGTKPAINTMESSAGE (TARGET=0x2b82e3524db0,
WIDGET=0x1139510, AREA=0x113fa00, REPAINTALL=0 '\0') at gtkcallback.inc:95
#6 0x0000000000584b54 in GTKDRAWAFTER (WIDGET=0x1139510, AREA=0x113fa00,
DATA=0x2b82e3524db0) at gtkcallback.inc:442
#7 0x00002b82e1ef34b3 in gtk_signal_connect_while_alive ()
from /usr/lib/libgtk-1.2.so.0
#8 0x00002b82e1ef4327 in gtk_signal_emit_stop_by_name ()
from /usr/lib/libgtk-1.2.so.0
#9 0x00002b82e1ef513b in gtk_signal_emit () from /usr/lib/libgtk-1.2.so.0
#10 0x00002b82e1f29300 in gtk_widget_draw () from /usr/lib/libgtk-1.2.so.0
#11 0x00002b82e1f29870 in gtk_widget_draw () from /usr/lib/libgtk-1.2.so.0
#12 0x00002b82e19b2c52 in g_get_current_time () from /usr/lib/libglib-1.2.so.0
#13 0x00002b82e19b3866 in g_main_add_poll () from /usr/lib/libglib-1.2.so.0
#14 0x00002b82e1ec1128 in gtk_main_iteration_do ()
from /usr/lib/libgtk-1.2.so.0
#15 0x00000000005122f6 in APPPROCESSMESSAGES (self=0x2b82e180b030)
at gtkobject.inc:1820
#16 0x0000000000458ded in HANDLEMESSAGE (self=0x2b82e178bb30)
at ./include//application.inc:914
#17 0x00000000004592c1 in FORMS_TAPPLICATION_$_RUNLOOP_RUNMESSAGE ()
at ./include//application.inc:1030
#18 0x00000000004591d7 in RUNLOOP (self=0x2b82e178bb30)
at ./include//application.inc:1046
#19 0x00000000004ab2ae in APPRUN (ALOOP=
{Proc = {void (void *)} 0x7fffc9333238, Self = 0x7fffc9333280},
self=0x2b82e180b030) at ./include//interfacebase.inc:43
#20 0x0000000000459177 in RUN (self=0x2b82e178bb30)
at ./include//application.inc:1017
#21 0x000000000042cf04 in main () at lazarus.pp:119
(gdb) c
Continuing.
Program received signal SIGSEGV, Segmentation fault.
0x0000000000442d1a in SYSTEM_SYSGETMEM_FIXED$INT64$$POINTER ()
(gdb) bt
#0 0x0000000000442d1a in SYSTEM_SYSGETMEM_FIXED$INT64$$POINTER ()
#1 0x0000000000442f7d in SYSTEM_SYSGETMEM$INT64$$POINTER ()
#2 0x0000000000441f85 in fpc_getmem ()
#3 0x000000000043b668 in fpc_pushexceptobj ()
#4 0x000000000043b913 in fpc_raiseexception ()
#5 0x00000000004e657e in SYSUTILS_RUNERRORTOEXCEPT$LONGINT$POINTER$POINTER ()
#6 0x000000000043f73a in SYSTEM_HANDLEERRORADDRFRAME$LONGINT$POINTER$POINTER
()
#7 0x000000000044a04f in SYSTEM_SIGNALTORUNERROR$LONGINT$PSIGINFO$PSIGCONTEXT
()
#8 0x0000000000440cc0 in SYSTEM_FPEXIT$LONGINT ()
#9 0x0000000000000000 in ?? ()