Recientemente recibí una queja de un usuario de que mi aplicación se bloqueaba. He extraído la siguiente de registros de errores del usuario y la oportunidad de ver los problemas porqué donde sucediendo:Bloqueo debido a "corrupción de la pila detectada: cancelada"
12-17 10:31:12.446 I/PLAYLIST(3158): PreparePlaylist
12-17 10:31:12.446 I/PLAYLIST(3158): URL: http://f69cbd7a-3d91-4bf5-b4c6-ddb1175cf9e9.d40f2093-2013-4ad9-aec2-e99b015d61ca.070305e7-a706-4626-9ecb-777835065841.groovera.com/listen.pls
12-17 10:31:12.456 F/unknown (3158): stack corruption detected: aborted
12-17 10:31:12.466 D/Zygote (2204): Process 3158 terminated by signal (6)
12-17 10:31:12.471 I/ActivityManager(2256): Process com.android.Player:remote (pid 3158) has died.
Había una pila de corrupción detectado. Genial, entonces, ¿cómo averiguo por qué está sucediendo eso?
Creo que el problema está sucediendo en esta clase en particular, ya que esperaba más salida de registro antes de que muriera. Esta clase usa conectores para descargar la lista de reproducción y analizarla. ¿Cómo podría estar corrompiendo la pila? He tratado con desbordamientos de pila en C/C++, pero ¿cómo lo manejo en Java?
Gracias por su ayuda!
Si su código está leyendo URL, aquí está [alguna recomendación] (http://comments.gmane.org/gmane.comp.handhelds.android.devel/91510). – khachik
ese nombre de host parece bastante largo – bigstones
Está muy por debajo del límite de 253 caracteres para FQDN. – Blrfl