1 votos

Comportamiento peculiar con la aplicación de Mac OS X en El Capitan

Tengo una instalación hecha con Packages (v1.1.3), y mi aplicación (codificada) se instala bien.

Y puedo ejecutarlo una sola vez. La segunda vez, la aplicación no se abre. Es como si OS X pensara que la aplicación sigue en marcha, porque si inicio la aplicación desde el terminal open -n /Applications/MyApplication.app sí que se abre. Pero no sin la opción -n. Y no hay ninguna instancia que se esté ejecutando, ni mostrada en el Monitor de Actividad, ni con ps -A.

Haciendo open /Applications/MyApplication.app en la Terminal, el comando open se "colgará" indefinidamente. No hay entradas de registro en la consola, ni ninguna en stdout que pueda arrojar luz sobre esto.

Iniciar el ejecutable directamente en un terminal: /Applications/MyApplication.app/Contents/MacOS/MyApplication pero funciona muy bien (!)

Y una cosa más: si cambio el nombre de la aplicación a, por ejemplo, "MiAplicación2.app", TAMBIÉN se abre correctamente. Pero no si lo vuelvo a cambiar.

En este estado (que es totalmente reproducible desinstalando el paquete y volviéndolo a instalar), si cierro la sesión y vuelvo a entrar, la aplicación se abre normalmente.

Además: La aplicación funciona bien en un El Capitan recién instalado (y en Yosemite), el problema ha surgido hasta ahora en máquinas que han actualizado de Yosemite a El Capitan.

Realmente no tengo ni idea de dónde buscar la solución para esto...

Edición 1: En realidad, esto se reproduce cada vez que reinicio el Mac. Pero si luego cierro la sesión/inicio de sesión, empieza a funcionar. ¡Esto no es aceptable!

Edición 2: Spindump de cuando Abrir está en la condición de "colgado":

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]

1voto

Steve Evans Puntos 155

Informar del fallo

Dado que el comportamiento es reproducible y su salida de spindump sugiere que el cuelgue se produce dentro de Apple LSOpenURLsWithRole , informar de un error con Apple .

Lamentablemente, es poco probable que tu error atraiga la atención inmediata de Apple.

Exige ayuda al DTS de Apple

Ya que es probable que se trate de un error de bloqueo, abrir una Incidencia de Soporte Técnico (IST) con el Soporte Técnico para Desarrolladores (DTS) de Apple. Su membresía de desarrollador de Apple incluye dos incidentes y esta situación es un candidato ideal para estos incidentes:

Solicitud de asistencia técnica

Un incidente de soporte técnico (TSI) es una solicitud de soporte a nivel de código para los marcos, las API y las herramientas de Apple, y está disponible para los miembros del Programa de Desarrolladores de Apple, el Programa de Empresas de Desarrolladores de Apple y el Programa MFi. Envía un TSI si no puedes solucionar un error, tienes problemas para implementar una tecnología específica o tienes otras preguntas sobre tu código. Tu incidencia será asignada a un ingeniero de Soporte Técnico para Desarrolladores que puede ayudarte a solucionar tu código o proporcionar soluciones para acelerar tu desarrollo. Las respuestas se envían por correo electrónico en inglés, normalmente en tres días laborables.

Programa de Desarrolladores de Apple y Programa de Empresas de Desarrolladores de Apple

Con cada inscripción se incluyen dos incidencias de asistencia técnica, que expirarán al final de su año de afiliación.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X