View Issue Details

IDProjectCategoryView StatusLast Update
0032235LazarusIDEpublic2017-10-15 00:11
ReporterBart Broersma Assigned ToJuha Manninen  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Platformx86_64OSLinux Mint 
Product Version1.9 (SVN) 
Summary0032235: CodeTools error: unit1.pp(1,12) Error: In front of code.
DescriptionCT shows an error "unit1.pp(1,12) Error: In front of code.

This happens when you type inside a comment block that is in frnt of the unit identifier.
Steps To ReproduceProject->New->Application
Select unit1 in SE
Goto line 1, begin of line (in front of the word "unit").
Add "{}" (without quotes)
Inside the comment bock type "writeln(" (without quotes)
The CT error pops up in the messages window.
Additional InformationReported in the forum (http://forum.lazarus.freepascal.org/index.php/topic,37788.msg255007.html#msg255007) by Eugene Loza.
TagsNo tags attached.
Fixed in Revisionr56054
LazTarget-
Widgetset
Attached Files

Relationships

related to 0025767 resolvedMattias Gaertner Bracket Not Found 

Activities

eugeneloza

2017-08-04 12:59

reporter  

codetools.report (6,148 bytes)

Mattias Gaertner

2017-08-05 20:08

manager   ~0102078

I don't get the message with your steps.
I only get the message when I excplicitely invoke codetools, e.g. using Ctrl+Space or Find declaration. I have enabled options "Automatically invoke after point".

Any additional hint how to reproduce it?

Bart Broersma

2017-08-05 23:53

developer   ~0102080

Last edited: 2017-08-06 18:33

View 3 revisions

It just "works" like I described (and the same for the reporter in the forum).
Need any of my settings xml file?

Built a fresh Lazarus with make all.
Started it with an empty config dir.
Bug triggered as described above.

Mattias Gaertner

2017-08-08 18:40

manager   ~0102114

Can you start the IDE via gdb and create a stacktrace?

Bart Broersma

2017-08-08 19:21

developer   ~0102116

Last edited: 2017-08-08 19:23

View 3 revisions

TIdentCompletionTool.ParseSourceTillCollectionStart BuildTreeAndGetCleanPos worked, but no node found. CursorPos=unit1.pas(y=1,x=10) CleanCursorPos=10 ScannedRange=lsrEnd Scanner.ScannedRange=lsrEnd IgnoreErrorAfterValid=True
  IgnoreErrorAfter=unit1.pas(y=1,x=10) IgnoreErrorAfterCleanedPos=10 CleanPosIsAfterIgnorePos=True
  Line={writeln(|}# 10
  Node=End.,Start=238,End=242,Src="...end."

Thread 1 "lazarus" hit Breakpoint 1, 0x00000000004320a0 in fpc_raiseexception ()
(gdb) bt
# 0 0x00000000004320a0 in fpc_raiseexception ()
# 1 0x0000000000c3a950 in RAISEEXCEPTIONINSTANCE (this=0x7fffef17d050,
    THEEXCEPTION=0x7fffee03d440, CLEARNICEPOS=true)
    at customcodetool.pas:2441
# 2 0x0000000000c3a9c7 in RAISEEXCEPTIONCLASS (this=0x7fffef17d050,
    ID=20170421194836,
    AMESSAGE=0x7fffe55a9358 "In front of code. (The pascal code starts with \"unit\" at line 2, column 1)", EXCEPTIONCLASS=0x17d0930, CLEARNICEPOS=true)
    at customcodetool.pas:2452
# 3 0x0000000000c34a10 in RAISEEXCEPTION (this=0x7fffef17d050,
    ID=20170421194836,
    AMESSAGE=0x7fffe55a9358 "In front of code. (The pascal code starts with \"unit\" at line 2, column 1)", CLEARNICEPOS=true) at customcodetool.pas:400
# 4 0x0000000000c3bb5e in RAISENONODEFOUNDATCURSOR (parentfp=0x7fffffffc8d0)
    at customcodetool.pas:2578
# 5 0x0000000000c3b8ce in FINDDEEPESTNODEATPOS (this=0x7fffef17d050,
    STARTNODE=0x7fffec0af7e0, P=10, EXCEPTIONONNOTFOUND=true)
    at customcodetool.pas:2652
# 6 0x0000000000c4e8cd in BUILDSUBTREEANDFINDDEEPESTNODEATPOS (
    this=0x7fffef17d050, STARTNODE=0x7fffec0af7e0, P=10,
    EXCEPTIONONNOTFOUND=true) at pascalparsertool.pas:5973
# 7 0x0000000000c4e892 in BUILDSUBTREEANDFINDDEEPESTNODEATPOS (
    this=0x7fffef17d050, P=10, EXCEPTIONONNOTFOUND=true)
    at pascalparsertool.pas:5964
