Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi vmware EInvalidPointer (https://www.delphipraxis.net/200561-vmware-einvalidpointer.html)

cramer 2. Mai 2019 10:39

Delphi-Version: 2006

vmware EInvalidPointer
 
Hallo, ich habe ein seltsames Phänomen, auf drei VMWare-Maschinen (Windwos Server 2012), die vom Kunden alle identisch konfiguriert wurden und ich auch keine Unterschiede feststellen konnte.

Auf der Maschine 1 lief mein Programm seit Ende 2017 ohne Probleme. (es wird jeden Tag einmal geplant gestartet)
Im März gab es dann beim Beenden "Invalid Pointer Exception"

Ich bin dann nach etlichen Test auf Maschine 3 gewechselt.
Dort lief es wieder problemlos aber nur bis ca Mitte April.

Auf einer neuen Maschine 1 mit Windows Server 2016 besteht das Problem fort.

Das Programm wird von beiden Maschinen von einem Netzlaufwerk aus gestartet.
Eine Idee wo man da anfängt zu suchen, wenn die Liste nur Standardunits enthält?

Hier ein Auszug aus dem MadExcept:

Code:
compiled with     : Delphi 2006/07
madExcept version : 4.0.12
callstack crc     : $fd5ed817, $2ea04e47, $2ea04e47
exception number  : 1
exception class   : EInvalidPointer
exception message : Invalid pointer operation.

main thread ($690):
00404769 +011 ixs_ais.exe System    8831  +3 TObject.FreeInstance
004625ed +019 ixs_ais.exe madExcept          InterceptClassDestroy
0049b3a2 +02a ixs_ais.exe Graphics  1673  +2 TFont.Destroy
004047ac +008 ixs_ais.exe System    8849  +1 TObject.Free
004f267c +0c8 ixs_ais.exe Controls  3620 +14 TControl.Destroy
004f7d97 +103 ixs_ais.exe Controls  6045 +27 TWinControl.Destroy
004b61a8 +044 ixs_ais.exe StdCtrls  4100  +4 TCustomListBox.Destroy
004f7d44 +0b0 ixs_ais.exe Controls  6034 +16 TWinControl.Destroy
005007a0 +028 ixs_ais.exe Controls 10005  +2 TCustomControl.Destroy
004f7d44 +0b0 ixs_ais.exe Controls  6034 +16 TWinControl.Destroy
005462e4 +05c ixs_ais.exe ComCtrls  4924  +6 TTabSheet.Destroy
004f7d44 +0b0 ixs_ais.exe Controls  6034 +16 TWinControl.Destroy
0054513e +04e ixs_ais.exe ComCtrls  4404  +5 TCustomTabControl.Destroy
00546acd +065 ixs_ais.exe ComCtrls  5135  +3 TPageControl.Destroy
004f7d44 +0b0 ixs_ais.exe Controls  6034 +16 TWinControl.Destroy
004da626 +036 ixs_ais.exe Forms     2212  +3 TScrollingWinControl.Destroy
004db8e5 +0c5 ixs_ais.exe Forms     2746 +12 TCustomForm.Destroy
004914fe +05a ixs_ais.exe Classes  10453  +9 TComponent.DestroyComponents
004d8fc2 +032 ixs_ais.exe Forms     1452  +3 DoneApplication
00469587 +03b ixs_ais.exe SysUtils  3446  +6 DoExitProc
00405631 +021 ixs_ais.exe System   11918 +19 @Halt0
75f962c2 +022 KERNEL32.DLL                    BaseThreadInitThunk

peterbelow 2. Mai 2019 14:35

AW: vmware EInvalidPointer
 
Vorschlag für einen Workaround:

Da das Problem offenbar beim Zerstören des Mainforms der Anwendung auftritt, versuch doch einfach mal, das Form explizit selbst zu zerstören, anstelle es dem Application-Objekt zu überlassen. Füg eine entsprechende zeile nach Application.Run im dpr-File ein.

hoika 2. Mai 2019 14:39

AW: vmware EInvalidPointer
 
Hallo,
es sieht so aus, als ob das Hauptform bereits freigegeben ist.

Da das unwahrscheinlich ist, habe ich einen verwirrten Pointer im Verdacht.

Arbeitest du mit Interfaces?
Ist auf dem PageControl im Hauptform irgendwas besonderes?

cramer 2. Mai 2019 16:20

AW: vmware EInvalidPointer
 
Danke schonmal für die Infos, interfaces setze ich nicht ein.
Das Formular in der dpr freizugeben, werde ich mal testen, ich lasse heute Nacht mal den dbgview mitlaufen,
da kann ich hoffentlich schon mal sehen ob und welche units noch richtig beendet werden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:55 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz