Pády Salamandera při otevírání dokumentů

Hlášení chyb a problémů programu Altap Salamander. Buďte, prosím, ve svých popisech co nejpodrobnější a vytvořte pro každý incident nový příspěvek. Nevkládejte programem generovaná hlášení o pádu programu, pošlete je e-mailem.
Jan Rysavy
ALTAP Staff
ALTAP Staff
Posts: 5231
Joined: 08 Dec 2005, 06:34
Location: Novy Bor, Czech Republic
Contact:

Pády Salamandera při otevírání dokumentů

Post by Jan Rysavy »

Právě jsme s jedním uživatelem po emailu odladili padání Salamandera při otevírání souborů.
Salamander padal velmi často, callstack v bug reportu vypadal takto:

Code: Select all

Information About Exception:
  Exception: access violation: write on 0x74B97B81
  Exception origin: thread ID = 0x209C, execution address = 0x74B97B81 (uxtheme.dll: 0x7B81)

Some faulty shell extension throwed exception.
Look at HandleException(GetExceptionInformation(), 22)

Call Stacks:
  Thread with Exception (ID: 0x209C)
  WinMainBody(0x400000, , , 1)
  WinMainBody::FindLatestConfiguration
  WinMainBody::StartupDialog
  WinMainBody::inicialization
  WinMainBody::load_config
  WinMainBody::message_loop
  CFilesBox::WindowProc(0x100, 0xD, 0x1C0001)
  CFilesWindow::CtrlPageDnOrEnter(0xD)
  CFilesWindow::Execute(423)
  ExecuteAssociation(, D:\TEST\TEST.TXT)
  ExecuteAssociation::1
....
Unloaded Modules:
  (15725 ms) 0x74B90000 (size: 0x3F000) (ver: 6.0.6001.18000): uxtheme.dll (C:\Windows\system32\uxtheme.dll)
....
Stack Back Trace:
  Thread ID: 0x209C (Thread with Exception)
  EIP = 0x74B97B81 (UNLOADED: uxtheme.dll)
  0x220093E9 shellExt.dll
  0x30EC83EC (unknown module)
... někdy však bez Unloaded Modules sekce a
Stack Back Trace:
  Thread ID: 0x136C (Thread with Exception)
  EIP = 0x74DA7BFC (unknown module)
  0x771D0817 USER32.dll
  0x771C39F7 USER32.dll
  0x779B99CE ntdll.dll
  0x771C3CC3 USER32.dll
  0x771BFD91 USER32.dll
  0x0050F813 salamand.exe
  0x004D8AF2 salamand.exe
  0x004E2A9E salamand.exe
Bylo pravděpodobné, že nějaká shell extension uvolní uxtheme.dll a proces následně spadne.
Použili jsme proto následující metodu pro dohledání viníka:
1. nastavili jsme oba panely Salamandera do adresáře D:\TEST a Salamandera zavřeli (s uložením konfigurace)
2. spustili jsme novou instanci Salamandera a okamžitě pomocí Help > Report Bug uložili nagenerovaný obsah do PRED.TXT
3. z této instance Salamandera jsme spustili TEST.TXT a pokud nedošlo k pádu, opět otevřeli Help > Report Bug a obsah dali do PO.TXT
4. porovnali jsme PRED.TXT a PO.TXT pomocí příkazu Plugins > File Comparator > Compare Files a sledovali sekci Modules, kde přibyly následující položky:

