RaelB 4 Posted February 2, 2021 Hi, I recently upgraded to 15.0.33. Every few minutes the IDE hangs for a few seconds. I'm mostly working with small to medium sized units. Delphi 10.3.2 Not sure if this is related to MMX, or perhaps to the IDE updating the number of days left to update subscription.. Thanks Rael Share this post Link to post
Rickard Johansson 8 Posted February 2, 2021 (edited) I think I have the same issue on Delphi 10.4 Update 1. I'm using a 32" 4K screen with both Structure and MMX panels visible. The IDE sometimes freeze when I change focus or press a tab to display another unit. When I hide the MMX panel I'm no longer able to reproduce the freeze. The IDE springs to life after a minute or so each time it happens. I tried to see what's going on using Process Explorer. I've posted a call stack below (it doesn't seem to be very helpful though...). It happened using MMX 15.0.32 as well. 0x0000000000000000 rtl270.bpl!@System@@BeforeDestruction$qqrxp14System@TObjectzc 0x0000000000000000 rtl270.bpl!@System@@BeforeDestruction$qqrxp14System@TObjectzc vcl270.bpl!@Vcl@Themes@StyleServices$qqrp21Vcl@Controls@TControl+0xf9 vcl270.bpl!@Vcl@Themes@TStyleHook@StyleServices$qqrv+0x8 vcl270.bpl!@Vcl@Themes@TStyleManager@HandleMessage$qqrp24Vcl@Controls@TWinControlr24Winapi@Messages@TMessageynpqqrr24Winapi@Messages@TMessage$v+0x56 vcl270.bpl!@Vcl@Controls@TWinControl@DoHandleStyleMessage$qqrr24Winapi@Messages@TMessage+0x14 vcl270.bpl!@Vcl@Comctrls@TToolBar@WndProc$qqrr24Winapi@Messages@TMessage+0x249 vcl270.bpl!@Vcl@Controls@TControl@Perform$qqruiuii+0x27 vcl270.bpl!@Vcl@Comctrls@TToolButton@CMEnabledChanged$qqrr24Winapi@Messages@TMessage+0x4b vcl270.bpl!@Vcl@Controls@TControl@WndProc$qqrr24Winapi@Messages@TMessage+0x2c1 vcl270.bpl!@Vcl@Controls@TControl@Perform$qqruiuii+0x27 vcl270.bpl!@Vcl@Controls@TControl@SetEnabled$qqro+0x16 vcl270.bpl!@Vcl@Comctrls@TToolBar@CanAutoSize$qqrrit1+0x5 vcl270.bpl!@Vcl@Controls@TWinControl@AdjustSize$qqrv+0x31 vcl270.bpl!@Vcl@Comctrls@TToolButton@CMVisibleChanged$qqrr24Winapi@Messages@TMessage+0x78 vcl270.bpl!@Vcl@Controls@TControl@WndProc$qqrr24Winapi@Messages@TMessage+0x2c1 vcl270.bpl!@Vcl@Controls@TControl@SetVisible$qqro+0x2b vcl270.bpl!@Vcl@Comctrls@TToolButton@SetButtonState$qqruc+0x35 vcl270.bpl!@Vcl@Comctrls@TToolBar@UpdateButtonState$qqri+0x2a vcl270.bpl!@Vcl@Comctrls@TToolBar@UpdateButtonStates$qqrv+0x3b vcl270.bpl!@Vcl@Comctrls@TToolBar@WrapButtons$qqrrit1+0x1cd vcl270.bpl!@Vcl@Comctrls@TToolBar@CanAutoSize$qqrrit1+0x5 vcl270.bpl!@Vcl@Controls@TWinControl@AdjustSize$qqrv+0x31 vcl270.bpl!@Vcl@Comctrls@TToolButton@CMVisibleChanged$qqrr24Winapi@Messages@TMessage+0x78 vcl270.bpl!@Vcl@Controls@TControl@WndProc$qqrr24Winapi@Messages@TMessage+0x2c1 vcl270.bpl!@Vcl@Controls@TControl@SetVisible$qqro+0x2b vcl270.bpl!@Vcl@Comctrls@TToolButton@SetButtonState$qqruc+0x35 vcl270.bpl!@Vcl@Comctrls@TToolBar@UpdateButtonState$qqri+0x2a vcl270.bpl!@Vcl@Comctrls@TToolBar@UpdateButtonStates$qqrv+0x3b vcl270.bpl!@Vcl@Comctrls@TToolBar@WrapButtons$qqrrit1+0x1cd vcl270.bpl!@Vcl@Comctrls@TToolBar@CanAutoSize$qqrrit1+0x5 vcl270.bpl!@Vcl@Controls@TWinControl@AdjustSize$qqrv+0x31 vcl270.bpl!@Vcl@Comctrls@TToolButton@CMVisibleChanged$qqrr24Winapi@Messages@TMessage+0x78 vcl270.bpl!@Vcl@Controls@TControl@WndProc$qqrr24Winapi@Messages@TMessage+0x2c1 vcl270.bpl!@Vcl@Controls@TControl@SetVisible$qqro+0x2b vcl270.bpl!@Vcl@Comctrls@TToolButton@SetButtonState$qqruc+0x35 vcl270.bpl!@Vcl@Comctrls@TToolBar@UpdateButtonState$qqri+0x2a vcl270.bpl!@Vcl@Comctrls@TToolBar@UpdateButtonStates$qqrv+0x3b vcl270.bpl!@Vcl@Comctrls@TToolBar@WrapButtons$qqrrit1+0x1cd vcl270.bpl!@Vcl@Comctrls@TToolBar@CanAutoSize$qqrrit1+0x5 vcl270.bpl!@Vcl@Controls@TWinControl@AdjustSize$qqrv+0x31 vcl270.bpl!@Vcl@Comctrls@TToolButton@CMVisibleChanged$qqrr24Winapi@Messages@TMessage+0x78 vcl270.bpl!@Vcl@Controls@TControl@WndProc$qqrr24Winapi@Messages@TMessage+0x2c1 vcl270.bpl!@Vcl@Controls@TControl@SetVisible$qqro+0x2b vcl270.bpl!@Vcl@Comctrls@TToolButton@SetButtonState$qqruc+0x35 vcl270.bpl!@Vcl@Comctrls@TToolBar@UpdateButtonState$qqri+0x2a vcl270.bpl!@Vcl@Comctrls@TToolBar@UpdateButtonStates$qqrv+0x3b vcl270.bpl!@Vcl@Comctrls@TToolBar@WrapButtons$qqrrit1+0x1cd vcl270.bpl!@Vcl@Comctrls@TToolBar@CanAutoSize$qqrrit1+0x5 vcl270.bpl!@Vcl@Controls@TWinControl@AdjustSize$qqrv+0x31 vcl270.bpl!@Vcl@Comctrls@TToolButton@CMVisibleChanged$qqrr24Winapi@Messages@TMessage+0x78 vcl270.bpl!@Vcl@Controls@TControl@WndProc$qqrr24Winapi@Messages@TMessage+0x2c1 vcl270.bpl!@Vcl@Controls@TControl@SetVisible$qqro+0x2b vcl270.bpl!@Vcl@Comctrls@TToolButton@SetButtonState$qqruc+0x35 vcl270.bpl!@Vcl@Comctrls@TToolBar@UpdateButtonState$qqri+0x2a vcl270.bpl!@Vcl@Comctrls@TToolBar@UpdateButtonStates$qqrv+0x3b vcl270.bpl!@Vcl@Comctrls@TToolBar@WrapButtons$qqrrit1+0x1cd vcl270.bpl!@Vcl@Comctrls@TToolBar@CanAutoSize$qqrrit1+0x5 vcl270.bpl!@Vcl@Controls@TWinControl@AdjustSize$qqrv+0x31 vcl270.bpl!@Vcl@Comctrls@TToolButton@CMVisibleChanged$qqrr24Winapi@Messages@TMessage+0x78 vcl270.bpl!@Vcl@Controls@TControl@WndProc$qqrr24Winapi@Messages@TMessage+0x2c1 vcl270.bpl!@Vcl@Controls@TControl@SetVisible$qqro+0x2b vcl270.bpl!@Vcl@Comctrls@TToolButton@SetButtonState$qqruc+0x35 vcl270.bpl!@Vcl@Comctrls@TToolBar@UpdateButtonState$qqri+0x2a vcl270.bpl!@Vcl@Comctrls@TToolBar@UpdateButtonStates$qqrv+0x3b vcl270.bpl!@Vcl@Comctrls@TToolBar@WrapButtons$qqrrit1+0x1cd vcl270.bpl!@Vcl@Comctrls@TToolBar@CanAutoSize$qqrrit1+0x5 vcl270.bpl!@Vcl@Controls@TWinControl@AdjustSize$qqrv+0x31 vcl270.bpl!@Vcl@Comctrls@TToolButton@CMVisibleChanged$qqrr24Winapi@Messages@TMessage+0x78 vcl270.bpl!@Vcl@Controls@TControl@WndProc$qqrr24Winapi@Messages@TMessage+0x2c1 vcl270.bpl!@Vcl@Controls@TControl@SetVisible$qqro+0x2b vcl270.bpl!@Vcl@Comctrls@TToolButton@SetButtonState$qqruc+0x35 vcl270.bpl!@Vcl@Comctrls@TToolBar@UpdateButtonState$qqri+0x2a vcl270.bpl!@Vcl@Comctrls@TToolBar@UpdateButtonStates$qqrv+0x3b vcl270.bpl!@Vcl@Comctrls@TToolBar@WrapButtons$qqrrit1+0x1cd vcl270.bpl!@Vcl@Comctrls@TToolBar@CanAutoSize$qqrrit1+0x5 vcl270.bpl!@Vcl@Controls@TWinControl@AdjustSize$qqrv+0x31 vcl270.bpl!@Vcl@Comctrls@TToolButton@CMVisibleChanged$qqrr24Winapi@Messages@TMessage+0x78 vcl270.bpl!@Vcl@Controls@TControl@WndProc$qqrr24Winapi@Messages@TMessage+0x2c1 vcl270.bpl!@Vcl@Controls@TControl@SetVisible$qqro+0x2b vcl270.bpl!@Vcl@Comctrls@TToolButton@SetButtonState$qqruc+0x35 vcl270.bpl!@Vcl@Comctrls@TToolBar@UpdateButtonState$qqri+0x2a vcl270.bpl!@Vcl@Comctrls@TToolBar@UpdateButtonStates$qqrv+0x3b vcl270.bpl!@Vcl@Comctrls@TToolBar@WrapButtons$qqrrit1+0x1cd vcl270.bpl!@Vcl@Comctrls@TToolBar@CanAutoSize$qqrrit1+0x5 vcl270.bpl!@Vcl@Controls@TWinControl@AdjustSize$qqrv+0x31 vcl270.bpl!@Vcl@Comctrls@TToolButton@CMVisibleChanged$qqrr24Winapi@Messages@TMessage+0x78 vcl270.bpl!@Vcl@Controls@TControl@WndProc$qqrr24Winapi@Messages@TMessage+0x2c1 vcl270.bpl!@Vcl@Controls@TControl@SetVisible$qqro+0x2b vcl270.bpl!@Vcl@Comctrls@TToolButton@SetButtonState$qqruc+0x35 vcl270.bpl!@Vcl@Comctrls@TToolBar@UpdateButtonState$qqri+0x2a vcl270.bpl!@Vcl@Comctrls@TToolBar@UpdateButtonStates$qqrv+0x3b vcl270.bpl!@Vcl@Comctrls@TToolBar@WrapButtons$qqrrit1+0x1cd vcl270.bpl!@Vcl@Comctrls@TToolBar@CanAutoSize$qqrrit1+0x5 vcl270.bpl!@Vcl@Controls@TWinControl@AdjustSize$qqrv+0x31 vcl270.bpl!@Vcl@Comctrls@TToolButton@CMVisibleChanged$qqrr24Winapi@Messages@TMessage+0x78 vcl270.bpl!@Vcl@Controls@TControl@WndProc$qqrr24Winapi@Messages@TMessage+0x2c1 vcl270.bpl!@Vcl@Controls@TControl@SetVisible$qqro+0x2b vcl270.bpl!@Vcl@Comctrls@TToolButton@SetButtonState$qqruc+0x35 vcl270.bpl!@Vcl@Comctrls@TToolBar@UpdateButtonState$qqri+0x2a vcl270.bpl!@Vcl@Comctrls@TToolBar@UpdateButtonStates$qqrv+0x3b Edited February 2, 2021 by Rickard Johansson Share this post Link to post
Rickard Johansson 8 Posted February 2, 2021 I've reverted back to MMX 15.0.30 and everything seems to work properly again. No IDE freeze (so far...). Share this post Link to post
Uwe Raabe 2064 Posted February 2, 2021 I am unable to spot any change between 15.0.30 and 15.0.32 that may be responsible fot that. I need more info (yeah, I know that may be difficult) Share this post Link to post
Rickard Johansson 8 Posted February 3, 2021 1. When using MMX 15.0.33 I tried creating a tab group with the MMX explorer panel and the structure panel, to test if I could reproduce the freeze when the MMX explorer panel was hidden behind the structure panel (structure tab selected). I couldn't. I just assumed it was because the panel was hidden. But maybe it worked because the panel was in a tab group? The changes between 15.0.32 and 15.0.30 include: "fix: sometimes a tabbed Explorer window was empty". 2. I've only seen this issue when the explorer panel is docked and not in a tab group. 3. When reverting back to 15.0.30 I noticed a difference in explorer panel updates. It seems quicker than in 15.0.33 when switching unit tabs (I'm using default delay settings). Share this post Link to post
RaelB 4 Posted February 3, 2021 30 minutes ago, Rickard Johansson said: 2. I've only seen this issue when the explorer panel is docked and not in a tab group. Not sure what you mean by tab group? I think that's what I have (and still have the issue) My layout is as follows: You got any "Update Subscription" countdown in your ide? Share this post Link to post
Rickard Johansson 8 Posted February 3, 2021 RealB, If you change tab to e.g. "Structure" - do you still have the same issue with freezing IDE? Share this post Link to post
Rickard Johansson 8 Posted February 5, 2021 After some testing I finally found out why the IDE was behaving the way it did. Ever since I bought my 4K 32" screen I've been experimenting with different high DPI settings to make the development environment as pleasing to use as possible inside my VM. I ended up with using: Windows scale setting: 150% High DPI scale scaling override: Application I may have updated MMX to 15.0.32 at the same time. Changing Windows scale to 100% seems to solve all issues. No more hangs, or strange refresh/resize issues, or strange large fonts in some settings pages. I can even run GExperts now (it crashed the IDE before after a few minutes)... Share this post Link to post
timfrost 79 Posted February 7, 2021 Very interesting topic! I also have been getting 10.4.1 IDE instability, and in 10.4 too. Not quite enough to stop work and try to track it down, but annoying. After reading the start of this topic I looked at my MMX version, and found it was 15.0.29, so I experimentally upgraded to 15.0.32 and the instability and hangs got much worse. I dropped back to 15.0.30 and no IDE problems yet. I run my IDE on a 4k screen at 200%, and dropping to 100% is not an option. Share this post Link to post
Attila Kovacs 631 Posted February 7, 2021 How long does this "IDE hang" takes? Can you attach the hanging IDE process to a debugger like OllyDbg and step through until user code and track it down what part of the IDE / Module it causes? Share this post Link to post
Uwe Raabe 2064 Posted February 7, 2021 23 minutes ago, timfrost said: I run my IDE on a 4k screen at 200%, and dropping to 100% is not an option. I am running different Delphi versions together with the latest MMX on two 4k monitors with scaling set to 150% and I don't experience any problems. Inspecting the MMX changes between 15.0.29 and 15.0.30 I cannot spot anything causing spurious delays. Share this post Link to post
Attila Kovacs 631 Posted February 7, 2021 2 minutes ago, Uwe Raabe said: latest MMX on two 4k monitors with scaling set to 150% How do you do that? Using it in blurry mode? Because MMX forms are broken in DPI Aware App mode. Share this post Link to post
Gary 18 Posted February 7, 2021 Maybe a long shot...I have this happen from time to time and the problem is TestInsight, for no reason the 'run tests continually when idle' gets selected. IDE will seem to hang because tests are running. Drove me crazy until I found it. Share this post Link to post
Uwe Raabe 2064 Posted February 7, 2021 1 hour ago, Attila Kovacs said: How do you do that? Using it in blurry mode? Because MMX forms are broken in DPI Aware App mode. This is a screenshot of the 10.4.1 IDE with MMX 15.0.33 (no DPI overrides): https://www.dropbox.com/s/ij71pobp9kebxn1/07-02-_2021_14-13-21.png?dl=0 There are some glitches with labels being too long, which come from scaling fonts to the next Integer size. Whenever I see those I try to adjust that with the next update. Can you elaborate a bit on the problems you see? (Perhaps in a separate topic) Share this post Link to post
Attila Kovacs 631 Posted February 7, 2021 @Uwe Raabe Yeah ok, I see, this is blurry mode, an eye killer. I'm switching to dpi awareness handled by application. (Yeah I know, there are several other problems, but I'm doing the same like you, when I find time I'm patching the IDE) Share this post Link to post