Untersuchen, warum Eclipse (unter Linux ausgeführt) manchmal beendet statt neu zu starten wie erwartet, entdeckte ich, dass eine ältere App auf meinem System das Problem verursachte. Wenn die App aufräumt, entfernt sie alle freigegebenen Speichersegmente des aktuellen Benutzers, für die nattach 0 ist. Ich entdeckte, dass dies die Ursache des Problems war, indem ich strace auf dem Eclipse-Startprogramm ausführte und einen Methodenaufruf mit einem ungültigen gemeinsamen Speicher sah Adresse während eines versuchten Neustarts.Eclipse Launcher hängt vom nicht verbundenen Segment des gemeinsamen Speichers ab Neustart
Wir werden die Legacy-App reparieren, um besser entscheiden zu können, welche Shared-Memory-Segmente entfernt werden sollen. Aktuelle Installationen der App werden jedoch weiterhin das Eclipse-Neustartverhalten unterbrechen. Ich verstehe nicht, warum das Speichersegment, von dem die Eclipse abhängig ist, um den Exit-Code der JVM zu erhalten, nicht angehängt ist. Ist das erwartetes Verhalten oder ein Fehler? Gibt es eine Möglichkeit, eine bestehende Eclipse-Installation anders zu gestalten, so dass nattach nicht Null für Shared Memory-Segmente ist, die vom Launcher erstellt wurden?
Ich würde vorschlagen, dass Sie einen Fehler auf Eclipse [Bugzilla] (http://bugs.eclipse.org/bugs/) mit so vielen Details wie möglich einreichen. Es ist sehr unwahrscheinlich, dass jemand außerhalb des Entwicklungsteams dies beantworten kann. –