Code: Select all

  0x729C0000 (size: 0x13000) (ver: 6.0.6001.18000): ntlanman.dll (C:\Windows\System32\ntlanman.dll)
  0x729F0000 (size: 0x8000) (ver: 6.0.6000.16386): drprov.dll (C:\Windows\System32\drprov.dll)
  0x729E0000 (size: 0xF000) (ver: 6.0.6000.16386): davclnt.dll (C:\Windows\System32\davclnt.dll)
  0x729A0000 (size: 0x14000) (ver: 2.1.3.0): LMIRfsClientNP.dll (C:\Windows\system32\LMIRfsClientNP.dll)
  0x6F010000 (size: 0x53000) (ver: 6.0.6001.18000): ACTXPRXY.DLL (C:\Windows\system32\ACTXPRXY.DLL)
  0x6F0E0000 (size: 0x1B000) (ver: 6.0.6001.18000): twext.dll (C:\Windows\system32\twext.dll)
  0x6D720000 (size: 0x24000) (ver: 6.0.6001.18000): cscobj.dll (C:\Windows\System32\cscobj.dll)
  0x6DED0000 (size: 0x17F000) (ver: 12.0.6421.1000): GrooveMisc.dll (C:\Program Files\Microsoft Office\Office12\GrooveMisc.dll)
  0x16200000 (size: 0x6000) (ver: 4.1.0.0): WZSHLSTB.DLL (C:\PROGRA~1\WINZIP\WZSHLSTB.DLL)
  0x04110000 (size: 0x51000) (ver: 2.0.0.982): PDFTContextMenu.dll (C:\Program Files\ABBYY PDF Transformer 2.0\PDFTContextMenu.dll)
  0x734E0000 (size: 0x202000) (ver: 4.0.6001.18000): msi.dll (C:\Windows\system32\msi.dll)
  0x09100000 (size: 0x1F0000) (ver: 11.0.2.4797): oodsh.dll (C:\PROGRA~1\OO Software\Defrag\oodsh.dll)
  0x75190000 (size: 0x42000) (ver: 6.0.6001.18000): WINSPOOL.DRV (C:\Windows\system32\WINSPOOL.DRV)
  0x74A50000 (size: 0x1C000) (ver: 6.0.6001.18000): oledlg.dll (C:\Windows\system32\oledlg.dll)
  0x72CE0000 (size: 0xC000) (ver: 6.0.6001.18000): dwmapi.dll (C:\Windows\system32\dwmapi.dll)
  0x07620000 (size: 0xBA000) (ver: 11.0.12.2401): OODSHRS.DLL (C:\PROGRA~1\OO Software\Defrag\OODSHRS.DLL)
  0x6C460000 (size: 0x2E000) (ver: 6.0.6001.18000): syncui.dll (C:\Windows\system32\syncui.dll)
  0x6CEE0000 (size: 0x16000) (ver: 6.0.6001.18000): SYNCENG.dll (C:\Windows\system32\SYNCENG.dll)
  0x731B0000 (size: 0x9000) (ver: 6.0.6000.16386): LINKINFO.dll (C:\Windows\system32\LINKINFO.dll)
  0x6FD00000 (size: 0x7000) (ver: 4.0.6000.16386): msiltcfg.dll (C:\Windows\system32\msiltcfg.dll)
  0x73F70000 (size: 0x5000) (ver: 6.0.6000.16386): SFC.DLL (C:\Windows\system32\SFC.DLL)
  0x72DE0000 (size: 0xD000) (ver: 6.0.6001.18000): sfc_os.dll (C:\Windows\system32\sfc_os.dll)
  0x08A40000 (size: 0xA6000) (ver: 8.1.5.137): ContextMenu.dll (C:\Program Files\Adobe\Acrobat 8.0\Acrobat Elements\ContextMenu.dll)
  0x6D460000 (size: 0x10F000) (ver: 8.0.50727.1833): MFC80U.DLL (C:\Windows\WinSxS\x86_microsoft.vc80.mfc_1fc8b3b9a1e18e3b_8.0.50727.1833_none_cbf00aee470f5fb7\MFC80U.DLL)
  0x72410000 (size: 0x87000) (ver: 8.0.50727.3053): MSVCP80.dll (C:\Windows\WinSxS\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.3053_none_d08d7bba442a9b36\MSVCP80.dll)
  0x054A0000 (size: 0x54000) (ver: 8.0.5.456): ContextMenu.cze (C:\Program Files\Adobe\Acrobat 8.0\Acrobat Elements\ContextMenu.cze)
Mezi první podezřelé vždy patří aplikace třetích stran, takže nás zajímaly:

Code: Select all

