ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » IBM MQ API Support » Faulting module name: imqs23vn.dll

Post new topic  Reply to topic
 Faulting module name: imqs23vn.dll « View previous topic :: View next topic » 
Author Message
HelenKryzhnyaya
PostPosted: Thu Dec 11, 2014 9:17 am    Post subject: Faulting module name: imqs23vn.dll Reply with quote

Newbie

Joined: 11 Dec 2014
Posts: 8

Hello, I have a C++ application that is putting a message on a queue from a file. Code was compiled in Visual Studio 6 and works fine with any version of MQ. The latest one that we have - 7.500.300.14023. I am trying to recompile the code in Visual Studio 2013. It compiles and works as it should but in the Event Viewer I see an Error that occurred as a result of the Application execution and it says the following:
Faulting application name: repl_q2file.exe, version: 0.0.0.0, time stamp: 0x54860884
Faulting module name: imqs23vn.dll, version: 7.500.300.14023, time stamp: 0x52e165bf
Exception code: 0xc0000005
Fault offset: 0x00009fb4
Faulting process id: 0xc44
Faulting application start time: 0x01d014c89d50d676
Faulting application path: C:\Program Files (x86)\BBYApps\BBY-Repl\Programs\repl_q2file.exe
Faulting module path: C:\Program Files (x86)\IBM\WebSphere MQ\bin\imqs23vn.dll....

Even when I comment everything out in the main function, it still gives me that fault at the end. When I try to run the executable from cmd window, it gives me a window that says:
repl_q2file.exe stopped working
A problem caused the program to stop working correctly. Please close the program.

I tried a lot of different things, but the outcome is the same.
The really baffling part is why I still get the fault when all the code is commented out...? Maybe it has to do with settings on the VS 2013 project?
I would be really jumping with joy if somebody heard of similar behavior and at least point me in the right direction that will solve the problem
Thank you for your help in advance.
Helen
Back to top
View user's profile Send private message
mqjeff
PostPosted: Thu Dec 11, 2014 10:19 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

I had some vaguely similar problems recently with some regular C code.

I don't entirely remember what I did to fix it, but I think I had to make sure that both the CL command and the link command referenced the right 64-bit libraries and indicated that the output exe should be for a 64bit machine.

http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm.mq.dev.doc/q030490_.htm?lang=en
Back to top
View user's profile Send private message
HelenKryzhnyaya
PostPosted: Thu Dec 11, 2014 2:48 pm    Post subject: Reply with quote

Newbie

Joined: 11 Dec 2014
Posts: 8

Thank you very much for your response. I think I already made sure that all the ducks are in the row in terms of 32 bit inputs, but I can look one more time. Also I will try to compile an MQ sample and see if that works.
I will let you know what was the outcome Thank you!
Back to top
View user's profile Send private message
HelenKryzhnyaya
PostPosted: Tue Dec 16, 2014 3:06 pm    Post subject: Reply with quote

Newbie

Joined: 11 Dec 2014
Posts: 8

Hello,
Since the last time we talked I tried a lot of things, but it still faults.
I even tried to build the sample C++ project based on imqsput.cpp and it faults as well. So maybe it is the way I am setting up the project and\or using incorrect dll's??? But I followed the instructions how to create a project from the website.
This one: http://wedowebsphere.de/node/48067
or this one
http://www.ibm.com/developerworks/websphere/library/techarticles/1407_gabhane/1407_gabhane.html

I copied the include files from the computer where MQ is installed:
C:\Program Files (x86)\IBM\WebSphere MQ\tools\cplus\include
and libraries from:
C:\Program Files (x86)\IBM\WebSphere MQ\tools\Lib

to my computer where I am running VS 2013 and indicated the path to them in the project settings. While linking it is finding the correct libraries as well as header files.
Do not know what else I can try....
Any help will be a life savior

Helen.
Back to top
View user's profile Send private message
mqjeff
PostPosted: Wed Dec 17, 2014 5:51 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

HelenKryzhnyaya wrote:
This one: http://wedowebsphere.de/node/48067
or this one
http://www.ibm.com/developerworks/websphere/library/techarticles/1407_gabhane/1407_gabhane.html

Quote:
The article assumes that you have WebSphere MQ and Microsoft Visual Studio 2010 installed on your machine.


So those are basically links to the same article, and consequently they both assume that you have MQ installed on the machine running Visual Studio.

HelenKryzhnyaya wrote:
I copied the include files from the computer where MQ is installed:
C:\Program Files (x86)\IBM\WebSphere MQ\tools\cplus\include
and libraries from:
C:\Program Files (x86)\IBM\WebSphere MQ\tools\Lib


Regardless of whether this compiles or not, you will still need the full MQ client or server installed on the machine that is actually intending to run the program.

But the above solution you mention of copying the include and lib files is not a supported method. Again, regardless of whether it works or not...

