Besonderes Verhalten mit der Mac OS X-Anwendung auf El Capitan

1

Ich habe eine Installation mit Packages (v1.1.3) durchgeführt und meine (codierte) Anwendung wird problemlos installiert.

Und ich kann es EINMAL ausführen. Das zweite Mal wird die Anwendung nicht geöffnet. Es ist, als ob OS X denkt, dass die Anwendung noch ausgeführt wird, denn wenn ich die Anwendung vom Terminal starte open -n /Applications/MyApplication.app es öffnet sich. Aber nicht ohne die Option -n. Und es wird keine Instanz davon ausgeführt, weder im Aktivitätsmonitor noch mit ps -A.

Tun open /Applications/MyApplication.app In Terminal "hängt" der Befehl open nur auf unbestimmte Zeit. Keine Protokolleinträge in der Konsole und auch keine Informationen, die Aufschluss darüber geben könnten.

Starten der ausführbaren Datei direkt in einem Terminal: /Applications/MyApplication.app/Contents/MacOS/MyApplication funktioniert aber gut (!)

Und noch etwas: Wenn ich die App so umbenenne, dass sie "MyApplication2.app" heißt, wird sie AUCH korrekt geöffnet. Aber nicht, wenn ich es zurück ändere.

In diesem Zustand (der durch Deinstallieren des Pakets vollständig reproduzierbar ist, dann erneut installieren), wenn ich mich abmelden und wieder anmelden, wird die Anwendung normal geöffnet.

Außerdem: Die Anwendung funktioniert auf einem frisch installierten El Capitan (und auf Yosemite) einwandfrei. Das Problem ist bisher auf Computern aufgetreten, die von Yosemite auf El Capitan aktualisiert wurden.

Ich habe wirklich keine Ahnung, wo ich nach der Lösung für diese suchen soll ...

Edit 1: Tatsächlich wird dies jedes Mal reproduziert, wenn ich den Mac neu starte. Aber wenn ich mich dann abmelde / anmelde, fängt es an zu funktionieren. Das ist nicht akzeptabel!

Edit 2: Spindump von wann öffnen befindet sich im "hängenden" Zustand:

Date/Time:       2015-12-14 10:46:25 +0100
OS Version:      Mac OS X 10.11.1 (Build 15B42)
Architecture:    x86_64
Report Version:  22

Command:         open
Path:            /usr/bin/open
Version:         ??? (???)
Parent:          bash [421]
Responsible:     Terminal [253]
PID:             435

Duration:        10.00s
Steps:           1000 (10ms sampling interval)

Hardware model:  MacBookPro6,2
Active cpus:     4

Fan speed:       1996 rpm

------------------------------------------------------------
Heavy format: stacks are sorted by count
Use -i and -timeline to re-report with chronological sorting
------------------------------------------------------------



Process:         open [435]
Path:            /usr/bin/open
Architecture:    x86_64
Parent:          bash [421]
Responsible:     Terminal [253]
UID:             501
Task size:       2140 pages (-6)
Note:            2 idle work queue threads omitted

  Thread 0x1223           DispatchQueue 1         1000 samples (1-1000)   priority 31 (base 31)
  1000  start + 1 (libdyld.dylib + 13741) [0x7fff9ce485ad]
    1000  ??? (open + 13012) [0x1075572d4]
      1000  LSOpenURLsWithRole + 32 (LaunchServices + 191296) [0x7fff9c263b40]
        1000  _LSOpenURLsWithRole_Common(__CFArray const*, unsigned int, AEKeyDesc const*, LSApplicationParameters_V1 const*, ProcessSerialNumber*, long, __CFURL const**) + 387 (LaunchServices + 627634) [0x7fff9c2ce3b2]
          1000  _LSOpenStuff + 126 (LaunchServices + 156284) [0x7fff9c25b27c]
            1000  _LSOpenStuffCallLocal + 5692 (LaunchServices + 199633) [0x7fff9c265bd1]
              1000  CFDictionaryApplyFunction + 186 (CoreFoundation + 277482) [0x7fff984e6bea]
                1000  CFBasicHashApply + 128 (CoreFoundation + 277680) [0x7fff984e6cb0]
                  1000  __CFDictionaryApplyFunction_block_invoke + 22 (CoreFoundation + 277750) [0x7fff984e6cf6]
                    1000  _LSOpenItemsWithHandler_CFDictionaryApplier(void const*, void const*, void*) + 5103 (LaunchServices + 206768) [0x7fff9c2677b0]
                      1000  _LSOpenApp(LSOpenState*, unsigned int, FSNode*, unsigned int, unsigned char*, ProcessSerialNumber*) + 338 (LaunchServices + 208695) [0x7fff9c267f37]
                        1000  _LSLaunch(LSContext*, FSNode*, unsigned int, void*, __CFArray const*, AEDesc const*, __CFArray const*, __CFDictionary const*, unsigned int, audit_token_t const*, ProcessSerialNumber*, unsigned char*) + 8437 (LaunchServices + 218379) [0x7fff9c26a50b]
                          1000  _LSLaunchApplication + 5837 (LaunchServices + 228056) [0x7fff9c26cad8]
                            1000  LaunchApplicationViaLaunchDJobLabel(LSSessionID, CFMutableDictionary&, CFMutableDictionary&, __CFArray const*, char const* const*, __LSASN const**, __CFDictionary const**) + 1683 (LaunchServices + 235258) [0x7fff9c26e6fa]
                              1000  _spawn_via_launchd + 801 (libxpc.dylib + 80457) [0x7fff8e287a49]
                                1000  _xpc_interface_routine + 163 (libxpc.dylib + 24054) [0x7fff8e279df6]
                                  1000  xpc_pipe_routine + 249 (libxpc.dylib + 24411) [0x7fff8e279f5b]
                                    1000  mach_msg_trap + 10 (libsystem_kernel.dylib + 72854) [0x7fff95636c96]
                                     *1000  ipc_mqueue_receive_continue + 0 (kernel + 856352) [0xffffff80002d1120]

  Thread 0x1224           DispatchQueue 2         1000 samples (1-1000)   priority 31 (base 31)
  1000  _dispatch_mgr_thread + 52 (libdispatch.dylib + 32133) [0x7fff8d35bd85]
    1000  kevent_qos + 10 (libsystem_kernel.dylib + 98466) [0x7fff9563d0a2]
     *1000  ??? (kernel + 5844400) [0xffffff8000792db0]
