2012-10-29 3 views
3

Après avoir du mal à trouver la cause d'un accident dans WebView de mon application, j'ai découvert qu'une page Web très basique provoque même le navigateur Android natif sur deux modèles HTC spécifiques à tomber en panne.WebView et plantage du navigateur natif sur HTML simple

Les modèles en question sont un HTC Desire HD (Android 2.3.5) et un HTC Desire C (Android 4.0.3). Les autres appareils n'ont aucun problème pour charger la page, y compris quelques autres modèles HTC.

Le code HTML provoquant le crash:

<html> 
    <body> 
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Alkmaar, Almere, Amersfoort, Amsterdam, Arnhem, Bergen op Zoom, Beverwijk, Breda, Delft, Den Bosch, Den Haag, Deurne, Deventer, Diemen, Eindhoven, Enschede, Goes, Groningen, Haarlem, Harlingen, Heemstede Hengelo, Hoorn, IJmuiden, Leeuwarden, Leiden, Nieuwegein, Nijmegen, Noordwijk, Oldenzaal, Oss, Oud-Beijerland, Purmerend, Roosendaal, Rotterdam, Scheveningen, Schiedam, Schiphol, Tiel, Utrecht, Valkenswaard, Velsen, Venray, Vlaardingen, Waalwijk, Zandvoort, Zeist en Zevenaar.</p> 
    </body> 
</html> 

Pour un accès facile: http://demos.pixplicity.com/so13121158.html

La chose étrange est: si je retire les villes ("Alkmaar, [...] Zevenaar"), ou déplacez-les au début du paragraphe, le navigateur ne se bloque plus.

j'ai recueilli un instantané de Logcat lorsque le navigateur se bloque, mais la seule ligne significative est:

A/(7437): corruption pile détectée: avorté

I ont absolument aucune indice pourquoi cela se produit. Toutes les suggestions sont les bienvenues!

Répondre

3

Je reçois la même chose avec le HTC One V.

Selon this réponse, « Le message indique la corruption de la pile native code pour détecter des dépassements de mémoire tampon de la pile est insérée lorsque le drapeau gcc. » - fstack-protecteur "est utilisé."

donc je pense qu'il est un bug dans la plate-forme elle-même. (Eh bien dans mon cas de toute façon, car je n'ai pas de code JNI dans mon application)

+0

Je l'avais supposé aussi bien. Je espérais que quelqu'un pourrait donner un aperçu de ce qui cause la mise en œuvre WebView HTC crash. –

+0

Eh, maintenant qui est quelque chose que je ne peux pas vous le dire. Je serais très intéressé à trouver ça moi-même. Je pensais que ce peut être quelque chose à voir avec la façon dont il gère des enveloppes en ligne, mais même en ajoutant manuellement des sauts de ligne, ou se diviser en deux éléments de paragraphe ne semble pas empêcher l'accident. – Kraiden

+0

Peut-être que si vous, comme je l'ai fait, pouvez réduire le HTML en un exemple de travail minimal de l'accident, vous serez en mesure d'identifier ce qui le cause? –

Questions connexes