[gelöst] Build 581 - lange Fehlermeldung

Hallo Torben

Nun wollte ich heute morgen def. auf V3 umsteigen. Leider hat mich nach dem einen Start folgende Meldung begrüsst:
Die Meldung wurde stetig länger ;-( Musste mAirList mit dem TaskManager abschiessen.

Michel

(Auszug da Beitrag hat die max. Länge erreicht (20000 Zeichen)
siehe auch Anhang

Access violation at address 0051CB75 in module ‘mAirList.exe’. Read of address 00000000

Mittwoch, 8. Juli 2009, 10:46:05

Program Version 3.0.5 Build 580

Call stack:

[0051CB75] CueablePlaylistItem.TCueablePlaylistItem.DoLoadFromXML (Line 256, “CueablePlaylistItem.pas” + 11) + $B
[00477883] Controls.TWinControl.WMPaint + $3F
[0049AE8D] PlatformIntf.CopyFile (Line 69, “PlatformIntf.pas” + 0) + $11
[004BB1B9] BaseMessage. (Line 111, “” + 0) + $41
[006C52A9] JclPeImage…TJclPeResourceList + $11
[006C09F9] DatabasePlaylist.TDatabasePlaylist.Create (Line 29, “DatabasePlaylist.pas” + 0) + $11
[0049AE8D] PlatformIntf.CopyFile (Line 69, “PlatformIntf.pas” + 0) + $11
[004BB1B9] BaseMessage. (Line 111, “” + 0) + $41
[004BD7B6] UpdateObject.TUpdateObject.GetTimeValueProperty (Line 447, “UpdateObject.pas” + 3) + $0
[006C0BE8] DatabasePlaylist.TDatabasePlaylist.DoBeforeInsert (Line 44, “DatabasePlaylist.pas” + 4) + $90
[006C25B5] JclStrings.StrToStrings (Line 4241, “JclStrings.pas” + 12) + $1
[00457EF3] ExtCtrls.TTimer.Timer + $F
[00457DD7] ExtCtrls.TTimer.WndProc + $2B
[0042FED4] Classes.StdWndProc + $14
[00490F14] Forms.TApplication.ProcessMessage + $FC
[00490F4E] Forms.TApplication.HandleMessage + $A
[0048D54F] Forms.TCustomForm.ShowModal + $187
[006E2A5D] SystemLogViewer…TSystemLogViewerForm + $81
[008C5A34] DeviceConfigTreeView.TDeviceConfigTreeView.GetDevice (Line 392, “DeviceConfigTreeView.pas” + 5) + $1A
[006B1F3C] BaseListTreeView. (Line 205, “” + 0) + $82
[006B25F2] BaseListTreeView.TBaseListTreeView.DeleteSelected (Line 111, “BaseListTreeView.pas” + 0) + $1A
[00491295] Forms.TApplication.HandleException + $61
[00457DF5] ExtCtrls.TTimer.WndProc + $49
[00477883] Controls.TWinControl.WMPaint + $3F
[0049AE8D] PlatformIntf.CopyFile (Line 69, “PlatformIntf.pas” + 0) + $11
[004BB1B9] BaseMessage. (Line 111, “” + 0) + $41
[006C52A9] JclPeImage…TJclPeResourceList + $11
[006C09F9] DatabasePlaylist.TDatabasePlaylist.Create (Line 29, “DatabasePlaylist.pas” + 0) + $11
[0049AE8D] PlatformIntf.CopyFile (Line 69, “PlatformIntf.pas” + 0) + $11
[004BB1B9] BaseMessage. (Line 111, “” + 0) + $41
[004BD7B6] UpdateObject.TUpdateObject.GetTimeValueProperty (Line 447, “UpdateObject.pas” + 3) + $0
[006C0BE8] DatabasePlaylist.TDatabasePlaylist.DoBeforeInsert (Line 44, “DatabasePlaylist.pas” + 4) + $90
[006C25B5] JclStrings.StrToStrings (Line 4241, “JclStrings.pas” + 12) + $1
[00457EF3] ExtCtrls.TTimer.Timer + $F
[00457DD7] ExtCtrls.TTimer.WndProc + $2B
[0042FED4] Classes.StdWndProc + $14
[00490F14] Forms.TApplication.ProcessMessage + $FC
[00490F4E] Forms.TApplication.HandleMessage + $A
[0048D54F] Forms.TCustomForm.ShowModal + $187
[006E2A5D] SystemLogViewer…TSystemLogViewerForm + $81
[008C5A34] DeviceConfigTreeView.TDeviceConfigTreeView.GetDevice (Line 392, “DeviceConfigTreeView.pas” + 5) + $1A
[006B1F3C] BaseListTreeView. (Line 205, “” + 0) + $82
[006B25F2] BaseListTreeView.TBaseListTreeView.DeleteSelected (Line 111, “BaseListTreeView.pas” + 0) + $1A
[00491295] Forms.TApplication.HandleException + $61
[00457DF5] ExtCtrls.TTimer.WndProc + $49
[00477883] Controls.TWinControl.WMPaint + $3F
[0049AE8D] PlatformIntf.CopyFile (Line 69, “PlatformIntf.pas” + 0) + $11
[004BB1B9] BaseMessage. (Line 111, “” + 0) + $41
[006C52A9] JclPeImage…TJclPeResourceList + $11
[006C09F9] DatabasePlaylist.TDatabasePlaylist.Create (Line 29, “DatabasePlaylist.pas” + 0) + $11
[0049AE8D] PlatformIntf.CopyFile (Line 69, “PlatformIntf.pas” + 0) + $11
[004BB1B9] BaseMessage. (Line 111, “” + 0) + $41
[004BD7B6] UpdateObject.TUpdateObject.GetTimeValueProperty (Line 447, “UpdateObject.pas” + 3) + $0
[006C0BE8] DatabasePlaylist.TDatabasePlaylist.DoBeforeInsert (Line 44, “DatabasePlaylist.pas” + 4) + $90
[006C25B5] JclStrings.StrToStrings (Line 4241, “JclStrings.pas” + 12) + $1
[00457EF3] ExtCtrls.TTimer.Timer + $F
[00457DD7] ExtCtrls.TTimer.WndProc + $2B
[0042FED4] Classes.StdWndProc + $14


Längste Fehlermeldung.txt (52.5 KB)

Der Call Stack sieht wirr aus. Ist die mAirList.jdbg eventuell nicht aktuell, oder liegt dort vielleicht noch eine alte mAirList.map rum? Die müsste weg.

Nun habe ich die mairlist.map gelöscht. Und die aktuellste jdbg vom snapshot genommen.
Wieder kann ich dir eine sehr lange Liste posten. ???


error.txt (59.9 KB)

Ich habe eine interessante Beobachtung gemacht!
Das ganze passiert nur beim 1. Mal nach einem Windows Neustart?!?

Nicht die jdbg vom Snapshot! Die von den offiziellen Versionen findest du hier: http://www.mairlist.com/download/mAirList/v3.0/jdbg/

Nun habe ich aber wirklich die richtige Datei.
System neugestartet und siehe da. Wieder das gleiche Problem.
Aber nur beim ersten Programmstart :-[


error2.txt (35.7 KB)

Sehr komisch.

Eine kleine Sache ist mir aufgefallen, an der es theoretisch liegen könnte. Probier doch mal Build 581, den ich gerade hochlade. Und dann auch wieder die mAirList.jdbg aus dem Snapshot-Verzeichnis! :slight_smile:

Nein, das erste Mal geht immer noch nicht. Komme ich irgendwie an das SystemLog ran?


error3.txt (44.5 KB)

Jetzt kann ich den Fehler plötzlich nicht mehr reproduzieren

michel

Offenbar eine Race Condition (Fehler, der nur zufällig auftritt abhängig davon, in welcher Reihenfolge welcher Thread zum Zuge kommt). Ich lade gerade noch Build 582 hoch, da ist noch eine klitzekleine Änderung drin, die das verhindern soll.

Nun habe ich den Build 582 installiert und die Kiste einige Male neugestartet. Es bleibt alles ruhig.
Werde nun wieder alle Funktionen sauber testen.

Herzlichen Dank
Michel

Bitte gerne.

Ich hatte übrigens bei meinen Langzeittests letzte Woche auch einmal eine Access Violation. Vielleicht aus demselben Grund. Leider hatte ich die mAirList.jdbg vergessen, deshalb kann ich es nicht genau sagen.