Summary: | Теряет русскую юникодную букву c | ||||||
---|---|---|---|---|---|---|---|
Product: | Sisyphus | Reporter: | Anton V. Boyarshinov <boyarsh> | ||||
Component: | ash | Assignee: | Alexey Gladkov <legion> | ||||
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus | ||||
Severity: | critical | ||||||
Priority: | P3 | CC: | cas, glebfm, kas, ldv, legion, mike, placeholder | ||||
Version: | unstable | ||||||
Hardware: | all | ||||||
OS: | Linux | ||||||
URL: | http://article.gmane.org/gmane.comp.shells.dash/493 | ||||||
Bug Depends on: | |||||||
Bug Blocks: | 10446 | ||||||
Attachments: |
|
Description
Anton V. Boyarshinov
2011-02-15 18:14:32 MSK
Это regression, ash-0.5.5.1-alt5 из 5.1 букву "с" не теряет. Ошибка была найдена при помощи strace, который показал, что половина буквы "с" теряется во время read. Виноват тот патч, который я ревертил в ash-0.5.5.1-alt5. (In reply to comment #2) > Виноват тот патч, который я ревертил в ash-0.5.5.1-alt5. Можно это как-нибудь быстро исправить, или проще отказаться от ash везде, где используется read? Быстро исправить нельзя, можно сломать ещё хуже. В debian и тем более в других дистрах патчей на эту тему нет. Варианта три: 1. Отказывайтесь от использования dash; 2. Откатываем dash на тот момент, когда патч можно было откатить, но получаем другие баги; 3. Не спешно исправляем или ждём исправления в апстрим. Дублирую сюда. Ошибка локализована до коммита. Осталось понять, что в нём так ломает read. У меня есть предположение. http://git.altlinux.org/people/legion/packages/ash.git?p=ash.git;a=blob;f=src/miscbltin.c;h=653c92f4381a0e1aecec131b3680f6869ca1e253;hb=49a94e2bab1e4f601a9fbdf9615d9e4e0150e412#l121 до вызова rmescapes() символ нормальный, после битый. Исправить можно. f8231aea37e921492fc7fbd972385ab5b90e8627 на ту же тему, но в другом месте. Created attachment 4819 [details]
0001-BUILTIN-Fix-corruption-of-reads-with-byte-0x81.patch
Думаю, что раз до коммита 55c46b dash не занимался удалением CTLESC в read, то можно спокойно убрать эту операцию из read.
ash-0.5.6-alt1.20110216 -> sisyphus: * Thu Feb 24 2011 Alexey Gladkov <legion@altlinux> 0.5.6-alt1.20110216 - New release (0.5.6) and update from upstream git. - This build provides the following fixes: + Fix corruption of readcmd with byte 0x81 (ALT#25090). *** Bug 24483 has been marked as a duplicate of this bug. *** |