Archive: crash displaying MUI destination panel


crash displaying MUI destination panel
This panel is not often displayed for us because it has to be the first product install for the panel to be displayed. I have a pre function that aborts the display if there are previous installed products which keys off a windows registry entry previously saved. During testing, some people have been crashing when this panel is suppose to be displayed. For me, I saw the crash just once and then never again. I did capture a bit of information on the crash:

7C9106AB mov esi,eax
7C9106AD mov dword ptr [ebp-30h],esi
7C9106B0 test esi,esi
7C9106B2 je 7C911615
7C9106B8 lea edi,[esi-8]
7C9106BB mov al,byte ptr [ebp-24h]
7C9106BE mov ecx,dword ptr [ebp+10h]
7C9106C1 sub al,cl
7C9106C3 mov byte ptr [edi+6],al <== cashed here

7C9106AB 8B F0 89 75 D0 85 F6 0F 84 5D 0F 00 00 8D 7E ‹ð‰uÐ…ö.„]....~
7C9106BA F8 8A 45 DC 8B 4D 10 2A C1 88 47 06 8B C7 C1 øÅ_EÜ‹M.*Á.G.‹ÇÁ
7C9106C9 E8 03 32 43 04 88 47 04 F6 45 0C 08 75 6D F6 è.2C..G.öE..umö
7C9106D8 05 F0 02 FE 7F 02 0F 85 1F B2 02 00 8B C6 E8 .ð.þ...….²..‹Æè
7C9106E7 17 E7 FF FF C2 0C 00 90 90 FF FF FF FF 00 00 .çÿÿÂ....ÿÿÿÿ..
7C9106F6 00 00 C5 BB 93 7C 90 90 90 90 90 6A 0C 68 38 ..Å»“|.....j.h8


That code is from a DLL and not from the installer itself. From the image base, I can say it's ntdll.dll, but not much more can be said without a script that reproduces this, the version of NSIS used and preferably a stack trace.


This problem was corrected by removing the LockedList plug-in from the install. I changed our installs to use a .oninit style rename and test of the destination product directory to determine locked files.


The old plug-in crashes on Win 2000 I have found, and this is due to the function GetProcessImageFileName only existing on Win XP.

Will have the new version ready soon.

Stu