C:\Program Files\Microsoft Office\Office12\GrooveMisc.dll
C:\PROGRA~1\WINZIP\WZSHLSTB.DLL
C:\Program Files\ABBYY PDF Transformer 2.0\PDFTContextMenu.dll
C:\PROGRA~1\OO Software\Defrag\oodsh.dll
C:\PROGRA~1\OO Software\Defrag\OODSHRS.DLL
C:\Program Files\Adobe\Acrobat 8.0\Acrobat Elements\ContextMenu.dll
EDIT: v první fázi je dobré se ujistit, že programy, kterým tyto shell extensions náleží, jsou nainstalovány v posledních verzích. Po případné instalaci provést restart počítače a otestovat Salamandera.

Pokud to problém nevyřeší, potom pomocí šikovného ShellExView tyto shell extensions postupně zakazovat, provést restart počítače a testovat padání Salamandera.
Soutěž o další šmejdskou shell extension tentokrát vyhrál program OO Defrag Pro 11 :evil:

Snad tento návod bude užitečný dalším uživatelům. Použitý postup viz http://www.altap.cz/salam_en/faulty_she ... sions.html
User avatar
zarevak
Plugin Developer
Plugin Developer
Posts: 789
Joined: 04 Feb 2006, 16:49
Location: Prague, Czech Republic

Re: Pády Salamandera při otevírání dokumentů

Post by zarevak »

Jan Rysavy wrote:Soutěž o další šmejdskou shell extension tentokrát vyhrál program OO Defrag Pro 11 :evil:
Možná by to nejdříve chtělo nainstalovat nejnovější verzi (11.5.4101) OO Defrag 11 ;) S OO Defrag Pro 11.5.4101 mi Salamander nikdy nespadnul.

Verze souborů z 11.5.4101:

Code: Select all

  0x03B50000 (size: 0x1ED000) (ver: 11.0.2.4869): oodsh.dll (C:\PROGRA~1\OOSOFT~1\Defrag\oodsh.dll)
  0x03E50000 (size: 0x4E000) (ver: 11.0.12.2437): OODSHRS.DLL (C:\PROGRA~1\OOSOFT~1\Defrag\OODSHRS.DLL)
Poznámka: Narozdíl od zmíněného uživatele na Windows XP.
Jan Rysavy
ALTAP Staff
ALTAP Staff
Posts: 5231
Joined: 08 Dec 2005, 06:34
Location: Novy Bor, Czech Republic
Contact:

Re: Pády Salamandera při otevírání dokumentů

Post by Jan Rysavy »

Dám uživateli vědět. První logický krok je skutečně v aktualizaci všech aplikací, které mají shell extensions.

Upravím ještě původní postup. Díky.
Raptor

Re: Pády Salamandera při otevírání dokumentů

Post by Raptor »

Muzu se zeptat na zaklade ceho je receno ze chyba je v danem programu a jeho soucastech a ne treba v AS?
Jan Rysavy
ALTAP Staff
ALTAP Staff
Posts: 5231
Joined: 08 Dec 2005, 06:34
Location: Novy Bor, Czech Republic
Contact:

Re: Pády Salamandera při otevírání dokumentů

Post by Jan Rysavy »

Samozřejmě nemáme 100% jistotu, může jít také o chybu v Salamanderu, Windows, jiné aplikaci, ovladačích, základní desce, procesoru, pamětech. Případně v kombinaci uvedených.

Abychom věc zjednodušili a dobrali se nějakého výsledku, předpokládáme chybu na straně shell extension, protože kdyby šlo o problém na straně Salamandera nebo Windows, potkávali bychom problém pravidelně. Pokud odinstalování nebo upgrade shell extension problém řeší, považujeme to s vysokou pravděpodobností za chybu dané shell extension.

Většinou se stává, že uživatelům Salamander roky funguje a najednou začne padat. Je potom dobré se zamyslet, jaké aplikace v inkriminované době instalovali nebo aktualizovali.

EDIT: zákazník právě emailem potvrdil, že aktualizace programu pomohla. Díky za tip.
Post Reply