Daily Usage Issues

NCrunch 5.15.0.4 crashes my VS 17.14.7 again and again and again...

Started by Anders Juul on 8,538 views

I'll retry. I should attach the other VS instance to devenv.exe, right ?

Edited

Thanks for sending through the trace. This confirms that my timer fix wasn't sufficient to resolve the problem. I'll try implementing another fix and will aim to get you a new build early next week. Sorry for the trouble.
I've implemented a number of changes to the way the tests window text output updates itself in response to WM_RESIZE messages. I'm hopeful that this will solve the immediate crash issue, though I'm less confident it will solve everything. I still can't reproduce the issue you're encountering, and I'm starting to wonder if it's downstream from something else. Anyway, the build is below if you'd like to give it a try.

NCrunch_Console_5.19.0.1.msi
NCrunch_Console_5.19.0.1.zip
NCrunch_GridNodeServer_5.19.0.1.msi
NCrunch_GridNodeServer_5.19.0.1.zip
NCrunch_LicenseServer_5.19.0.1.zip
NCrunch_Rider_5.19.0.1.7z
NCrunch_Rider_5.19.0.1.zip
NCrunch_VS2010_5.19.0.1.msi
NCrunch_VS2010_5.19.0.1.zip
NCrunch_VS2012_5.19.0.1.msi
NCrunch_VS2012_5.19.0.1.zip
NCrunch_VS2013_5.19.0.1.msi
NCrunch_VS2013_5.19.0.1.zip
NCrunch_VS2015_5.19.0.1.msi
NCrunch_VS2015_5.19.0.1.msi.7z
NCrunch_VS2015_5.19.0.1.zip
NCrunch_VS2017_5.19.0.1.msi
NCrunch_VS2017_5.19.0.1.msi.7z
NCrunch_VS2017_5.19.0.1.zip
NCrunch_VS2019_5.19.0.1.msi
NCrunch_VS2019_5.19.0.1.msi.7z
NCrunch_VS2019_5.19.0.1.zip
NCrunch_VS2022_5.19.0.1.msi
NCrunch_VS2022_5.19.0.1.msi.7z
NCrunch_VS2022_5.19.0.1.zip
NCrunch_VS2026_5.19.0.1.msi
NCrunch_VS2026_5.19.0.1.msi.7z
NCrunch_VS2026_5.19.0.1.zip
Installed. I'll use it for 2 days and let you know.
No freeze until this morning. But we lost the trace output. Relaunching VS make it appear again, but it becomes quickly empty.
arkiaconsulting wrote:No freeze until this morning. But we lost the trace output. Relaunching VS make it appear again, but it becomes quickly empty.


Ok, I was kind of expecting something like this, as the only way I could see that routine crashing the IDE is if some critical input to it was going horribly wrong.

When this issue appears, do you notice anything else odd in the NCrunch UI? For example, certain elements that are the wrong size or misplaced?

Also, could you confirm whether the freezes are still happening on resize of the window? If so, are you able to get me another stack trace?

Edited

Actually, the trace output content disappears as soon as I resize vertically the bottom pane of the ncrunch window.

Side note: when I open VS, the bottom pane is not even visible. In order to make it appear, I must change the horizontal size of the ncrunch window.

Worth mentioning that my ncrunch window is docked to a separate VS window, and that I saved this layout as a VS layout.
Thanks for these details. I'm going to try and get you a diagnostic build to assess some of the data related to the UI. I think that the platform isn't exposing correct sizing details on your system. I'll let you know as soon as I have it available.
You're probably right. And I must mention that I'm not using VS onto the main laptop display, but on a separate wide screen.
arkiaconsulting wrote:You're probably right. And I must mention that I'm not using VS onto the main laptop display, but on a separate wide screen.


Before I get you this build, could you check your 'Text output font' setting in your NCrunch configuration and let me know what it's set to? If it's not the default, can you reset it to default and let me know if this makes a difference?
The font is the default one "Courrier New, 8.25pt, 0"

PS: I also noticed that sometimes, the trace output scroll bar takes about 90% of the width of the trace output pane

Edited

Can you confirm if you have the DPI scaling set differently between your screens?

Also, can you try turning off the 'Optimize rendering for screens with different pixel densities' setting in your Visual Studio settings? (Tools->Options->Environment->General)
The laptop screen is 150% zoom. The 49" wide screen is 100%. I only use VS on the large screen (5120x1440)

Changing the optimization setting doesn't change anything.

I just noticed an interesting fact: by setting the pixel scale to 75% on the wide screen, I don't have any weird NCrunch component sizes, and the trace output content no longer disappear.

Edited

Ok, I think I've made some progress on this issue. I've managed to reproduce some DPI scaling related issues around the scrollbar, and although I still can't get it to eat the whole window and crash the IDE, I think there's a good chance that it's all coming from there.

The scrollbar is the single control on the Tests Window that isn't custom. It's using the standard platform logic to size itself. Because the rest of the window sizes itself according to the scrollbar, if the horizontal side of it gets too big, it can crowd out the text output pane and cause the rendering to fail to work correctly. When there isn't enough space to properly show the text, the algorithm rendering the text works extremely inefficiently that this was causing the earlier crashes.

So in short, the platform doesn't handle DPI scaling correctly when working with systems with multiple monitors running different scaling settings. This causes a lot of downstream stuff to fail.

I've implemented a change that includes a range of workarounds to force the scrollbar to a fixed size dependent on the DPI scaling of the monitor showing it. This has solved the rendering issues around the scrollbar that I've managed to reproduce myself, though we'll have to see about whether it solves the issues you're experiencing. I've also included some additional trace logic that might help to further diagnose the issue if it still appears.

Please give the build a try and let me know how you go. If it still gives you problems, please submit a bug report directly after they appear so I can take a look at the logs.

NCrunch_Console_5.19.0.2.msi
NCrunch_Console_5.19.0.2.zip
NCrunch_GridNodeServer_5.19.0.2.msi
NCrunch_GridNodeServer_5.19.0.2.zip
NCrunch_LicenseServer_5.19.0.2.zip
NCrunch_Rider_5.19.0.2.7z
NCrunch_Rider_5.19.0.2.zip
NCrunch_VS2010_5.19.0.2.msi
NCrunch_VS2010_5.19.0.2.zip
NCrunch_VS2012_5.19.0.2.msi
NCrunch_VS2012_5.19.0.2.zip
NCrunch_VS2013_5.19.0.2.msi
NCrunch_VS2013_5.19.0.2.zip
NCrunch_VS2015_5.19.0.2.msi
NCrunch_VS2015_5.19.0.2.msi.7z
NCrunch_VS2015_5.19.0.2.zip
NCrunch_VS2017_5.19.0.2.msi
NCrunch_VS2017_5.19.0.2.msi.7z
NCrunch_VS2017_5.19.0.2.zip
NCrunch_VS2019_5.19.0.2.msi
NCrunch_VS2019_5.19.0.2.msi.7z
NCrunch_VS2019_5.19.0.2.zip
NCrunch_VS2022_5.19.0.2.msi
NCrunch_VS2022_5.19.0.2.msi.7z
NCrunch_VS2022_5.19.0.2.zip
NCrunch_VS2026_5.19.0.2.msi
NCrunch_VS2026_5.19.0.2.msi.7z
NCrunch_VS2026_5.19.0.2.zip
Thanks @Remco.

I just installed this version and I'll test it during the next few days.
It looks like that the issue is solved. No more weird NCrunch window sizes, and the the trace output never disappeared.

Thanks @Remco !
It's been a long time since I experienced a crash. If you have not already, I'd say you can close this issue.

Post a reply

Log in to reply.