1

I have an installation made with Packages (v1.1.3), and my (codesigned) application installs fine.

And I can run it ONCE. Second time, the application won't open. It is as if OS X thinks the application still is running, because if I start the application from terminal open -n /Applications/MyApplication.app it DOES open. But not without the -n option. And there is no instance of it running, either shown in Activity Monitor, or with ps -A.

Doing open /Applications/MyApplication.app in Terminal, the open command will just "hang" indefinitely. No log entries in Console, nor any on stdout that could shed light on this.

Starting the executable directly in a terminal: /Applications/MyApplication.app/Contents/MacOS/MyApplication works just fine though (!)

And one more thing: If I rename the app to say, "MyApplication2.app", it ALSO opens up correctly. But not if I change it back.

When in this condition (which is fully reproducable by uninstalling the package, then reinstall it), if I logout, then log back in, the application will open normally.

Furthermore: The application works fine on a freshly installed El Capitan (and on Yosemite), the problem has thus far arisen on machines that have upgraded from Yosemite to El Capitan.

I really have no idea where to look for the solution for this one...

Edit 1: Actually, this is reproduced each time I reboot the Mac. But if I then logout/login, it starts working. This is not acceptable!

Edit 2: Spindump from when open is in the "hung" condition:

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]
  • Is the application built with Xcode and written in a language like Objective-C? What appears in the /var/log/system.log when launching and attempting to relaunch the application? – Graham Miln Dec 14 '15 at 12:18
  • When the computer is hung, having just run open /Applications/MyApplication.app, does the application appear in the process list or is open still running? – Graham Miln Dec 14 '15 at 12:19
  • Application is build with Xcode, and is C++. When relaunching the application, the actual executable never even gets executed, i.e. open stops and hangs before that. – Robert Dec 14 '15 at 13:56
  • In the "hung" condition, open is still running, and will be running indefinitely. I've updated the question with a spindump when this happens. – Robert Dec 14 '15 at 13:57
  • Oh, and there is no log entry in /var/log/systemlog at all when trying to relaunch. – Robert Dec 14 '15 at 14:00
1

Report the Bug

Given the behaviour is reproducible and your spindump output suggests the hang occurs within Apple's LSOpenURLsWithRole, report a bug with Apple.

Sadly, your bug is unlikely to attract any immediate attention from Apple.

Demand Help from Apple's DTS

As this is likely a blocking bug, open a Technical Support Incident (TSI) with Apple's Developer Technical Support (DTS). Your Apple Developer membership includes two incidents and this situation is an ideal candidate for these incidents:

Requesting Technical Support

A Technical Support Incident (TSI) is a request for code-level support for Apple frameworks, APIs, and tools, and is available to members of the Apple Developer Program, Apple Developer Enterprise Program, and MFi Program. Submit a TSI if you cannot fix a bug, have trouble implementing a specific technology, or have other questions about your code. Your incident will be assigned to a Developer Technical Support engineer who can help troubleshoot your code or provide workarounds to fast-track your development. Responses are delivered via email in English, typically within three business days.

Apple Developer Program and Apple Developer Enterprise Program

Included with each enrollment are two Technical Support Incidents, which will expire at the end of your membership year. …

  • 1
    Thanks. A TSI has been filed and Apple 1st line support have been able to reproduce the problem but couldn't help, so it has been propagated to OSX engineering team... – Robert Dec 18 '15 at 9:46
  • Good to hear they could reproduce the bug. Be sure to push Apple for a solution or work around. Based on your questions, you seem to have discovered a few bugs in OS X recently! – Graham Miln Dec 18 '15 at 10:15

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .