Bug 2108

Summary: Возникающие исключения при работе конструктора школьных сайтов
Product: Wine School Reporter: Виталий Перов <vitperov>
Component: Конструктор сайтовAssignee: BUGS@Etersoft <bugs>
Status: DEFERRED --- QA Contact:
Severity: minor    
Priority: P4 CC: lav, vitperov
Version: 0.9.5   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard:
Заявки RT: Связано с:
Дата напоминания:
Bug Depends on:    
Bug Blocks: 1530    

Description Виталий Перов 2008-07-12 16:11:09 MSD
Баги, связанные с Конструктором школьных сайтов довольно сложно исправлять т.к все системные функции вызываются VisualBasic'ом, поэтому бактрейсы получаются бесполезными.

Большую пользу здесь может принести отладчик: непосредственно перед возникновением баги VisualBasic обычно генерирует исключение, по fixme в консоле можно (но не всегда) определить что именно вызвало это исключение.

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

Так вот, собственно предложение:

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

Во-первых это позволить отладчику ловить исключение, генерируемые непосредсвенно перед ошибкой, а не спотыкаться на тех, которые к баге не относятся.
Во-вторых исправления исключения может исправить и саму багу.1
Comment 1 Виталий Перов 2008-07-12 16:18:51 MSD
Первое исключение возникает когда WebBrowser_Refresh возвращает не S_OK.
Если принудительно возвращать S_OK, то не только пропадает исключение, но и решается бага 1995.
Comment 2 Виталий Перов 2008-07-12 16:22:17 MSD
Следующие исключение возникает после:
err:rebar:REBAR_WindowProc unknown msg 2210 wp=00000001 lp=00020030

сообщение с кодом 0x2210 не удаётся нигде найти: ни в гуле, ни в MSDN.
Comment 3 Виталий Перов 2008-07-14 14:02:03 MSD
ещё настараживает fixme почти сразу после старта программы:
err:ole:CoGetClassObject class {00000000-0000-0000-0000-000000000000} not registered
err:ole:CoGetClassObject no class object {00000000-0000-0000-0000-000000000000} could be created for context 0x1

Если устроить падение в этом месте:
Backtrace:
=>1 0x7e8aad70 CoGetClassObject+0x2f9(rclsid=0x32f848, dwClsContext=0x1, pServerInfo=0x0, iid=0x7e9101b4, ppv=0x32f7b8) [/home/vitperov/Projects/wine/dlls/ole32/compobj.c:2234] in ole32 (0x0032f774)
  2 0x7e8ab2ae CoCreateInstance+0x1f3(rclsid=0x32f848, pUnkOuter=0x0, dwClsContext=0x1, iid=0x100b6f38, ppv=0x32f8b8) [/home/vitperov/Projects/wine/dlls/ole32/compobj.c:2401] in ole32 (0x0032f7f4)
  3 0x7e8f365f OleLoadFromStream+0xc5(pStm=0xe0ae9c, iidInterface=0x100b6f38, ppvObj=0x32f8b8) [/home/vitperov/Projects/wine/dlls/ole32/storage32.c:6348] in ole32 (0x0032f864)
  4 0x1000ad82 in flyagaric (+0xad82) (0x0032f898)
  5 0x1000ac67 in flyagaric (+0xac67) (0x0032f8d8)
  6 0x10007631 in flyagaric (+0x7631) (0x0032f960)
err:dbghelp:pe_load_dbg_file -Unable to peruse .DBG file "DLL\\MSVBVM60.dbg" ("\x0c")
  7 0x66068b85 in msvbvm60 (+0x68b85) (0x0032f9f0)
Comment 4 Виталий Перов 2008-07-14 14:28:09 MSD
Проблема в том, что функции OleLoadFromStream скорее всего передаётся неверный поток:
Первое, что она читает оттуда, это CLSID, и он как-раз {00000000-0000-0000-0000-000000000000}
Comment 5 Vitaly Lipatov 2012-01-18 03:10:14 MSK
Откладываем, bugs@ в ближайшее время делать ничего не будет.
Comment 6 Vitaly Lipatov 2012-01-18 03:10:34 MSK
Откладываем, bugs@ в ближайшее время делать ничего не будет.