Author |
Message
|
Vitor |
Posted: Thu Jan 27, 2011 1:15 pm Post subject: Illegal compilation argument in mqsicreatebar |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
I'm trying to get some automated build going here for our WMBv6.1.0.8 (they're changing everything else in the environment, maybe I can slip this in without anyone noticing). As a prototype / proof of concept I've got one of the projects building & deploying with a script. It was all going fine until today when "without anything changing" they started to get an "Illegal compilation argument" error from the mqsicreatebar.
(Also "ESQL level is undetermined", but I suspect both have a single cause).
This script builds 5 flows, all much of a piece, MQInput -> Compute, Filter, more Compute -> MQOutput. Now 3 of them are working just fine in the script and all of them build fine in the Toolkit. Where I've seen those messages before are in the Toolkit where you try & build a bar where the flow has syntax errors, these don't.
Clearly this is affecting the credability of my automated solution. I've looked round for error logs, Java-ish dumps or any other clues but come up empty. The script cleans out the build directory & checks out from svn before the bar is built.
Clues welcomed. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
mqjeff |
Posted: Thu Jan 27, 2011 1:26 pm Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
mqsicreatebar runs an eclipse workbench in a headless mode.
You should find a .log file in the .metadata directory in the workspace.
Could be that there's a build dependency order issue. |
|
Back to top |
|
 |
Vitor |
Posted: Thu Jan 27, 2011 1:51 pm Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
mqjeff wrote: |
You should find a .log file in the .metadata directory in the workspace. |
Bingo! Would putting something like "error" in front of the .log to aid the myopic been too much trouble??
Anyway, this contains valuable information:
Code: |
!ENTRY org.eclipse.osgi 4 0 2011-01-27 16:48:57.671
!MESSAGE An unexpected runtime error has occurred.
!STACK 0
java.lang.NoClassDefFoundError: org.eclipse.wst.server.core.internal.ServerListener
at org.eclipse.wst.server.core.internal.ResourceManager.init(ResourceManager.java:219)
at org.eclipse.wst.server.core.internal.ResourceManager.<init>(ResourceManager.java:176)
at org.eclipse.wst.server.core.internal.ResourceManager.getInstance(ResourceManager.java:262)
at org.eclipse.wst.server.core.internal.ServerPlugin$1.bundleChanged(ServerPlugin.java:277)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:1202)
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:189)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:291) |
So clearly something bad has happened, and I need to go trout one of the Java people until he tells me what.
(There's no JCNs in the flow, but this is clearly Java and therefore their problem....)
We progress.  _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
fjb_saper |
Posted: Thu Jan 27, 2011 3:03 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Also verify that the right copy of eclipse (the one with the toolkit) is getting invoked by your script. Does your script by any chance mess with the path?  _________________ MQ & Broker admin |
|
Back to top |
|
 |
mqjeff |
Posted: Thu Jan 27, 2011 3:33 pm Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
That doesn't look like an issue with the code, it looks more like an issue with the install.
As my worthy associate says, check the path and install and make sure you've got the right thing in the script that's running mqsicreatebar... |
|
Back to top |
|
 |
Vitor |
Posted: Fri Jan 28, 2011 5:01 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
fjb_saper wrote: |
Does your script by any chance mess with the path?  |
Nope, too simplistic for that & AFAIK there's only that one eclipse on the machine we're testing this on.
But maybe I don't know far enough.... _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
smdavies99 |
Posted: Fri Jan 28, 2011 5:49 am Post subject: |
|
|
 Jedi Council
Joined: 10 Feb 2003 Posts: 6076 Location: Somewhere over the Rainbow this side of Never-never land.
|
Vitor wrote: |
Nope, too simplistic for that & AFAIK there's only that one eclipse on the machine we're testing this on.
|
How's about the eclipse that is used in WMQExplorer... _________________ WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995
Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions. |
|
Back to top |
|
 |
Vitor |
Posted: Fri Jan 28, 2011 7:22 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
smdavies99 wrote: |
Vitor wrote: |
Nope, too simplistic for that & AFAIK there's only that one eclipse on the machine we're testing this on.
|
How's about the eclipse that is used in WMQExplorer... |
Point taken.
The script doesn't mess with the path. Is there a falg you can you to prove which eclipse is starting?
And if the path is hosed, how come some of the flows make it into bar files & some don't? Why don't they all fail? Why am I knee deep in Java & trying to fix it???  _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
mqjeff |
Posted: Fri Jan 28, 2011 7:35 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
The top part of the .log file should show enough information to distinguish, but it's not likely that you're getting confused between the two JVMs.
Best thing to do is save the whole workspace that fails, and open it with Toolkit and see what it complains about. |
|
Back to top |
|
 |
Vitor |
Posted: Fri Jan 28, 2011 8:10 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
mqjeff wrote: |
Best thing to do is save the whole workspace that fails, and open it with Toolkit and see what it complains about. |
Genius.
Nothing had changed. In the auto compile script. They'd added a new common function to the common function project, used the new function in the failing flows & when they worked (building and testing the bar files in Toolkit) they checked the flows into Subversion.
Of course, not checking the common project back in did cause some issues resolving the function name when the build script ran. Which was immediately apparent viewing the workspace in Toolkit.
One final point. While thrashing about with this, a comment was made by a Java person:
Quote: |
Your script doesn't delete the .metadata folder before you start the build. That could cause problems. |
Details of "what problems" and "why" proved elusive.
a) Could it cause problems & should I delete it at the start of the script?
b) Does it make no difference one way or the other?
But the automated build prototype is vindicated and all is now well. Blessings and thanks to all who commented. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
mqjeff |
Posted: Fri Jan 28, 2011 8:16 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
Tell the Java person that you've examined and understood the options to mqsicreatebar to build a clean workspace and made a determination on the merits of that, and that you see no reason to muck about with internal workspace structures when there are handy flags available to handle it the right way for you. |
|
Back to top |
|
 |
Vitor |
Posted: Fri Jan 28, 2011 8:18 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
mqjeff wrote: |
Tell the Java person that you've examined and understood the options to mqsicreatebar to build a clean workspace and made a determination on the merits of that |
Sounds much better than "I specified -cleanbuild because it seemed like a good idea"
 _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
lancelotlinc |
Posted: Tue Feb 01, 2011 6:08 am Post subject: |
|
|
 Jedi Knight
Joined: 22 Mar 2010 Posts: 4941 Location: Bloomington, IL USA
|
One idea you may like to consider Sir Vitor is creating a fresh directory every time when you do your automated builds. This will come in handy when you move to the next step of the process, which may be CruiseControl or Hudson. Kudos on getting the automation in there! _________________ http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER |
|
Back to top |
|
 |
Vitor |
Posted: Tue Feb 01, 2011 6:46 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
lancelotlinc wrote: |
One idea you may like to consider Sir Vitor is creating a fresh directory every time when you do your automated builds. |
Vitor wrote: |
The script cleans out the build directory & checks out from svn before the bar is built. |
I thought an empty directory would be as good as a fresh one. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
mqjeff |
Posted: Tue Feb 01, 2011 6:50 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
An empty directory is as good as a fresh one, unless you need an audit trail of what went into what build at what time, and your change control management doesn't include that. |
|
Back to top |
|
 |
|