Exception Range Check Error raised inside SynEditMarkupIfDef.pas when scrolling editor.
Original Reporter info from Mantis: Cyrax
-
Reporter name:
Original Reporter info from Mantis: Cyrax
- Reporter name:
Description:
See summary field, "Steps To Reproduce" and "Additional Information" for more info.
This happens only if {$ENDIF (or other conditional/compiler directive) does not have closing curly bracket.
Steps to reproduce:
- Open attached project in IDE.
- Open project1.lpr in text editor.
- Scroll text area with mouse scroll wheel or text cursor control keys.
Additional information:
Target system: win32, Free Pascal trunk 2.7.1-r25835, Lazarus trunk '1.3'-r43331
fpc make options all install sourceinstall UPXPROG=echo OPT="-gw2 -godwarfsets
-gl -O- -OoNO -Xs-" COMPILER_OPTIONS="-gw2 -godwarfsets -gl -O- -OoNO -Xs-" INST
ALL_PREFIX=i:\free_pascal_and_lazarus\free_pascal_and_lazarus\fpc\trunk\build\tr
unk_x32 REVSTR=25835 IDE=1
lazarus make options make all UPXPROG=echo OPT="-gw2 -godwarfsets -gh -gl -O- -
OoNO -dHEAPTRC_WINDOW -Xs-" USESVN2REVISIONINC=0
---
Call stack:
#0 fpc_raiseexception(0xc9, 0xb22cc2, 0xd01f3b4) at ..\inc\except.inc:218
#1 RUNERRORTOEXCEPT(201, 0xb22cc2, 0xd01f3b4) at ..\objpas\sysutils\sysutils.inc:415
#2 HANDLEERRORADDRFRAME(201, 0xb22cc2, 0xd01f3b4) at ..\inc\system.inc:1062
#3 HANDLEERRORADDRFRAMEIND(201, 0xb22cc2, 0xd01f3b4) at ..\inc\system.inc:1079
#4 fpc_dynarray_rangecheck(0xffc88e0, 1) at ..\inc\dynarr.inc:41
#5 GETENTRY(0xff9eb88, 1) at syneditmarkupifdef.pp:1318
#6 GETENTRY({FATBOL = false, FATEOL = false, FNODE = 0xff9eb88, FTREE = 0x108f5718, FSTARTLINE = 8, INDEX = 3, FCACHENESTMINIMUM = -1, FCACHENESTSTART = -1, FCACHENESTEND = -1, STARTLINE = 8, ATBOL = false, ATEOL = false, NODE = 0xff9eb88}, 1) at syneditmarkupifdef.pp:1495
#7 GETORINSERTNODEATLINE(0x108f5718, 21) at syneditmarkupifdef.pp:1832
#8 VALIDATERANGE(0x108f5718, 22, 56, 0x108f57a8) at syneditmarkupifdef.pp:2815
#9 DOTREEUNLOCKING(0x107af190, 0x108f5718) at syneditmarkupifdef.pp:3188
#10 CALLNOTIFYEVENTS(0x10406e40, 0x108f5718) at lazmethodlist.pas:163
#11 UNLOCKTREE(0x108f5718) at syneditmarkupifdef.pp:3122
#12 DECPAINTLOCK(0x107af190) at syneditmarkupifdef.pp:3954
#13 DECPAINTLOCK(0x108d72a8) at syneditmarkup.pp:510
#14 DODECPAINTLOCK(0x11123760, 0x11123760) at synedit.pp:2278
#15 CALLNOTIFYEVENTS(0x10017f90, 0x11123760) at lazmethodlist.pas:163
#16 SENDNOTIFICATION(0x2fabd8, SENRDECPAINTLOCK, 0x11123760) at synedittextbuffer.pp:1447
#17 SETUPDATESTATE(0x2fabd8, false, 0x11123760) at synedittextbuffer.pp:1216
#18 ENDUPDATE(0x2fabd8, 0x11123760) at lazsynedittext.pas:962
#19 DECPAINTLOCK(0x11123760) at synedit.pp:2167
#20 WMMOUSEWHEEL(0x11123760, {MSG = 522, BUTTON = 0, WHEELDELTA = -120, X = 186, Y = 178, RESULT = 0, USERDATA = 0x0, STATE = []}) at synedit.pp:7155
#21 DISPATCH(0x11123760, 0) at ..\inc\objpas.inc:602
#22 WNDPROC(0x11123760, {MSG = 522, WPARAM = -7864320, LPARAM = 11665594, RESULT = 0, WPARAMLO = 0, WPARAMHI = 65416, WPARAMFILLER = {}, LPARAMLO = 186, LPARAMHI = 178, LPARAMFILLER = {}, RESULTLO = 0, RESULTHI = 0, RESULTFILLER = {}}) at include\control.inc:2099
#23 WNDPROC(0x11123760, {MSG = 522, WPARAM = -7864320, LPARAM = 11665594, RESULT = 0, WPARAMLO = 0, WPARAMHI = 65416, WPARAMFILLER = {}, LPARAMLO = 186, LPARAMHI = 178, LPARAMFILLER = {}, RESULTLO = 0, RESULTHI = 0, RESULTFILLER = {}}) at include\wincontrol.inc:5327
#24 WNDPROC(0x11123760, {MSG = 522, WPARAM = -7864320, LPARAM = 11665594, RESULT = 0, WPARAMLO = 0, WPARAMHI = 65416, WPARAMFILLER = {}, LPARAMLO = 186, LPARAMHI = 178, LPARAMFILLER = {}, RESULTLO = 0, RESULTHI = 0, RESULTFILLER = {}}) at synedit.pp:5721
#25 DELIVERMESSAGE(0x11123760, 0) at lclmessageglue.pas:112
#26 WINDOWPROC(198950, 522, -7864320, 22938119) at win32\win32callback.inc:2497
#27 gapfnScSendMessage at :0
#28 ?? at :0
#29 USER32!GetThreadDesktop at :0
#30 WIN32INT_$$_DISPOSECOMBOEDITWINDOWINFO$TCUSTOMCOMBOBOX at :0
#31 USER32!CharPrevW at :0
#32 USER32!DispatchMessageW at :0
#33 APPPROCESSMESSAGES(0xd2417c0) at win32\win32object.inc:367
#34 HANDLEMESSAGE(0xd1e97e8) at include\application.inc:1268
#35 RUNLOOP(0xd1e97e8) at include\application.inc:1401
#36 APPRUN(0xd2417c0, {Proc = {procedure (POINTER)} 0xd01feb0, Self = 0xd1e97e8}) at include\interfacebase.inc:54
#37 RUN(0xd1e97e8) at include\application.inc:1389
#38 main at lazarus.pp:128
Mantis conversion info:
- Mantis ID: 25244
- Fixed in version: 1.3 (SVN)
- Fixed in revision: 43332 (#6b745269)
- Target version: 1.2.0
- LazTarget: 1.2