Use LIBQUANT
Moderators: helmut, XnTriq, xnview
Use LIBQUANT
Crash if "Use LIBQUANT" selected in the "Convert to Colours" dialog. with a .PNG loaded.
- Attachments
-
- 8902_appcompat.zip
- (10.28 KiB) Downloaded 117 times
Re: Use LIBQUANT
No chance to select colours if "Use LIBQUANT" already selected - crash immediate.
But 256 colours is preselected.
But 256 colours is preselected.
Re: Use LIBQUANT
no crash here, which windows version?XnStew wrote:No chance to select colours if "Use LIBQUANT" already selected - crash immediate.
But 256 colours is preselected.
Pierre.
Re: Use LIBQUANT
Confirmed for Windows XP SP3XnStew wrote:No chance to select colours if "Use LIBQUANT" already selected - crash immediate.
But 256 colours is preselected.

[color=green]C:\Documents and Settings\All Users\Application Data\Microsoft\Dr Watson\drwtsn32.log[/color] wrote:Code: Select all
*----> State Dump for Thread Id 0x224 <----* eax=01501000 ebx=0012f358 ecx=00193313 edx=00000000 esi=00eb3698 edi=000000f0 eip=004bafa2 esp=0012eab4 ebp=0012ead0 iopl=0 nv up ei pl nz na po nc cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000206 *** ERROR: Module load completed but symbols could not be loaded for C:\Program Files\XnView\xnview.exe function: xnview 004baf8d af scasd 004baf8e 44 inc esp 004baf8f 240c and al,0xc 004baf91 034628 add eax,[esi+0x28] 004baf94 85d2 test edx,edx 004baf96 7e39 jle xnview+0xbafd1 (004bafd1) 004baf98 8b4c2408 mov ecx,[esp+0x8] 004baf9c 57 push edi 004baf9d 83c103 add ecx,0x3 004bafa0 8bfa mov edi,edx FAULT ->004bafa2 0fb610 movzx edx,byte ptr [eax] ds:0023:01501000=?? 004bafa5 40 inc eax 004bafa6 8851fd mov [ecx-0x3],dl 004bafa9 0fb610 movzx edx,byte ptr [eax] 004bafac 40 inc eax 004bafad 8851fe mov [ecx-0x2],dl 004bafb0 0fb610 movzx edx,byte ptr [eax] 004bafb3 8851ff mov [ecx-0x1],dl 004bafb6 40 inc eax 004bafb7 66837e1204 cmp word ptr [esi+0x12],0x4 004bafbc 7507 jnz xnview+0xbafc5 (004bafc5) *----> Stack Back Trace <----* *** WARNING: Unable to verify checksum for C:\Program Files\XnView\AddOn\libquant.dll *** ERROR: Symbol file could not be found. Defaulted to export symbols for C:\Program Files\XnView\AddOn\libquant.dll - WARNING: Stack unwind information not available. Following frames may be wrong. ChildEBP RetAddr Args to Child 0012ead0 10002423 004baf80 00192820 00000301 xnview+0xbafa2 0012eb10 1000262b 00000301 0012ef48 000003ac libquant!liq_executing_user_callback+0x83 0012f350 100042a5 0012f458 100042a5 0018c980 libquant!liq_executing_user_callback+0x28b 0012f450 10003eca 00000302 10003eca 0018c980 libquant!liq_get_palette+0x1085 0012f498 100028ab 10000000 00179f00 00eb3698 libquant!liq_get_palette+0xcaa 0012f4b0 004bb14a 00179f00 0018c980 00179f00 libquant!liq_quantize_image+0x6b 00f32fc8 00000000 00000000 00000000 00000000 xnview+0xbb14a […] *----> State Dump for Thread Id 0xda4 <----* eax=00000027 ebx=0144ff24 ecx=005b29c8 edx=00828b20 esi=00000000 edi=7ffd9000 eip=7c90e514 esp=0144fefc ebp=0144ff98 iopl=0 nv up ei pl zr na po nc cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000246 *** ERROR: Symbol file could not be found. Defaulted to export symbols for C:\WINDOWS\system32\ntdll.dll - function: ntdll!KiFastSystemCallRet 7c90e4fa e829000000 call ntdll!RtlRaiseException (7c90e528) 7c90e4ff 8b0424 mov eax,[esp] 7c90e502 8be5 mov esp,ebp 7c90e504 5d pop ebp 7c90e505 c3 ret 7c90e506 8da42400000000 lea esp,[esp] 7c90e50d 8d4900 lea ecx,[ecx] ntdll!KiFastSystemCall: 7c90e510 8bd4 mov edx,esp 7c90e512 0f34 sysenter ntdll!KiFastSystemCallRet: 7c90e514 c3 ret 7c90e515 8da42400000000 lea esp,[esp] 7c90e51c 8d642400 lea esp,[esp] ntdll!KiIntSystemCall: 7c90e520 8d542408 lea edx,[esp+0x8] 7c90e524 cd2e int 2e 7c90e526 c3 ret 7c90e527 90 nop ntdll!RtlRaiseException: 7c90e528 55 push ebp 7c90e529 8bec mov ebp,esp *----> Stack Back Trace <----* WARNING: Stack unwind information not available. Following frames may be wrong. ChildEBP RetAddr Args to Child 0144ff98 0041e868 00000002 0082451c 00000000 ntdll!KiFastSystemCallRet 0144ffec 00000000 0041e830 0086e54c 00000000 xnview+0x1e868
Re: Use LIBQUANT
Are there any dependencies for libquant.dll (like zlib1.dll or libpng3.dll)?xnview wrote:i can't reproduce on Xp SP3
My test setup:
- \XnView\xnview.exe
- \XnView\xnview.exe.manifest
- \XnView\xnview.ini
- \XnView\AddOn\libquant.dll (190'976 bytes)
- \XnView\AddOn\libquant.txt
[color=green]\XnView\xnview.ini[/color] wrote:Code: Select all
[Cache] IsActive=0 SavingMode=1 [Start] ParamsSavingMode=1 SavingMode=1
Re: Use LIBQUANT
I'm also having crash just when clicking on "Use LIBQUANT". The crash is in libquant.dll, the crash code is 0xc000001d (invalid instruction) at offset 0x00001ca9 in that module. Using OllyDbg the crash occurs at "movsd QWORD PTR [ebp-0x40],xmm0" (F2 0F 11 45 C0).
My platform has Athlon XP which does not support SSE2 instructions set and it looks like this dll was compiled with SSE2 optimisations enabled (OS is Win XP 32b SP3). I suspect that OP's CPU might also be an older one as mine (w/o SSE2) hence the similar crash.
Is it possible you be so kind to release libquant.dll compiled with SSE2 optimisations disabled? I know that XP is an old OS and CPU's it supported are ancient, but looking at http://newsgroup.xnview.com/viewtopic.php?f=35&t=31850 you seem to support even older OSes, so...
XnView 2.32 (Mar 16 2015)
Edit: updated to 2.33 - problem exists
My platform has Athlon XP which does not support SSE2 instructions set and it looks like this dll was compiled with SSE2 optimisations enabled (OS is Win XP 32b SP3). I suspect that OP's CPU might also be an older one as mine (w/o SSE2) hence the similar crash.
Is it possible you be so kind to release libquant.dll compiled with SSE2 optimisations disabled? I know that XP is an old OS and CPU's it supported are ancient, but looking at http://newsgroup.xnview.com/viewtopic.php?f=35&t=31850 you seem to support even older OSes, so...
XnView 2.32 (Mar 16 2015)
Edit: updated to 2.33 - problem exists
Re: Use LIBQUANT
@wilk: if headers don't lie, xnview.exe and libquant.dll were built in different versions of Visual Studio (2008 for xnview.exe and 2013 for libquant.dll). Compiler of both Studios has /arch:SSE option. Now it's only a matter of good will of Pierre to try it or not.