Program Fails to run after Installation

85 views
Skip to first unread message

Matt Martin

unread,
Aug 25, 2014, 6:15:29 PM8/25/14
to cava-p...@googlegroups.com
Hello All,

I have been developing this Perl Gtk2 GUI program for quite some time now. And I have built the program many times with Cava Packager and have installed my program numerous times on 2 different laptops, while testing it.

On both of the laptops I've been running my program on, which are the 2 main places I developed the program, it installs just fine and runs without an issue. It works running my program from both the installer and from the "release" directory that gets created after the scan and build process.

Working on 2 PCs, both running ---> Windows XP Professional Version 2002 Service Pack 3, x86. One is a Virtual Machine on my Dell laptop and the other one is an older IBM Thinkpad.

So, now I wanted to test it on some other machines, which are running XP Professional Version 2002 SP 2, and the other is running Windows Server 2003 R2 Standard Edition SP 2. So I copied my entire Project directory over to these other 2 PCs and then ran the installer. The program installs just fine without ANY errors at all. Then I try to run my program and almost instantly I get a pop-up saying:

"myProgram.exe has encountered a problem and needs to close. We are sorry for the inconvenience."

So if I click on the link in that pop-up that says, to see what data is in the error report click here, I see the following information:

Error Signature:
AppName: myprogram.exe      AppVer: 1.0.0.24       ModName: libgdk-win32-2.0-0.dll
ModVer: 2.24.8.0     Offset: 0001ac1c

And it's basically the same information, but if I look in the Windows Event Viewer I see the following:

"Faulting application myprogram.exe, version 1.0.0.24, faulting module libgdk-win32-2.0-0.dll, version 2.24.8.0, fault address 0x0001ac1c."

FYI, each of these PCs I've mentioned are all 32-bit...
If I browse the installation directory where my program installs to, i.e. C:\Program Files\myProgram\*, I am able to find the module libgdk-win32-2.0-0.dll in the directory:

C:\Program Files\myProgram\lib\vrt\9715637f6b0c259610b993bf9bef0ab0\libgdk-win32-2.0-0.dll

And the same thing happens when running the program from the release directory as well...So I'm not sure what the issue is here.

If anyone could help me out it would be GREATLY appreciated! Any thoughts or suggestions as well...

Thanks in Advance,
Matt

Árpád Szász

