Anyone who knows how to work around this? It happens every once in a while right after logging in over RDP to a VM with running Delphi XE2 (but similarly also in other Delphi versions like XE7):
---------------------------
Error
---------------------------
Access violation at address 74FD82A4 in module 'shell32.dll'. Write of address 00000014.
---------------------------
OK Details >>
---------------------------
With the below stacktrace including the sanctuary which always give me the creeps.
http://qc.embarcadero.com/wc/qcmain.aspx?d=139126 (which – like all IDE submitted bug reports – is private hence the copy at https://gist.github.com/jpluimers/6d8c0f29be107a83e48a5fd035900f74 ).
[74FD82A4]{shell32.dll } Unknown function at ReadCabinetState + $9844 [5005F24A]{rtl210.bpl } System.TObject.GetInterface (Line 16020, "System.pas" + 12) + $8 [5005F26D]{rtl210.bpl } System.TObject.GetInterface (Line 16023, "System.pas" + 15) + $10 [5064BE96]{vcl210.bpl } Vcl.ComCtrls.TCustomComboBoxEx.CreateWnd (Line 28950, "Vcl.ComCtrls.pas" + 72) + $15 [505C6766]{vcl210.bpl } Vcl.Controls.TWinControl.CreateHandle (Line 9538, "Vcl.Controls.pas" + 3) + $4 [505C6A2C]{vcl210.bpl } Vcl.Controls.TWinControl.UpdateShowing (Line 9661, "Vcl.Controls.pas" + 7) + $11 [505C6A5A]{vcl210.bpl } Vcl.Controls.TWinControl.UpdateShowing (Line 9664, "Vcl.Controls.pas" + 10) + $10 [505C6BD4]{vcl210.bpl } Vcl.Controls.TWinControl.UpdateControlState (Line 9708, "Vcl.Controls.pas" + 21) + $3 [505C696B]{vcl210.bpl } Vcl.Controls.TWinControl.CMRecreateWnd (Line 9642, "Vcl.Controls.pas" + 5) + $3 [505C2C15]{vcl210.bpl } Vcl.Controls.TControl.WndProc (Line 7232, "Vcl.Controls.pas" + 91) + $6 [505C9B37]{vcl210.bpl } Vcl.Controls.TWinControl.CMSysFontChanged (Line 11652, "Vcl.Controls.pas" + 2) + $4 [505C2C15]{vcl210.bpl } Vcl.Controls.TControl.WndProc (Line 7232, "Vcl.Controls.pas" + 91) + $6 [505C5E6D]{vcl210.bpl } Vcl.Controls.TWinControl.GetControl (Line 9129, "Vcl.Controls.pas" + 3) + $4 [505C5ED5]{vcl210.bpl } Vcl.Controls.TWinControl.Broadcast (Line 9159, "Vcl.Controls.pas" + 3) + $11 [505C9B37]{vcl210.bpl } Vcl.Controls.TWinControl.CMSysFontChanged (Line 11652, "Vcl.Controls.pas" + 2) + $4 [5005F5E3]{rtl210.bpl } System.TObject.Dispatch (Line 16511, "System.pas" + 11) + $0 [505C2C15]{vcl210.bpl } Vcl.Controls.TControl.WndProc (Line 7232, "Vcl.Controls.pas" + 91) + $6 [505C5932]{vcl210.bpl } Vcl.Controls.TWinControl.AlignControl (Line 8922, "Vcl.Controls.pas" + 9) + $A [505C594F]{vcl210.bpl } Vcl.Controls.TWinControl.AlignControl (Line 8925, "Vcl.Controls.pas" + 12) + $3 [505C76E2]{vcl210.bpl } Vcl.Controls.TWinControl.WndProc (Line 10038, "Vcl.Controls.pas" + 153) + $6 [505E5EF3]{vcl210.bpl } Vcl.StdCtrls.TCustomCombo.WndProc (Line 4293, "Vcl.StdCtrls.pas" + 70) + $4 [500636D0]{rtl210.bpl } System.@FinalizeArray (Line 31435, "System.pas" + 139) + $0 [50644444]{vcl210.bpl } Vcl.ComCtrls.TToolBar.WndProc (Line 24345, "Vcl.ComCtrls.pas" + 104) + $6 [505E5EF3]{vcl210.bpl } Vcl.StdCtrls.TCustomCombo.WndProc (Line 4293, "Vcl.StdCtrls.pas" + 70) + $4 [5064B79F]{vcl210.bpl } Vcl.ComCtrls.TCustomComboBoxEx.WndProc (Line 28744, "Vcl.ComCtrls.pas" + 6) + $4 [505C2850]{vcl210.bpl } Vcl.Controls.TControl.Perform (Line 7010, "Vcl.Controls.pas" + 10) + $8 [505C6926]{vcl210.bpl } Vcl.Controls.TWinControl.RecreateWnd (Line 9631, "Vcl.Controls.pas" + 0) + $12 [506435F0]{vcl210.bpl } Vcl.ComCtrls.TToolBar.CMSysFontChanged (Line 23848, "Vcl.ComCtrls.pas" + 2) + $2 [505C2C15]{vcl210.bpl } Vcl.Controls.TControl.WndProc (Line 7232, "Vcl.Controls.pas" + 91) + $6 [505C5ED5]{vcl210.bpl } Vcl.Controls.TWinControl.Broadcast (Line 9159, "Vcl.Controls.pas" + 3) + $11 [505C9B37]{vcl210.bpl } Vcl.Controls.TWinControl.CMSysFontChanged (Line 11652, "Vcl.Controls.pas" + 2) + $4 [505C2C15]{vcl210.bpl } Vcl.Controls.TControl.WndProc (Line 7232, "Vcl.Controls.pas" + 91) + $6 [5005F5E3]{rtl210.bpl } System.TObject.Dispatch (Line 16511, "System.pas" + 11) + $0 [505C2C15]{vcl210.bpl } Vcl.Controls.TControl.WndProc (Line 7232, "Vcl.Controls.pas" + 91) + $6 [5005F5E3]{rtl210.bpl } System.TObject.Dispatch (Line 16511, "System.pas" + 11) + $0 [505C2C15]{vcl210.bpl } Vcl.Controls.TControl.WndProc (Line 7232, "Vcl.Controls.pas" + 91) + $6 [500636E1]{rtl210.bpl } System.@FinalizeArray (Line 31464, "System.pas" + 168) + $0 [505C76E2]{vcl210.bpl } Vcl.Controls.TWinControl.WndProc (Line 10038, "Vcl.Controls.pas" + 153) + $6 [5017B134]{rtl210.bpl } System.Classes.{System.Generics.Collections}TDictionary<System.Integer,System.Classes.IInterfaceList>.TryGetValue (Line 1974, "System.Generics.Collections.pas" + 6) + $2 [505C76E2]{vcl210.bpl } Vcl.Controls.TWinControl.WndProc (Line 10038, "Vcl.Controls.pas" + 153) + $6 [50644444]{vcl210.bpl } Vcl.ComCtrls.TToolBar.WndProc (Line 24345, "Vcl.ComCtrls.pas" + 104) + $6 [5070CE98]{vcl210.bpl } Vcl.Forms.TCustomForm.WndProc (Line 4427, "Vcl.Forms.pas" + 206) + $5 [505C5ED5]{vcl210.bpl } Vcl.Controls.TWinControl.Broadcast (Line 9159, "Vcl.Controls.pas" + 3) + $11 [505C9B37]{vcl210.bpl } Vcl.Controls.TWinControl.CMSysFontChanged (Line 11652, "Vcl.Controls.pas" + 2) + $4 [505C2C15]{vcl210.bpl } Vcl.Controls.TControl.WndProc (Line 7232, "Vcl.Controls.pas" + 91) + $6 [5005F5E3]{rtl210.bpl } System.TObject.Dispatch (Line 16511, "System.pas" + 11) + $0 [505C2C15]{vcl210.bpl } Vcl.Controls.TControl.WndProc (Line 7232, "Vcl.Controls.pas" + 91) + $6 [5005F5E3]{rtl210.bpl } System.TObject.Dispatch (Line 16511, "System.pas" + 11) + $0 [505C2C15]{vcl210.bpl } Vcl.Controls.TControl.WndProc (Line 7232, "Vcl.Controls.pas" + 91) + $6 [505C76E2]{vcl210.bpl } Vcl.Controls.TWinControl.WndProc (Line 10038, "Vcl.Controls.pas" + 153) + $6 [5070CE98]{vcl210.bpl } Vcl.Forms.TCustomForm.WndProc (Line 4427, "Vcl.Forms.pas" + 206) + $5 [505C5E7E]{vcl210.bpl } Vcl.Controls.TWinControl.GetControl (Line 9130, "Vcl.Controls.pas" + 4) + $A [505C5ED5]{vcl210.bpl } Vcl.Controls.TWinControl.Broadcast (Line 9159, "Vcl.Controls.pas" + 3) + $11 [505C9B37]{vcl210.bpl } Vcl.Controls.TWinControl.CMSysFontChanged (Line 11652, "Vcl.Controls.pas" + 2) + $4 [00424121]{bds.exe } Sanctuary.Util..{System.Generics.Collections}TList<Sanctuary.Util.TPair<System.string,System.string>> + $A51 [505C2C15]{vcl210.bpl } Vcl.Controls.TControl.WndProc (Line 7232, "Vcl.Controls.pas" + 91) + $6 [500677D3]{rtl210.bpl } System.LocaleCharsFromUnicode (Line 38465, "System.pas" + 1) + $17 [50066DF9]{rtl210.bpl } System.UnicodeToUtf8 (Line 37174, "System.pas" + 19) + $16 [500671D0]{rtl210.bpl } System.UTF8EncodeToShortString (Line 37308, "System.pas" + 1) + $1D [50059C58]{rtl210.bpl } System.@FreeMem (Line 4439, "System.pas" + 20) + $0 [5006132C]{rtl210.bpl } System.@UStrClr (Line 24117, "System.pas" + 14) + $0 [5059E493]{vcl210.bpl } Vcl.Graphics.GetFontData (Line 2406, "Vcl.Graphics.pas" + 44) + $13 [505C76E2]{vcl210.bpl } Vcl.Controls.TWinControl.WndProc (Line 10038, "Vcl.Controls.pas" + 153) + $6 [5070CE98]{vcl210.bpl } Vcl.Forms.TCustomForm.WndProc (Line 4427, "Vcl.Forms.pas" + 206) + $5 [505C2850]{vcl210.bpl } Vcl.Controls.TControl.Perform (Line 7010, "Vcl.Controls.pas" + 10) + $8 [50717212]{vcl210.bpl } Vcl.Forms.TApplication.NotifyForms (Line 10981, "Vcl.Forms.pas" + 2) + $16 [50713573]{vcl210.bpl } Vcl.Forms.TScreen.IconFontChanged (Line 8439, "Vcl.Forms.pas" + 1) + $D [5059E013]{vcl210.bpl } Vcl.Graphics.TGraphicsObject.Changed (Line 2278, "Vcl.Graphics.pas" + 1) + $E [5059E541]{vcl210.bpl } Vcl.Graphics.TFont.Changed (Line 2431, "Vcl.Graphics.pas" + 1) + $2 [5059DD8C]{vcl210.bpl } Vcl.Graphics.TResourceManager.ChangeResource (Line 1897, "Vcl.Graphics.pas" + 11) + $4 [5059E66E]{vcl210.bpl } Vcl.Graphics.TFont.SetData (Line 2498, "Vcl.Graphics.pas" + 3) + $A [5059E921]{vcl210.bpl } Vcl.Graphics.TFont.SetHandle (Line 2615, "Vcl.Graphics.pas" + 5) + $D [507137F6]{vcl210.bpl } Vcl.Forms.TScreen.GetMetricSettings (Line 8593, "Vcl.Forms.pas" + 22) + $14 [50715178]{vcl210.bpl } Vcl.Forms.TApplication.CheckIniChange (Line 9763, "Vcl.Forms.pas" + 11) + $5 [5071533A]{vcl210.bpl } Vcl.Forms.TApplication.WndProc (Line 9828, "Vcl.Forms.pas" + 5) + $6 [5016E218]{rtl210.bpl } System.Classes.StdWndProc (Line 16600, "System.Classes.pas" + 8) + $0 [5071627C]{vcl210.bpl } Vcl.Forms.TApplication.ProcessMessage (Line 10331, "Vcl.Forms.pas" + 2) + $9 [5071639E]{vcl210.bpl } Vcl.Forms.TApplication.HandleMessage (Line 10382, "Vcl.Forms.pas" + 1) + $4 [507166D1]{vcl210.bpl } Vcl.Forms.TApplication.Run (Line 10520, "Vcl.Forms.pas" + 26) + $3
–jeroen
Filed under: Delphi, Delphi XE2, Delphi XE7, Development, Software Development