So if you're trying to run the compiled program on the machine that has VisualStudio on it, and that machine doesn't have the full MQ install (either client or server), then that explains your problem. The libraries can't link to the other resources they need to actually do something at runtime.
Back to top
View user's profile Send private message
HelenKryzhnyaya
PostPosted: Wed Dec 17, 2014 9:00 am    Post subject: Reply with quote

Newbie

Joined: 11 Dec 2014
Posts: 8

Thank you for the input!
Sorry if I did not make it clear the last time. I am running the compiled executable on the machine that has the full server MQ installation. The reason why I had to copy libraries and header files to the computer where I have VS 2013 installed is because I do not have MQ installation on it.
I can try and install MQ on the computer where I have VS 2013 and see if that makes a difference...

Thank you,
Helen.
Back to top
View user's profile Send private message
mqjeff
PostPosted: Wed Dec 17, 2014 9:01 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

Yeah, again. It's not supported to compile your MQ programs on a machine that doesn't have MQ installed on it.

It can work, but since you're having trouble, it's a much better idea to move to a supported configuration and then try again.
Back to top
View user's profile Send private message
HelenKryzhnyaya
PostPosted: Wed Dec 17, 2014 2:20 pm    Post subject: Reply with quote

Newbie

Joined: 11 Dec 2014
Posts: 8

Hello,
When I installed MQ on my computer where I had VS 2013 installed and compiled the project that way, it worked fine
Thank you so very much for your help on this puzzle.
Helen.
Back to top
View user's profile Send private message
mqjeff
PostPosted: Thu Dec 18, 2014 5:38 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

Back to top
View user's profile Send private message
HelenKryzhnyaya
PostPosted: Mon Dec 22, 2014 12:59 pm    Post subject: Reply with quote

Newbie

Joined: 11 Dec 2014
Posts: 8

Hello,
I am back again
After I with your help got rid of this fault, Miscrosoft's library started to fail at the end of the same executable. We worked it out with Microsoft: I had to install a 32 bit runtime dll (only 64 one was installed) and now that one is gone. But after I recompiled the executable, I am getting again the same fault in the IBM's library that I started with. I even compiled the amqsput example as a 32 bit (also switched to 64, but it did not help) and it does what it need to do - puts a message on a queue and at the end it faults.
I already cleaned out all the references to IBM's lib files except the installation ones on my computer where I have VS installed, I even installed the same SP=7.5.0.3 on my computer as we have on the computer that I am running the executable from and still the same result.
I looked at the version of the imqs23vn.lib file on my computer and it says that the file was created 12/19/2014 4:05p.m. and modified 11/22/2014 at 6:00 p.m. The imqs23vn.dll on the other computer where I am running the amqsput.exe from is 7.5.0.3 version and modified on 1/22/2014 6:00 p.m.

Right now I am out of ideas..
If you have some that I could try, I would be happy to do that.
Thank you again for listening.
Helen.
Back to top
View user's profile Send private message
HelenKryzhnyaya
PostPosted: Wed Dec 24, 2014 8:57 am    Post subject: Reply with quote

Newbie

Joined: 11 Dec 2014
Posts: 8

Merry Christmas and a Happy New Year!!!
Have some more input on this problem. As I indicated in my previous message, I compiled the imqsput.cpp(C++) file in a project, linked it with imqs23vn.lib and imqb23vn.lib and Debugged the execution on my computer where I have WMQ and VS 2013 installed. When I get to the very end of the main function: return (0); it gives me a window with a fault:
Unhandled exception at 0x4FAC9FB4 (imqs23vn.dll) in amqsput_test.exe: 0xC0000005: Access violation writing location 0x4FEE5840.

C project on the other hand works fine. Maybe because I am using mqm.Lib and not imqs23vn.Lib?

As I said before, the logic of imqsput.cpp is executed fully, I see the message on a queue, but right when it exits, it gives the fault. On the fault Window I see a link to 'Open Exception Setting' and when I click on it under Win32 Exceptions I see the following checked: An invalid handle was specified and Assertion failed. Maybe it has something to do with Microsoft's code, but why the message is saying that there was a fault in IBM's DLL?
Very interesting problem..
Anyhow, Merry Christmas!
Back to top
View user's profile Send private message
HelenKryzhnyaya
PostPosted: Wed Dec 24, 2014 9:25 am    Post subject: Reply with quote

Newbie

Joined: 11 Dec 2014
Posts: 8

I think I found how to handle this problem.
I noticed that if I do not specify any arguments for the amqsput_test.exe, it tells me that I need to specify them and finishes without faulting.
The difference in these 2 scenarios - the fault one uses return(0); and the non-fault one uses exit().
I changed return(0) to exit((int)0); and it worked fine.
The difference between return() and exit() is after return the objects are cleaned up and after exit() they are not.
But I would think that if I close and disconnect from the queue manager it is all already done. Maybe that is why it is giving the fault? Trying to delete what is already deleted?
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » IBM MQ API Support » Faulting module name: imqs23vn.dll
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.