Jump to content
Sign in to follow this  
Jacek Laskowski

Issue with Indexer and VirtualTree paint

Recommended Posts

 

I don't use Indexer on a daily basis, but I thought I would use it because I wanted to look for many things in the code quickly. I opened its window, indexed the project and started searching. But after hovering the mouse cursor over the name in the indexer window I get AV. This is related to the hint window, as shown in the log.

 

image.thumb.png.f158c948cf55cde4b97b24e636d5d34c.png

 

The error is repetitive, every hovering the cursor generates AV:

 

[5005FD90]{rtl260.bpl  } System.TObject.InheritsFrom (Line 18239, "System.pas" + 6) + $0
[134F6ABF]{mmx_bds20.dll} VirtualTrees.TBaseVirtualTree.GetDisplayRect (Line 26992, "VirtualTrees.pas" + 40) + $32
[50060298]{rtl260.bpl  } System.TMonitor.CheckOwningThread (Line 19020, "System.pas" + 2) + $0
[5005FDDF]{rtl260.bpl  } System.TObject.Dispatch (Line 18324, "System.pas" + 11) + $0
[50D15292]{vcl260.bpl  } Vcl.Controls.TControl.WndProc (Line 7420, "Vcl.Controls.pas" + 91) + $6
[0EC92198]{CnWizards_D103R.DLL} CnWizNotifier.TCnWizNotifierServices.DoMsgHook$qqrp20System.Classes.TListt1p6HWND__rx24Winapi.Messages.TMessage (Line 1948, "CnWizNotifier.pas" + 1) + $19
[0EC9224B]{CnWizards_D103R.DLL} CnWizNotifier.TCnWizNotifierServices.DoMsgHook$qqrp20System.Classes.TListt1p6HWND__rx24Winapi.Messages.TMessage (Line 1959, "CnWizNotifier.pas" + 12) + $15
[50060079]{rtl260.bpl  } System.@AfterConstruction (Line 18814, "System.pas" + 2) + $5
[50060308]{rtl260.bpl  } System.TMonitor.Destroy (Line 19042, "System.pas" + 0) + $0
[5005F98D]{rtl260.bpl  } System.TObject.CleanupInstance (Line 17680, "System.pas" + 37) + $0
[5005A264]{rtl260.bpl  } System.@FreeMem (Line 4839, "System.pas" + 20) + $0
[5005FBE2]{rtl260.bpl  } System.@IsClass (Line 17942, "System.pas" + 1) + $8
[13542CDE]{mmx_bds20.dll} MMSuperHints.TMMSuperHintWindow.GetObjectHint (Line 164, "MMSuperHints.pas" + 2) + $8
[13542BAD]{mmx_bds20.dll} MMSuperHints.TMMSuperHintWindow.GetHeaderAndDetails (Line 145, "MMSuperHints.pas" + 6) + $E
[0EC91F24]{CnWizards_D103R.DLL} CnWizNotifier.TCnWizNotifierServices.AppEventNotify$qqr32Cnwiznotifier.TCnWizAppEventTypepv (Line 1854, "CnWizNotifier.pas" + 16) + $15
[13542A59]{mmx_bds20.dll} MMSuperHints.TMMSuperHintWindow.CalcHintRect (Line 113, "MMSuperHints.pas" + 1) + $10
[50ECE926]{vcl260.bpl  } Vcl.AppEvnts.TMultiCaster.DoShowHint (Line 600, "Vcl.AppEvnts.pas" + 9) + $3
[50E7050C]{vcl260.bpl  } Vcl.Forms.TApplication.ActivateHint (Line 11796, "Vcl.Forms.pas" + 46) + $18
[50E6FF3D]{vcl260.bpl  } Vcl.Forms.TApplication.HintTimerExpired (Line 11552, "Vcl.Forms.pas" + 8) + $4
[50E6C69A]{vcl260.bpl  } Vcl.Forms.HintTimerProc (Line 9191, "Vcl.Forms.pas" + 3) + $5
[50E6EC33]{vcl260.bpl  } Vcl.Forms.TApplication.ProcessMessage (Line 10747, "Vcl.Forms.pas" + 23) + $1
[50E6EC76]{vcl260.bpl  } Vcl.Forms.TApplication.HandleMessage (Line 10777, "Vcl.Forms.pas" + 1) + $4
[50E6EFA9]{vcl260.bpl  } Vcl.Forms.TApplication.Run (Line 10915, "Vcl.Forms.pas" + 26) + $3
[0051D022]{bds.exe     } bds.bds (Line 214, "" + 7) + $7

 

Share this post


Link to post

I also got this same behavior after upgrading >= v15.0.28. This made the indexer unusable for me. Once I downgraded back to v15.0.27 the indexer worked without AVs again.

Share this post


Link to post
2 hours ago, fjames said:

I also got this same behavior after upgrading >= v15.0.28. This made the indexer unusable for me. Once I downgraded back to v15.0.27 the indexer worked without AVs again.

Thanks! That is some real valuable information.

 

What pops out in the change log between these two versions is the update to a newer VirtualTrees version (7.0 -> 7.4). When I get some time I will try to reproduce that here and track down the cause.

  • Like 1

Share this post


Link to post

Unfortunately I am not able to reproduce that here - neither with 10.3.3 nor with 10.4.1.

 

Can you reproduce it right from the start or has something to happen before?

Share this post


Link to post

I found a possible cause for the crash, but cannot figure out the condition to make it happen. Nevertheless I changed some code to be prepared for that case and have uploaded a new version. Can you please try if this solves the problem?

  • Thanks 2

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  
×