unread,
Aug 26, 2014, 7:32:09 AM8/26/14
to cava-p...@googlegroups.com
 Hello,

 It's possible that not all dependencies of libgdk-win32-2.0-0.dll are bundled by CavaPackager. You should check out on what other DLL libraries it depends using Dependency Walker ( http://dependencywalker.com ).

 Also, enabling the diagnostic utility and running your executable under diagnostic mode might give more details ( http://www.cavapackager.com/appdocs/projecttree-diagnostics.htm ).

 Hope this helps.

Matt Martin

unread,
Aug 26, 2014, 10:53:32 AM8/26/14
to cava-p...@googlegroups.com
Hey Árpád, thanks for the reply!

Ok, that would make sense if that was the case. I'll check out your links and give that a try...

Thanks Again, much appreciarted!

Thanks,
Matt

Matt Martin

unread,
Aug 26, 2014, 11:13:17 AM8/26/14
to cava-p...@googlegroups.com
Hey Árpád,I have a question about Dependency Walker.

Should I be opening my main .exe for my program, or should I open the libgdk DLL where the error is apparently occuring?

If I open my Main .exe file I get errors on:
        IESHIMS.DLL
        WER.DLL.

But if I open the libgdk-win32-2.0-0.dll DLL I get a ton more errors then with just opening the .exe file. I get a, "Error opening file. The system cannot find the file specified" next to each of the .dll files below:
        IESHIMS.DLL
        INTL.DLL
        LIBCAIRO-2.DLL
        LIBGLIB-2.0-0.DLL
        LIBGMODULE-2.0-0.DLL
        LIBGOBJECT-2.0-0.DLL
        LIBPANGO-1.0-0.DLL
        LIBPANGOCAIRO-1.0-0.DLL
        LIBPNG14-14.DLL
        WER.DLL
        ZLIB1.DLL


Which as you can see, this module also shows the same 2 DLL's that my exe showed above. I'm assuming that the missing modules above should have been packaged with my program, does that sound right?

Thanks Again,
Matt

Matt Martin

unread,
Aug 26, 2014, 3:00:31 PM8/26/14
to cava-p...@googlegroups.com
Sorry to keep posting back before a reply, but I found some more info that might be helpful.
After searching around a bit and trying this on yet another PC (*Win Server 2003), I checked the Event Viewer on that server and there was a bit more information in there this time. I found the Drwatsn32.log file which contained this information below about the libgdk_win32... DLL error.

See below for the information from the log file.

Also, could this error/failure have anything to do with attempting to run this program on these other PCs/Servers using remote desktop software? Currently the 3 other PCs/Servers I attempted this on in which this failed, I was on all of those 3 by using Linux's rdesktop  command to connect to them using Remote Desktop software...??


*** ERROR: Symbol file could not be found.  Defaulted to export symbols for C:\DOCUME~1\myProgram_Project\release\myProgram\lib\vrt\9715637f6b0c259610b993bf9bef0ab0\libgdk-win32-2.0-0.dll -
function: libgdk-win32-2.0-0!gdk_screen_get_rgb_colormap
        6c35abf8 e9bbfaffff jmp libgdk-win32-2.0-0!gdk_region_spans_intersect_foreach+0x3ee4 (6c35a6b8)
        6c35abfd 8d7600           lea     esi,[esi]
        6c35ac00 891c24           mov     [esp],ebx
        6c35ac03 e8b4a4feff call libgdk-win32-2.0-0!gdk_drawable_get_depth (6c3450bc)
        6c35ac08 89c3             mov     ebx,eax
        6c35ac0a 893c24           mov     [esp],edi
        6c35ac0d e802ffffff call libgdk-win32-2.0-0!gdk_screen_get_rgb_colormap (6c35ab14)
        6c35ac12 89c6             mov     esi,eax
        6c35ac14 890424           mov     [esp],eax
        6c35ac17 e8f87bfeff call libgdk-win32-2.0-0!gdk_colormap_get_visual (6c342814)
FAULT ->6c35ac1c 395810           cmp     [eax+0x10],ebx    ds:0023:00000010=????????
        6c35ac1f 74ce jz libgdk-win32-2.0-0!gdk_screen_get_rgb_colormap+0xdb (6c35abef)
        6c35ac21 c74424083c233a6c mov     dword ptr [esp+0x8],0x6c3a233c
        6c35ac29 c744240410000000 mov     dword ptr [esp+0x4],0x10
        6c35ac31 c70424a7223a6c   mov     dword ptr [esp],0x6c3a22a7
        6c35ac38 e83bfe0300 call libgdk-win32-2.0-0!gdk_win32_end_direct_draw_libgtk_only+0x6cc (6c39aa78)
        6c35ac3d 31c0             xor     eax,eax
        6c35ac3f 83c41c           add     esp,0x1c
        6c35ac42 5b               pop     ebx
        6c35ac43 5e               pop     esi
        6c35ac44 5f               pop     edi



Thank in Advance,
Matt

Árpád Szász

unread,
Aug 26, 2014, 3:24:42 PM8/26/14
to cava-p...@googlegroups.com
 Hello Matt,

 You should open libgdk*.dll in Dependency Walker. Also have a look at the docs: http://www.cavapackager.com/appdocs/topicoverview-gtk2.htm

Árpád Szász

unread,
Aug 26, 2014, 3:27:04 PM8/26/14
to cava-p...@googlegroups.com
 Running the programs through remote desktop has nothing to do with this error. 

Matt Martin

unread,
Aug 26, 2014, 5:41:41 PM8/26/14
to cava-p...@googlegroups.com
Hey Árpád, thanks again for the reply!

Ok, I'll go through that Link you sent. I think I have all those modules included in there but I'll double check..

So here is something WEIRD... In my last post where I said I tried this on a 3rd Windows PC/Server (*OS is Win Server 2003) and I got the same error that I got with the other tests. Well I decided to go into the server room and go directly onto this server without using Remote Desktop, and ran my program... And guess what, it worked!

UPDATE: After writing the above comments (*before I clicked Post) I stopped and went to try a few more tests before posting and I think I've confirmed that the issue is with Remote Desktop as hard as that is to believe...

So the server I just mentioned above (*i.e. the Windows Server 2003) which DID NOT work when connected through Remote Desktop, and then it DID work when I physically went into the server room and logged onto that Server. So that got me thinking...

On MY XP Virtual Machine, which I used to develop my program, which also successfully runs my program every time. I decided to VNC to my Virtual Machine and try running my Program, which it DID run successfully while executing it remotely through a VNC Viewer... So I then attempted to Remote Desktop to the very same Virtual Machine and tried running my program, but this time it DID NOT work...! I got the same exact error as before with the others, for libgdk...dll.

I know its not fully conclusive evidence that Remote Desktop is the problem, but every PC/Server I've attempted to run my program with through Remote Desktop (*including the PC's used to develop the program) it would NOT run, and I would get the same error. But then when VNC'ing to those same Servers/PCs and/or physically going to that PC and running the program, it ran without any issues.

So I'm thinking the problem IS Remote Desktop.... Maybe something with the way the window/display manager renders windows through RDesktop, and Gtk2/Gdk doesn't like it for some reason...

Thanks Again for the replies, much appreciated!

Thanks,
Matt

Arpad Szasz

unread,
Aug 28, 2014, 7:18:36 AM8/28/14
to cava-p...@googlegroups.com
 I have never tried to run Perl packaged apps through remote desktop, but AFAIK, remote desktop (RDP) works differently from VNC, in that while VNC sends bitmaps of the entire screen, RDP tries to compose the windows on the client computer and only sends "hints" regarding the windows on the screen.

 You should double-check that you have the needed Gtk DLL files in the packaged app's "lib" folder. Maybe it is a problem with Gtk apps running over RDP...


--
You received this message because you are subscribed to the Google Groups "Cava Packager" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cava-package...@googlegroups.com.
To post to this group, send email to cava-p...@googlegroups.com.
Visit this group at http://groups.google.com/group/cava-packager.
For more options, visit https://groups.google.com/d/optout.



--
 Cu respect,
 Árpád Szász

Matt Martin

unread,
Aug 31, 2014, 4:05:08 PM8/31/14
to cava-p...@googlegroups.com
Hey Árpád, thanks again for the reply.
 
Yea, I'm pretty sure all the files are there so I'm not exactly sure why it won't work over RDP...
 
But anyway, I won't really be running it over RDP once I'm done testing so I guess I'm not too worried about it since that is the only way it doesn't seem to run.
 
Thanks Again,
Matt
Reply all
Reply to author
Forward
0 new messages