Сбой WebView и собственного браузера на простом HTML

После попыток найти причину сбоя в моем приложении WebView я обнаружил, что очень простая веб-страница вызывает сбой даже родного браузера Android на двух конкретных моделях HTC.

Речь идет о моделях HTC Desire HD (Android 2.3.5) и HTC Desire C (Android 4.0.3). На других устройствах нет проблем с загрузкой страницы, включая несколько других моделей HTC.

HTML-код, вызывающий сбой:

<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>

Для быстрого доступа: http://demos.pixplicity.com/so13121158.html

Странно вот что: если я убираю города ("Алкмар, [...] Зевенаар") или перемещаю их в начало абзаца, браузер больше не вылетает.

Я собрал снимок Logcat при сбое браузера, но единственная осмысленная строка:

A/(7437): обнаружено повреждение стека: прервано

Я совершенно не понимаю, почему это происходит. Любые предложения приветствуются!


person Paul Lammertsma    schedule 29.10.2012    source источник


Ответы (1)


У меня то же самое с HTC one V.

Согласно этому ответу, "сообщение указывает на повреждение собственного стека. Код для обнаружения переполнения буфера стека вставляется, когда gcc используется флаг "-fstack-protector".

Так что я думаю, что это ошибка в самой платформе. (В любом случае, в моем случае, так как в моем приложении нет кода JNI)

person Kraiden    schedule 03.12.2012
comment
Я тоже так предполагал. Я надеялся, что кто-нибудь может дать некоторое представление о том, что вызывает сбой реализации HTC WebView. - person Paul Lammertsma; 03.12.2012
comment
Эх, это то, чего я не могу тебе сказать. Мне самому было бы очень интересно это выяснить. Я подумал, что это может быть связано с тем, как он обрабатывает переносы строк, но даже ручное добавление разрывов строк или разделение на два элемента абзаца, похоже, не предотвращает сбой. - person Kraiden; 04.12.2012
comment
Возможно, если вы, как я, уменьшите HTML до минимального рабочего примера сбоя, вы сможете точно определить, что его вызывает? - person Paul Lammertsma; 04.12.2012