Exception when launching rebuilt exe

Asked by ugo

I compiled 0.8 version with QT 4.8.4 and mingw from original sites, no warning reported and exe successfully create, but when I try to execute it (on Windows XP Professional Service Pack 3) it crashes an Visual Studio (i have it) shows the debug popup. Accessing the debug I can only see assembler code and the exception error:

Eccezione non gestita a 0x6e1d0394 in Win32DiskImager.exe: 0xC0000005: Violazione di accesso nella lettura del percorso 0x01040808.

It's access violation, i think bad pointer reference, but I can't connect the source because I dont'have C++ module installed.

Any idea to investigate about this esception?

Question information

English Edit question
Image Writer Edit question
No assignee Edit question
Solved by:
Last query:
Last reply:
Revision history for this message
Tobin Davis (gruemaster) said :

I'm not sure why this would fail. I'll look into it more here.

Does the compiled version work ok? Have you tried copying the rebuilt exe over the released binary to see if there is any difference? Need to narrow down what is happening. It could be that the libraries it needs are not in the same directory or in the system path.

Revision history for this message
ugo (bitenet) said :

NO, the compiled version crashes before showing the main window, I copied it in the doqnloaded original binary folder, in order to have the required dll.

Revision history for this message
Tobin Davis (gruemaster) said :

What I meant was , does the original build that I made work? If not, then I need to really look at it asap. If it does work, then you may have a build issue that I can look into.

I just downloaded a clean copy from SF. It works fine on my work system, which tells me there may be an issue with your build setup. I built with QT 4.8.4 and mingw from mingw.org on Windows XP (32bit). I tested it on both my build system and my work system (Windows 7 64bit).

Make sure you have the libraries required in the same directory as your built binary. Easiest way is to download either v0.7 or v0.8 binary (same libraries for both).

Revision history for this message
ugo (bitenet) said :

I used MSVS 2008, compiled, now the main window appears but with empty devices list...

Revision history for this message
Tobin Davis (gruemaster) said :

The device list will be empty if you do not have a removable SD or USB based device. It also is known to affect some built-in SD readers on laptops running XP/Vista (see lp:1118217). If neither of these cases apply, then there may be something else going on with your system.

I don't believe you answered my earlier question of whether or not my prebuilt binary runs. I am very interested to know as I need to address that immediately if it doesn't. It ran in all of my test environments, most of which were clean installs.

If you have a definite issue, please file a bug so that I can address it more thoroughly (this area is for Q&A only, not bug tracking).

Revision history for this message
ugo (bitenet) said :

Sorry, the prebuilt binary (your original distribution) works perfectly, and the devices list is showing the actual SDCards, Only my recompiled version has problems, the one compiled with mingw chrashes on start (before showing the main window) withe the mentioned exception, the one compiled with VisualStudio 2008 shows the main window, but has the empy device list. For this one i think that a differnet api call (perhaps a different linked libray ?) is called that returns a different device type, not considered in the subsequent logic of the checkdevice function.

Revision history for this message
Tobin Davis (gruemaster) said :

Well, this is certainly interesting. I think I found a bug with mingw. Freshly installed Windows XP, mingw, and QT, the build fails to run. Uninstalling, deleting c:\mingw, and installing mingw-get-inst-20120426.exe with included version links (instead of updated versions) works.

I'll have to update the readme documents.

Revision history for this message
Tobin Davis (gruemaster) said :

BTW, this is a failure in the QT libraries, not win32diskimager. To fix it would require rebuilding the QT libraries as well.