#193 closed баг (fixed)
Лог программы невозможно прочитать
| Reported by: | alx | Owned by: | dimag |
|---|---|---|---|
| Priority: | minor | Milestone: | 2 очередь |
| Component: | ПО MC04-Dispatcher. Пульт диспетчера/техника | Keywords: | |
| Cc: | san |
Description
Лог программы невозможно прочитать:
Исправлению подлежит при принятии отрицательного решения по #162 (то есть при решении не убирать лог из программы).
Attachments (1)
Change History (5)
by , 9 years ago
comment:1 by , 9 years ago
| Resolution: | → invalid |
|---|---|
| Status: | new → closed |
comment:2 by , 9 years ago
| Resolution: | invalid |
|---|---|
| Status: | closed → reopened |
То, что Вам не удалось воспроизвести проблему, не означает, что тикет invalid.
Проблема-то есть, она никуда не делась. И надо не тикет закрывать а думать над тем, как ее воспроизвести и как найти причину проблемы. Если нужна какая-то помощь, я готов в меру сил поучаствовать в этой работе. Вчера, бегло просмотрев код, я не смог найти причину. Надо работать над проблемой дальше.
comment:3 by , 9 years ago
| Resolution: | → fixed |
|---|---|
| Status: | reopened → closed |
Причину проблемы удалось найти.
Причина была в том, что ProgLogger::info() ожидает на своем входе текст, закодированный в Windows-1251, который он потом явным образом перекодирует в юникод. Де-факто же он получал текст уже в юникоде, так как компилятору (точнее, препроцессору) была сообщена кодировка исходных текстов (input-charset), но не была задана кодировка исполнения (exec-charset), которая по умолчанию - UTF-8. В результате компилятор все строковые литералы, которые и формируют лог, автоматически перекодировал в UTF-8. Установка exec-charset в CP1251 проблемы отображения логи решила.


Я запускал программу под Ubuntu, в версии r229 и не смог воспроизвести данную ошибку