View Issue Details

IDProjectCategoryView StatusLast Update
0037561LazarusDebuggerpublic2021-01-13 19:44
ReporterDerek Callaghan Assigned ToMartin Friebe  
Status resolvedResolutionfixed 
Product Version2.0.10 
Summary0037561: hint on array crashes lazarus
Descriptionafter breakpoint, putting cursor over the name of the array causes lazarus to crash
Steps To Reproduceset breakpoint at showmessage
put cursor over the first gStats name in i := gStats[4, 0].Left + gStats[4, 0].Width + 5;
TagsNo tags attached.
Fixed in Revision
Attached Files


related to 0037574 new IDE Crash: TIpHtml overwrites huge amounts of random memory 
related to 0037575 new TIpHtml: wrong layout on large data 
related to 0038311 resolvedMartin Friebe Lazarus hangs while debugging when mouse cursor is on a big table name 


Derek Callaghan

2020-08-13 01:16

reporter (378,679 bytes)

Martin Friebe

2020-08-13 18:09

manager   ~0124849

It actually does not crash. It comes back after (on a fast CPU) maybe 5 minutes....
But yes that needs to be fixed.

Note this returns the entire array (aprox 70 panels). To just get one panel, you need to put the cursor to the closing "]".

You can add either
as a watch.

And that wil work.
- With the default debugger.
- Using fpdebug will be slow on that too, even in watches (also needs fixing)

Note to myself:
function TCodeHelpManager.TextToHTML(Txt: string): string;
with an input string over 100Kb leads to too many string operations. (copy, expand, shrink....)

Derek Callaghan

2020-08-14 07:14

reporter   ~0124863

Last edited: 2020-08-15 01:21

View 2 revisions

Thanks Martin.
closing ] does not work for me, but period does.
I get different errors but should document one.

get "unable to load html stream" "url error access violation"
then "debugger experience and unknown condition"
I abort the latter, the former has changed to an access violation, I abort that and lazarus ends.

edit: It takes about 5 seconds for this to fail in my case.

Martin Friebe

2020-08-15 03:56

manager   ~0124888

Last edited: 2020-08-15 03:57

View 2 revisions

Ok, the mouse can hover over the left or right half of a char.

The right of "[" and the left of "." should display the entire Panel.
The right of "." will only show the value for "Left"

Note-able, displaying the panel gives an unformatted plain-text hint. That is a different bug.

I could not get the "unable to load html stream".
However I can see how it would lead to the "oops debugger" error, and that can be prevented.
Then the hint would not show, but the debug session will survive.

For the "unable to load html stream" more info is needed.

Actually, it looks like the "unable to load html stream". happens when the date is too big

Martin Friebe

2020-08-15 04:15

manager   ~0124889

See issue 0037574 for the "unable to load html stream" error

Martin Friebe

2020-08-15 04:40

manager   ~0124890

There is still a part of this open. But I added a new bug report for it. (Likely to be fixed by someone else)

The speed issue is solved in
The "Opps debugger"

However, the remaining issue 0037574 still leaves this unusable. Hovering over gstats can cause the IDE to crash/exit immediately. It can also display an error, but then the IDE would be unstable, could report wrong values, and crash at any time later.
So this issue is basically transferred to 0037574

Martin Friebe

2020-08-15 15:23

manager   ~0124902

Patch for workaround-ish to prevent the crash:

Ensure to build the IDE without -gh / without Heaptrc => otherwise there is still some code that will be slow

Issue History

Date Modified Username Field Change
2020-08-13 01:16 Derek Callaghan New Issue
2020-08-13 01:16 Derek Callaghan Status new => assigned
2020-08-13 01:16 Derek Callaghan Assigned To => Martin Friebe
2020-08-13 01:16 Derek Callaghan File Added:
2020-08-13 18:09 Martin Friebe Note Added: 0124849
2020-08-14 07:14 Derek Callaghan Note Added: 0124863
2020-08-15 01:21 Derek Callaghan Note Edited: 0124863 View Revisions
2020-08-15 03:56 Martin Friebe Note Added: 0124888
2020-08-15 03:57 Martin Friebe Note Edited: 0124888 View Revisions
2020-08-15 04:15 Martin Friebe Note Added: 0124889
2020-08-15 04:40 Martin Friebe Status assigned => resolved
2020-08-15 04:40 Martin Friebe Resolution open => fixed
2020-08-15 04:40 Martin Friebe LazTarget => -
2020-08-15 04:40 Martin Friebe Note Added: 0124890
2020-08-15 13:56 Juha Manninen Relationship added related to 0037574
2020-08-15 15:19 Martin Friebe Relationship added related to 0037575
2020-08-15 15:23 Martin Friebe Note Added: 0124902
2021-01-13 19:44 Martin Friebe Relationship added related to 0038311