Es tritt mit dem aktuellen Lazarus 2.0 (fixes 2.0) und fpc 3.2 (fixes3.2) auch wieder auf.
Stack
Code: Alles auswählen
#0 TAVLTREENODE__SUCCESSOR(<error reading variable>) at laz_avl_tree.pp:1410
#1 TSROWCOLENUMERATOR__MOVENEXT(<error reading variable>) at .\source\common\fpsclasses.pas:547
#2 TSCUSTOMWORKSHEETGRID__DRAWCELLBORDERS(0, <error reading variable>) at .\source\visual\fpspreadsheetgrid.pas:2487
#3 TSCUSTOMWORKSHEETGRID__DRAWALLROWS(<error reading variable>) at .\source\visual\fpspreadsheetgrid.pas:2334
#4 TCUSTOMGRID__PAINT(<error reading variable>) at grids.pas:3757
#5 TCUSTOMCONTROL__PAINTWINDOW(889265107, <error reading variable>) at .\include\customcontrol.inc:118
#6 TWINCONTROL__PAINTHANDLER({MSG = 15, DC = 889265107, PAINTSTRUCT = 0xb3bfa8c, RESULT = 0}, <error reading variable>) at .\include\wincontrol.inc:4848
#7 TWINCONTROL__WMPAINT({MSG = 15, DC = 889265107, PAINTSTRUCT = 0xb3bfa8c, RESULT = 0}, <error reading variable>) at .\include\wincontrol.inc:6835
#8 TCUSTOMCONTROL__WMPAINT({MSG = 15, DC = 889265107, PAINTSTRUCT = 0xb3bfa8c, RESULT = 0}, <error reading variable>) at .\include\customcontrol.inc:98
#9 SYSTEM$_$TOBJECT_$__$$_DISPATCH$formal at :0
#10 ?? at :0
#11 TWINCONTROL__WNDPROC({MSG = 15, WPARAM = 889265107, LPARAM = 188480140, RESULT = 0, WPARAMLO = 7123, WPARAMHI = 13569, WPARAMFILLER = {}, LPARAMLO = 64140, LPARAMHI = 2875, LPARAMFILLER = {}, RESULTLO = 0, RESULTHI = 0, RESULTFILLER = {}}, <error reading variable>) at .\include\wincontrol.inc:5419
#12 TCUSTOMGRID__WNDPROC({MSG = 15, WPARAM = 889265107, LPARAM = 188480140, RESULT = 0, WPARAMLO = 7123, WPARAMHI = 13569, WPARAMFILLER = {}, LPARAMLO = 64140, LPARAMHI = 2875, LPARAMFILLER = {}, RESULTLO = 0, RESULTHI = 0, RESULTFILLER = {}}, <error reading variable>) at grids.pas:4837
#13 DELIVERMESSAGE(0x11af7ae0, <error reading variable: Attempt to dereference a generic pointer.>) at lclmessageglue.pas:112
#14 TWINDOWPROCHELPER__SENDPAINTMESSAGE(0, <error reading variable>) at .\win32\win32callback.inc:690
#15 TWINDOWPROCHELPER__DOWINDOWPROC(<error reading variable>) at .\win32\win32callback.inc:2268
#16 WINDOWPROC(1052128, 15, 0, 0) at .\win32\win32callback.inc:2673

- Anzeige der Daten
Was man sieht ist, da die 'vermeintliche Adresse 40ba4444 verwendet wird. Egal ob man recompiliert oder nicht. Die Werte unter Data ändern sich immer wieder. Nur 40ba4444 bleibt immer konstant.

- SIGSEGV
Ich hatte durch das 40ba4444 so einen Verdacht: Deaktiviere ich Heaptrace, so ist der Fehler bei mir weg. Wenn man sich die Stelle wo das passiert ansieht, so wird dort auf nil abgefragt. Was ist wenn wenn die Kennung von Heaptrace beim Hochtraversieren statt einem nil seine Kennung eingebracht hat ?!
Edit: heaptrc sollte $DEADBEEF und $AAAAAAAA haben.