View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0001916 | Far Manager | _Common | public | 2011-10-23 17:03 | 2011-10-25 20:33 |
Reporter | Maximus | Assigned To | DrKnS | ||
Priority | normal | Severity | minor | Reproducibility | have not tried |
Status | closed | Resolution | fixed | ||
Product Version | 3.0 | ||||
Fixed in Version | 3.0 | ||||
Summary | 0001916: Фар молча падает при несоответствии формата sqlite | ||||
Description | Несоответствие формата бд - не причина для падения. Откуда оно у юзера взялось - мало ли... Файл порушился, старая версия откуда-то прилетела... В итоге, юзер имеет падение программы по невыясненным причинам. Как минимум - нужна диагностика, а уж потом (по желанию) можно и упасть. Хотя падение это в любом случае считается ошибкой программы, а не корректным поведением. Ссылка на форум: http://forum.farmanager.com/viewtopic.php?p=86284#p86284 | ||||
Steps To Reproduce | Падает, например, после zg 21.10.2011 23:56:07 +0200 - build 2239 … старую history.db надо удалить. | ||||
Additional Information | Например так: > Far.exe!sqlite3_clear_bindings(sqlite3_stmt * pStmt=0x00000000) Line 61661 C Far.exe!HistoryConfigDb::Enum(unsigned long index=0, unsigned long TypeHistory=2, const wchar_t * HistoryName=0x00453ad0, unsigned __int64 * id=0x0066f478, UnicodeString & strName={...}, int * Type=0x0066f484, bool * Lock=0x0066f4bb, unsigned __int64 * Time=0x0066f470, UnicodeString & strGuid={...}, UnicodeString & strFile={...}, UnicodeString & strData={...}, bool Reverse=false) Line 1836 C++ Far.exe!History::AddToHistory(const wchar_t * Str=0x00453ab0, int Type=1, const _GUID * Guid=0x00453ab0, const wchar_t * File=0x00453ab0, const wchar_t * Data=0x00453ab0, bool SaveForbid=false) Line 117 C++ Far.exe!FileEditor::OnDestroy() Line 2164 C++ Far.exe!Manager::DeleteCommit() Line 1566 C++ Far.exe!Manager::Commit() Line 1301 C++ Far.exe!Manager::EnterMainLoop() Line 677 C++ Far.exe!MainProcess(const wchar_t * lpwszEditName=0x00000000, const wchar_t * lpwszViewName=0x00000000, const wchar_t * lpwszDestName1=0x00453ad0, const wchar_t * lpwszDestName2=0x00453ad0, int StartLine=-1, int StartChar=-1) Line 292 C++ Far.exe!MainProcessSEH(UnicodeString & strEditName={...}, UnicodeString & strViewName={...}, UnicodeString & DestName1={...}, UnicodeString & DestName2={...}, int StartLine=-1, int StartChar=-1) Line 310 C++ Far.exe!wmain(int Argc=4530496, wchar_t * * Argv=0x00452368) Line 742 C++ | ||||
Tags | No tags attached. | ||||
Build | 2247 | ||||
|
Я так понимаю, что пока Far3 under development - это допустимо. |
|
Фиг его знает. Если программа нормально обрабатывает исключения - то она вообще никогда не падает (ну, почти никогда). Но обработка исключений должна быть дисциплиной принятой во всей программе. Ловить в одном конкретном месте - как то глупо... |
|
2247. |
|
ok |
Date Modified | Username | Field | Change |
---|---|---|---|
2011-10-23 17:03 | Maximus | New Issue | |
2011-10-24 08:55 | Yegor | Note Added: 0007958 | |
2011-10-24 09:01 | max rusov | Note Added: 0007959 | |
2011-10-24 10:06 | DrKnS | Assigned To | => DrKnS |
2011-10-24 10:06 | DrKnS | Status | new => assigned |
2011-10-24 10:17 | DrKnS | Note Added: 0007960 | |
2011-10-24 10:17 | DrKnS | Status | assigned => feedback |
2011-10-25 20:25 | Maximus | Note Added: 0007961 | |
2011-10-25 20:25 | Maximus | Status | feedback => assigned |
2011-10-25 20:25 | Maximus | Status | assigned => resolved |
2011-10-25 20:33 | DrKnS | Build | => 2247 |
2011-10-25 20:33 | DrKnS | Status | resolved => closed |
2011-10-25 20:33 | DrKnS | Resolution | open => fixed |
2011-10-25 20:33 | DrKnS | Fixed in Version | => 3.0 |