Summary: | civclient падает с assertion failed | ||||||
---|---|---|---|---|---|---|---|
Product: | Sisyphus | Reporter: | Anton Farygin <rider> | ||||
Component: | freeciv-client | Assignee: | placeholder <placeholder> | ||||
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus | ||||
Severity: | major | ||||||
Priority: | P2 | CC: | glebfm, ldv, placeholder | ||||
Version: | unstable | ||||||
Hardware: | all | ||||||
OS: | Linux | ||||||
Attachments: |
|
Description
Anton Farygin
2006-03-11 15:11:18 MSK
Created attachment 1424 [details]
civgame+0680.sav.gz
save, на открытии которого падает freeciv.
Вылезает это где-то в районе переводов. С отладкой, добавленной в pango, видно,
что ему не нравится текст "Босния и Герцеговина".
text:Компьютер
text:Filipovic Nikola
text:Босния и Герцего�
(civclient:13292): Pango-WARNING **: Invalid UTF-8 string passed to
pango_layout_set_text()
Pango-ERROR **: file pango-layout.c: line 3287 (pango_layout_check_lines):
assertion failed: (end <= (layout->text + layout->length))
aborting...
Trace/breakpoint trap
В локали C не воспроизводится, в локали ru_RU.KOI8-R тоже падает. Всё дело в размере Nation в структуре packet_game_load способ воспроизведения 100%: начать игру под Босния и Герцеговина, сохранить, выйти и загрузить сохранённую игру. MAX_LEN_NAME is too short? я пробовал увеличить. кончилось это плохо Хотя если честно я пробовал увеличить только в клиенте.. наверное потому и было плохо (там пакет формируется на сервере). на досуге проверю. Кстати, увеличение этого значения не повлияет на связь с другими freeciv серверами ? Что-то изменилось ? Воспроизводится ли с текущей (2.1.0-alt0.b4) версией? Вроде в апстриме что-то на эту тему фиксили. Fixed in 2.1.0-alt0.b4 > Хотя если честно я пробовал увеличить только в клиенте.. наверное потому и было плохо (там пакет формируется на сервере). Формируется на сервере, разбирается на клиенте, описания пакетов на сервере и клиенте должны совпадать. При изменении описания какого-либо пакета необходимо также изменить строку "network capabilities" - упрощённо говоря, версию протокола сетевого обмена. > Кстати, увеличение этого значения не повлияет на связь с другими freeciv серверами ? Повлияет, у клиента и сервера будут разные версии протокола обмена под одним именем -> segfaults expected. |