История одного глюка или дело о букве «Р»

История одного глюка или дело о букве "Р"

На днях столкнулся со странным глюком, найденным в OutWiker‘е, на исправление которого вместе с поимкой виновника ушло два вечера.

Не буду долго описывать то, как я наткнулся на этот глюк, лучше перейдем сразу к его сути. А суть состоит в том, что для хранения и парсинга настроек страниц в программе используется стандартный класс ConfigParser (с некоторой тонкой оболочкой над ним, но в данном случае это не важно) — очень уж в нем удобно разбирать строки вида xxx = yyy. Так вот, неожиданно оказалось, что если yyy кончается на русскую букву «Р», то при преобразовании yyy в unicode бросается исключение о том, что кодек utf8 не может преобразовать строку, так как данные неожиданно закончились (‘utf8’ codec can’t decode byte 0xd0 in position __: unexpected end of data). Причем, в середине строки буква «Р» нормально преобразовывалась. Добавление пробела к концу строки, которая кончалась на «Р», ничего не дало, зато навело на мысль, что дело может быть в обрезании строки при выкидывания начальных и концевых пробелов, переводов строк и т.п. При этом все остальные русские буквы на конце обрабатывались без проблем.

Читать далее ‘История одного глюка или дело о букве «Р»’ »

Баг или очередной развод?

Началось все примерно месяц назад, когда мой папа через автомат решил положить деньги на два билайновких телефона. На первый номер деньги поступили практически сразу, а на второй все не приходили и не приходили. Чек он сохранил, номер телефона на нем был написан правильный. Тогда он позвонил в службу поддержки, телефон которой написан на чеке, и там ему сказали, что оказывается он деньги положил не на Билайн, а на Корбину (есть такой провайдер в Москве). В техподдержке сказали, что они могут перевести эти деньги на Билайн, что они и сделали, после чего деньги пришли по назначению. Папа, конечно, удивился, как можно было перепутать кнопки, особенно если они находятся в разных разделах, и забыл об этом.

И вот вчера он решил тоже положить деньги на телефон. Я был с ним, поэтому через плечо смотрю, что он набирает, и набирал он все правильно. И вдруг на экране, на котором надо подтвердить, что номер набран правильно, рядом с номером телефона красуется надпись: «Corbina». Я показываю на эту надпись папе, он удивляется и решает повторить попытку, вдруг действительно что-то напутал.

Повторяет все действия уже более аккуратно, дело доходит до ввода номера телефона, я обращаю внимание на то, что над нарисованной цифровой клавиатурой, с помощью которой надо набирать номер, висит логотип Билайна. Но как только папа ввел последнюю цифру номера, этот логотип меняется на логотип Корбины.

Дальше мы уже экспериментировать с этим автоматом не стали, но теперь я буду внимательнее, я обычно тоже не разглядываю картинки на экране, а набираю все уже на автомате.

Да, чуть не забыл, автоматы в обоих случаях располагались в разных местах. В первый раз дело происходило в Подмосковье, а второй — в Москве.