Robert
quelle
Ist die Anwendung mit Xcode erstellt und in einer Sprache wie Objective-C geschrieben? Was erscheint in der /var/log/system.log beim Starten und beim Versuch, die Anwendung neu zu starten?
Graham Miln
Wenn der Computer hängt, gerade ausgeführt open /Applications/MyApplication.app, erscheint die Anwendung in der Prozessliste oder ist open funktioniert immer noch?
Graham Miln
Die Anwendung wurde mit Xcode erstellt und ist C ++. Beim Neustart der Anwendung wird die eigentliche ausführbare Datei niemals ausgeführt, d. H. öffnen hört auf und hängt davor.
Robert
In dem Zustand "aufgehängt", öffnen läuft noch und wird auf unbestimmte Zeit ausgeführt. Ich habe die Frage mit einem Spindump aktualisiert, wenn dies passiert.
Robert
Oh, und es gibt überhaupt keinen Protokolleintrag in / var / log / systemlog, wenn versucht wird, neu zu starten.
Robert

Antworten:

2

Melde den Bug

Vorausgesetzt, das Verhalten ist reproduzierbar und Ihre Spindump-Ausgabe weist darauf hin, dass das Problem bei Apple auftritt LSOpenURLsWithRole, Einen Fehler mit Apple melden .

Leider ist es unwahrscheinlich, dass Ihr Fehler sofort die Aufmerksamkeit von Apple auf sich zieht.

Fordern Sie Hilfe von Apples DTS an

Da dies wahrscheinlich ein Blockierungsfehler ist, Öffnen Sie einen Technical Support Incident (TSI) mit Apples Developer Technical Support (DTS). Ihre Apple Developer-Mitgliedschaft umfasst zwei Vorfälle, und diese Situation ist ein idealer Kandidat für diese Vorfälle:

Technischen Support anfordern

Ein Technical Support Incident (TSI) ist eine Anforderung für die Unterstützung von Apple Frameworks, APIs und Tools auf Codeebene und steht Mitgliedern des Apple Developer Program, des Apple Developer Enterprise Program und des MFi Program zur Verfügung. Senden Sie eine TSI, wenn Sie einen Fehler nicht beheben können, Probleme beim Implementieren einer bestimmten Technologie haben oder andere Fragen zu Ihrem Code haben. Ihr Vorfall wird einem Techniker des technischen Supports für Entwickler zugewiesen, der Sie bei der Fehlerbehebung Ihres Codes unterstützen oder Problemumgehungen bereitstellen kann, um Ihre Entwicklung zu beschleunigen. Die Antworten werden in der Regel innerhalb von drei Werktagen per E-Mail in englischer Sprache übermittelt.

Apple Developer Program und Apple Developer Enterprise Program

Zu jeder Registrierung gehören zwei technische Support-Vorfälle, die am Ende Ihres Mitgliedschaftsjahres ablaufen. …

Graham Miln
quelle
1
Vielen Dank. Es wurde eine TSI eingereicht, und der 1st-Line-Support von Apple konnte das Problem reproduzieren, konnte jedoch keine Abhilfe schaffen. Daher wurde es an das OSX-Entwicklerteam weitergegeben ...
Robert
Gut zu hören, dass sie den Bug reproduzieren konnten. Achten Sie darauf, Apple nach einer Lösung zu drängen oder Abhilfe zu schaffen. Aufgrund Ihrer Fragen scheinen Sie kürzlich einige Fehler in OS X entdeckt zu haben!
Graham Miln