Seite 1 von 1

IPC Interface bringt MWCONN zum Absturz

Verfasst: Mo 8. Jun 2009, 20:50
von Nelix
Hallo,

ich beschäftige mich z.Z. ja Intensiv mit dem IPC Interface. Während der Entwicklung ist mir MWconn immer wieder kommentarlos abgestürtzt, erst habe ich es auf den Treiber meines Huawei Sticks bzw. Vista geschoben, da auch nach dem Ruhezustand MWconn gern mal abstürtzt, nach dem sich die Abstürze in letzter Zeit gehäuft haben bin ich dem Problem auf den Grund gegangen und auf folgendes gestossen:

Das IPC Interface kann unter bestimmten Umständen MWconn zum Absturz bringen (zumindenst unter Vista).

Und zwar wenn erfolgreich eine Verbindung zum IPC hergestellt wird erfolgrreich Daten ausgelesen worden sind. Jetzt kann ja passieren das sich MWconn automatisch neu Startet (z.B. bei FRZ Fehlern), also nicht nur die Verbindung neu aufbaut, sondern das ganze Programm neu gestartet wird. Wird jetzt beim Programmende von MWCONN nicht die Verbindung zum IPC sauber geschlossen und bei erfolgriechem Neustart neu aufgebaut, also einfach ungeachtet des Neustarts einfach weiter vom IPC gelesen wird stürzt MWCONN beim Versuch die Verbindung aufzubauen ab.
Bis jetzt ist mir das nur unter Vista (32bit) reproduzierbar gelungen. Tests mit XP folgen evtl. heute Nacht.

Mir ist bewusst das das Programm das den IPC ausliest darauf achten soll, das das IPC Interface sauber geschlossen und wieder aufgebaut wird, was allerdings gar nicht so einfach ist da ich in meinem Plugin Timer aus performance Gründen nur alle 3 sek "Ticken" lassen sollte und das Programmende von MWconn so verpassen kann. An einer Lösung bin ich aber gerade dran. :roll:

Re: IPC Interface bringt MWCONN zum Absturz

Verfasst: Mo 8. Jun 2009, 22:40
von Opilionn
Hi Nelix,

danke für die Info!
Hab grad selber noch einige Experimente gemacht und konnte die Stelle flicken, die den Folge-Absturz verursacht (siehe Version 5.1K). Der Fehler tritt zum Glück bisher nur dann auf, wenn das Programm vorher schon mal unfreiwillig beendet wurde.
Das Problem lässt sich wohl nicht einfach lösen. Wenn das Programm abgeschossen wird, bleibt das Shared-Memory offen. Trotzdem gibt es eine Möglichkeit, die Sache in den Griff zu kriegen: in die Datei MWconn.ini bei der Zeile "IPC=" den Benutzer eintragen, der per IPC auf MWconn zugreifen darf. Dann kann das Client-Programm (z.B. CONTROL.exe) den Speicherbereich auch zum Schreiben öffnen. Ich weiß zwar nicht genau warum, aber dann tritt der Konflikt nicht auf... :-)

Grüße Opilionn

Re: IPC Interface bringt MWCONN zum Absturz

Verfasst: Mo 8. Jun 2009, 23:12
von Nelix
Hallo,

super, danke für die promte Antwort.

Stimmt, ich hatte bis jetzt immer mit "IPC=ALLUSERS" gearbeitet. Mit dem eingetragenen Username und der neuen Version funktioniert es bestens. 8-)

Danke.