Comments (11)
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.
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.
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.
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.
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.
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.
Finally found the time to get you a stacktrace.
If you need me to try anything or any more information just ask.
from libwdi.
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.
I guess your fix already addressed the issue because it's working now.
Many thanks for your work.
from libwdi.
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.
I have now released Zadig 2.1.1, and will close this issue as fixed with a61bebb.
from libwdi.
Related Issues (20)
- libwdi Zadig and libusb-win32 1.3.0.x release HOT 14
- Driver Installation Failed (Requested Resource Not Found) HOT 2
- Zadig driver installation not persistent? HOT 1
- Accidentally Overwritten the usb mass storage on Sony zv-e10. HOT 2
- Driving Force GT buttons not working in GT5, only D-pad HOT 1
- Canon Camera (5dsr) is not recognized anymore after replacing driver. HOT 7
- Adding WinUSB Compatibility to Official Device Drivers for WebUSB on Windows HOT 1
- Is zadig only converted to one-way? I need to back... HOT 3
- Building wdi-simple HOT 3
- `drvinst` hung in the exit stage HOT 5
- Boost speed HOT 6
- Zadig 2.8 crashing during install WinUSB HOT 6
- Strange issue -- zadig depends on libconfuse.dll HOT 3
- Zadig app extract driver file only intall on same pc create it? HOT 8
- Driver Installation: FAILED (Resource already exists) HOT 3
- Zadzig problem! HOT 1
- MINGW: Can't compile HOT 1
- Driver Installation: FAILED (Resource already exists) HOT 1
- Event: Device not started (BTHUSB) HOT 1
- Provide shared library binaries in Releases HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from libwdi.