0 votos

La actualización de Mac OS Sierra a High Sierra hace que la App se bloquee

Tengo una aplicación para compartir archivos que funciona como DropBox y Google Drive. La aplicación funciona bien en Mac OS Sierra 10.3.2 y anteriores. Sin embargo, cuando actualizamos el sistema operativo a High Sierra (10.3.3) la aplicación se bloquea. Apple pasó de Openssl a Libressl en la actualización.

Escenario .

Tengo una carpeta de sincronización con 25.000 archivos. El comportamiento deseado es que la aplicación empuje esos archivos al servidor.

Comportamiento .

Después del archivo 1000 la aplicación se bloquea. Según los registros de fallos, parece que se bloquea en libcrypto.35.dylib

Teorías .

Tengo algunas teorías sobre lo que está sucediendo aquí.

  1. Tengo una condición de carrera en la aplicación que ha sido expuesta en la actualización del sistema operativo. Esto explicaría por qué no lo veo en las versiones anteriores de Mac OS.

  2. Hay un error en la nueva versión de Libressl de Apple. Sin embargo, no he visto muchas quejas sobre este problema.

Informe sobre el hilo de colisión

Process:               fileSync [8888]
Path:                  /Applications/file Synce.app/Contents/MacOS/File Sync
Identifier:            com.hds.osx.fss.File-Sync
Version:               9.0.0 
Code Type:             X86-64 (Native)
Parent Process:        ??? [1]
Responsible:           File Sync [8888]
User ID:               503

Date/Time:             2018-03-22 16:28:17.837 -0400
OS Version:            Mac OS X 10.13.3 (17D47)
Report Version:        12
Anonymous UUID:        FBE3606C-ABD0-D8A2-E971-ADD1A3955EFC

Sleep/Wake UUID:       45EAC198-3478-40FC-B89A-613ECA3EB94A

Time Awake Since Boot: 150000 seconds
Time Since Wake:       6000 seconds

System Integrity Protection: enabled

Crashed Thread:        12

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       EXC_I386_GPFLT
Exception Note:        EXC_CORPSE_NOTIFY

Termination Signal:    Segmentation fault: 11
Termination Reason:    Namespace SIGNAL, Code 0xb
Terminating Process:   exc handler [0]

Thread 12 Crashed:
0   libcrypto.35.dylib              0x00007fff51d47ffa ERR_STATE_free + 58
1   libcrypto.35.dylib              0x00007fff51d48fac int_thread_del_item + 252
2   libcrypto.35.dylib              0x00007fff51d47f78 ERR_remove_thread_state + 104
3   libcurl.4.dylib                 0x00007fff5205a25b Curl_close + 186
4   libcurl.4.dylib                 0x00007fff52075c08 curl_multi_cleanup + 227
5   com.hds.osx.fss.File-Sync   0x000000010cc3e317 CurlHttpClient::~CurlHttpClient() + 263
6   com.hds.osx.fss.File-Sync   0x000000010cd430ab AwRestClient::QueryFileSystemChanges(unsigned long long, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, AwFileSystemChangeList&, AwRestResponse&) + 539
7   com.hds.osx.fss.File-Sync   0x000000010ccd9fb7 AwFssMgr::PullRemoteChangesPrivate(unsigned long long, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, unsigned long long&, unsigned int&) + 471
8   com.hds.osx.fss.File-Sync   0x000000010ccd9c36 AwFssMgr::PullRemoteChanges(unsigned long long, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, bool, unsigned int&) + 214
9   com.hds.osx.fss.File-Sync   0x000000010cc72c46 AwController::RemoteNotificationListeningThread() + 2950
10  com.hds.osx.fss.File-Sync   0x000000010cc720ad AwController::RemoteNotificationListeningThread(void*) + 29
11  libsystem_pthread.dylib         0x00007fff539e66c1 _pthread_body + 340
12  libsystem_pthread.dylib         0x00007fff539e656d _pthread_start + 377
13  libsystem_pthread.dylib         0x00007fff539e5c5d thread_start + 13

Pregunta

  1. ¿Existe un error en High Sierra que explique este comportamiento/informe de colisión?
  2. Si no es así, ¿cuáles son las posibles causas de este accidente?

1voto

jefe2000 Puntos 51

Una aplicación que termina con la señal 11 ( SIGSEGV , fallo de segmentación ) suele ser una indicación de un mal acceso a la memoria en el código de la aplicación. Es muy probable que sea un error. Tu mejor opción es presentar un error a Apple a través de su informe de errores en línea: https://bugreport.apple.com/

Alternativamente, si puedes encontrar un reproductor que apunte a un error fuera de MacOS, podrías intentar presentar un informe de error directamente contra libressl: http://www.libressl.org

0 votos

Gracias por el comentario. Me pondré en contacto con Apple y archivaré el fallo. Cuando dices código de aplicación, ¿te refieres a mi aplicación de sincronización de archivos? Estoy de acuerdo en que es probable que se trate de un error de Apple, ya que ejecuté la aplicación en una versión posterior con condiciones similares y se comportó bien

0 votos

Por código de aplicación Me refería a cualquier código de la aplicación/programa o a varias "bibliotecas de código" que vienen como parte de MacOS y que la aplicación/programa utiliza. En este caso, libressl es una 'biblioteca de código' que su aplicación/programa está utilizando.

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