# 8 0x0000000000c7dd30 in PARSESOURCETILLCOLLECTIONSTART (
    this=0x7fffef17d050, CURSORPOS=..., CLEANCURSORPOS=10, CURSORNODE=0x0,
    IDENTSTARTPOS=0, IDENTENDPOS=0) at identcompletiontool.pas:2063
# 9 0x0000000000c80f7c in FINDCODECONTEXT (this=0x7fffef17d050,
    CURSORPOS=..., CODECONTEXTS=0x0) at identcompletiontool.pas:3210
# 10 0x00000000008646b7 in FINDCODECONTEXT (this=0x7fffef1f5040,
    CODE=0x7ffff7f61260, X=10, Y=1, CODECONTEXTS=0x0)
    at codetoolmanager.pas:2348
# 11 0x0000000000bfbf99 in SHOWCODECONTEXT (CODE=0x7ffff7f61260)
    at codecontextform.pas:127
# 12 0x00000000004c655d in DOSHOWCODECONTEXT (this=0x7fffef176090,
    JUMPTOERROR=false) at main.pp:10312
# 13 0x00000000004a966a in SRCNOTEBOOKSHOWCODECONTEXT (this=0x7fffef176090,
    JUMPTOERROR=false, ABORT=false) at main.pp:3191
# 14 0x0000000000a81c13 in STARTSHOWCODECONTEXT (this=0x7fffe5a22590,
    JUMPTOERROR=false) at sourceeditor.pp:7723
# 15 0x0000000000a722aa in USERCOMMANDPROCESSED (this=0x7fffe59b8dc0,
    SENDER=0x7fffe5a26bd0, COMMAND=511, ACHAR=..., DATA=0x0)
    at sourceeditor.pp:3951
# 16 0x00000000008b8446 in DOONCOMMANDPROCESSED (this=0x7fffe5a26bd0,
    COMMAND=511, ACHAR=..., DATA=0x0) at synedit.pp:7079
# 17 0x00000000008b4e57 in COMMANDPROCESSOR (this=0x7fffe5a26bd0,
    COMMAND=511, ACHAR=..., DATA=0x0, ASKIPHOOKS=0) at synedit.pp:6474
# 18 0x00000000008a46d3 in UTF8KEYPRESS (this=0x7fffe5a26bd0, KEY=...)
    at synedit.pp:2997
# 19 0x000000000058a69c in DOUTF8KEYPRESS (this=0x7fffe5a2a6bd0, UTF8KEY=...)
    at include/wincontrol.inc:5983
# 20 0x0000000000588580 in INTFUTF8KEYPRESS (this=0x7fffe5a26bd0,
    UTF8KEY=..., REPEATCOUNT=1, SYSTEMKEY=false)
    at include/wincontrol.inc:5033

(I inserted blanks after each # to fool Mantis)

Juha Manninen

2017-10-14 18:13

developer   ~0103426

Fixed, please test.

Bart Broersma

2017-10-15 00:11

developer   ~0103429

Fixed, thanks.

Issue History

Date Modified Username Field Change
2017-08-03 18:07 Bart Broersma New Issue
2017-08-04 12:59 eugeneloza File Added: codetools.report
2017-08-05 10:31 Mattias Gaertner Assigned To => Mattias Gaertner
2017-08-05 10:31 Mattias Gaertner Status new => assigned
2017-08-05 20:08 Mattias Gaertner Note Added: 0102078
2017-08-05 20:08 Mattias Gaertner Status assigned => feedback
2017-08-05 23:53 Bart Broersma Note Added: 0102080
2017-08-05 23:53 Bart Broersma Status feedback => assigned
2017-08-06 00:04 Bart Broersma Note Edited: 0102080 View Revisions
2017-08-06 18:33 Bart Broersma Note Edited: 0102080 View Revisions
2017-08-08 18:40 Mattias Gaertner Note Added: 0102114
2017-08-08 19:21 Bart Broersma Note Added: 0102116
2017-08-08 19:22 Bart Broersma Note Edited: 0102116 View Revisions
2017-08-08 19:23 Bart Broersma Note Edited: 0102116 View Revisions
2017-10-14 10:48 Juha Manninen Assigned To Mattias Gaertner => Juha Manninen
2017-10-14 10:59 Juha Manninen Relationship added related to 0025767
2017-10-14 18:13 Juha Manninen Fixed in Revision => r56054
2017-10-14 18:13 Juha Manninen Note Added: 0103426
2017-10-14 18:13 Juha Manninen Status assigned => resolved
2017-10-14 18:13 Juha Manninen Resolution open => fixed
2017-10-15 00:11 Bart Broersma Note Added: 0103429
2017-10-15 00:11 Bart Broersma Status resolved => closed