Git Product home page Git Product logo

Comments (11)

pbatard avatar pbatard commented on July 17, 2024

I have to say that the screenshot of a crash isn't very useful (I tend to believe people when they say they experienced a crash, and seeing the screenshot doesn't tell me much).

First thing: Do you experience the same thing with earlier versions?
Second thing: Can you download DebugView, run it as administrator, make sure that in the Capture menu both Capture Win32 & Capture Global Win32 are checked and then open Zadig and try to list all devices again? You should get some logging information in DebugView that may give some inisght as to why Zadig crashes.

from libwdi.

irgendeinich avatar irgendeinich commented on July 17, 2024

I run into the same problem.
Here ist the DebugView output for 2.1.0.

00000005    11.15137196 [4396] SHIMVIEW: ShimInfo(Complete)     
00000006    11.56325245 [4396] Zadig 2.1.0.658  
00000007    11.56613827 [4396] Windows 8.1 64-bit   
00000008    11.56634808 [4396] ini file 'zadig.ini' not found - default parameters will be used     
00000009    11.56652641 [4396] default driver set to 'WinUSB'   
00000010    11.59174633 [4396] 2 devices found.     

And here is the DebugView output for 2.0.1

00000001    0.00000000  [4184] SHIMVIEW: ShimInfo(Complete)

from libwdi.

pbatard avatar pbatard commented on July 17, 2024

I have just published a BETA version of Zadig that may fix this crash.
Can you try zadig_2.1.1_BETA.exe from here?

from libwdi.

irgendeinich avatar irgendeinich commented on July 17, 2024

Sadly 2.1.1 doesn't solve the crash when listing all devices.
DebugView output:

00000001    0.00000000  [5832] SHIMVIEW: ShimInfo(Complete)     
00000002    0.41842866  [5832] Zadig 2.1.1.668  
00000003    0.41930169  [5832] Windows 8.1 64-bit   
00000004    0.41948277  [5832] ini file 'zadig.ini' not found - default parameters will be used     
00000005    0.41964486  [5832] default driver set to 'WinUSB'   
00000006    0.43947321  [5832] 2 devices found.     
00000007    0.47171709  [5832] libwdi:debug [wdi_create_list] Hardware ID: USB\VID_18D1&PID_4EE2&REV_0228&MI_01     
00000008    0.47217175  [5832] libwdi:debug [wdi_create_list] Compatible ID: USB\Class_ff&SubClass_42&Prot_01   
00000009    0.47242951  [5832] libwdi:debug [wdi_create_list] Driverless USB device (3): USB\VID_18D1&PID_4EE2&MI_01\7&86EED0D&0&0001   
00000010    0.47268870  [5832] libwdi:debug [wdi_create_list] Device description: 'Nexus 7 (Interface 1)'   
00000011    0.47287127  [5832] libwdi:debug [wdi_create_list] Hardware ID: USB\VID_05C6&PID_6765&REV_0232&MI_01     
00000012    0.47305208  [5832] libwdi:debug [wdi_create_list] Compatible ID: USB\Class_ff&SubClass_42&Prot_01   
00000013    0.47323173  [5832] libwdi:debug [wdi_create_list] Driverless USB device (18): USB\VID_05C6&PID_6765&MI_01\7&1C9125A3&0&0001     
00000014    0.47344676  [5832] libwdi:debug [wdi_create_list] Device description: 'A0001 (Interface 1)'     

from libwdi.

pbatard avatar pbatard commented on July 17, 2024

Thanks for the report.

I'm afraid that, without getting someone who faces this issue running Zadig in a debugger, such as the one provided by Visual Studio 2013 (which has recently become freely available for any user of Zadig), it will be difficult for me to figure out what might be the issue.

Therefore, I will be writing a detailed walk through on how to install and debug Zadig, using Visual Studio 2013 CE. If you feel like you want to help with figuring out what causes the crash, please watch this space.

Now of course it's entirely up to you whether you want to go through this whole debugging effort, as this will require a fairly hefty download (about 3 or 4 GB) and time to set up everything. So I won't blame you at all if you think that it's a bit too costly and decide to pass.

Oh, and for the record, I have been running Zadig on 2 different Windows 8.1 64-bit machines (including one where I used it to installed a Nexus 7 2013 USB driver for debug), and I haven't observed a crash when trying to list all devices. So the best I can tell is that there is an environmental component to this crash...

from libwdi.

pbatard avatar pbatard commented on July 17, 2024

Alright, I have now written a complete building and debugging Zadig from scratch guide, using Visual Studio Community Edition, which is available here.

If anyone who experiences a crash wants to give it a go and see if they can get the same issue in the debugger, I would greatly appreciate it.

from libwdi.

irgendeinich avatar irgendeinich commented on July 17, 2024

zadig1
Finally found the time to get you a stacktrace.
If you need me to try anything or any more information just ask.

from libwdi.

pbatard avatar pbatard commented on July 17, 2024

Thank you so much for doing this!

I think I have a better idea of what may be the issue, so I tried to apply a few fixes, which I hope will prevent the crash.

Can you please download BETA2 from here and let me know if it improves things?

In case it still doesn't work, I would need a little bit more help if you don't mind:

First can you please add the line:

dprintf("dev = %p, dev->desc = '%s'", dev, dev->desc);

right above the GetTextExtentPointU(...) one? Then when the program crashes, switch to the Output tab (this right bottom - it's one of the 3 tabs you see in your screenshot besides Call Stack, which is the one currently selected in blue). You may then see something like:

dev = 005BB098, dev->desc = 'USB2.0-Print'
dev = 005B3D70, dev->desc = 'USB-PS/2 Optical Mouse'
dev = 005B3FA8, dev->desc = 'USB3.0 FlashDisk'
dev = 005B41D8, dev->desc = 'USB Productivity Option Keyboard( has the hub in # 1 ) (Interface 0)'
dev = 005B4450, dev->desc = 'USB Productivity Option Keyboard( has the hub in # 1 ) (Interface 1)'

If you could copy and paste what you get, it may give me a better idea what the issue is.

Secondly, if the parameters look OK, another thing you may want to try is replace the line:

GetTextExtentPointU(hdc, dev->desc, &size);

with:

if (!GetTextExtentPoint32A(hdc, dev->desc, safe_strlen(dev->desc), &size)) {
    dprintf("error: could not compute dropdown size of '%s' - %s", dev->desc, WindowsErrorString());
    continue;
}

Then recompile, and try to debug Zadig again to see if it works better.

With your help, I'm pretty sure we'll be able to get to the end of this pesky bug!

from libwdi.

irgendeinich avatar irgendeinich commented on July 17, 2024

I guess your fix already addressed the issue because it's working now.
Many thanks for your work.

from libwdi.

pbatard avatar pbatard commented on July 17, 2024

You don't know how happy that makes me. :) I can't thank you enough for your help!
I'll try to push a full release of Zadig sometime today or tomorrow.

EDIT: You might also want to check the log (Options -> Advanced Mode) to see if it displays any error when listing devices, as I added extra reports just in case.

from libwdi.

pbatard avatar pbatard commented on July 17, 2024

I have now released Zadig 2.1.1, and will close this issue as fixed with a61bebb.

from libwdi.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.