Author |
Message
|
issis |
Posted: Thu May 28, 2009 4:42 am Post subject: mqsireadlog hangs when used with debug mode |
|
|
Novice
Joined: 20 Aug 2004 Posts: 17 Location: Finland
|
Hello all,
I've encountered a problem that makes life a bit difficult when debugging message flows. When I try to read user trace the mqsireadlog just hangs. Oh, it reads only one byte ('<') to the output file but that's it. The command works fine when the user trace is empty right after the mqsichangetrace command but that is not very useful. When I put a message through a flow the problem appears.
I use simple scripts to read, format and clear the user trace logs. The following script works fine:
Code: |
echo "reading log..."
mqsireadlog $1 -u -e $2 -o /tmp/readlog.out
mqsiformatlog -i /tmp/readlog.out -o $1-$2-usertrace.log
mqsichangetrace $1 -u -e $2 -r -l normal -c 20000
|
...but the following does not when I put a message through the broker:
Code: |
echo "reading log..."
mqsireadlog $1 -u -e $2 -o /tmp/readlog.out
mqsiformatlog -i /tmp/readlog.out -o $1-$2-usertrace.log
mqsichangetrace $1 -u -e $2 -r -l debug -c 20000
|
The only difference is the trace mode (normal vs. debug). Now, I've encountered this on both Aix (5.3, 64-bit) and Linux (32-bit) but not on Windows. In all environments the version has been 6.1 with fixpack 03.
The user trace used to work before migrating from version 6.0 to 6.1. Any ideas?
Mikko |
|
Back to top |
|
 |
mqjeff |
Posted: Thu May 28, 2009 4:51 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
Did you try mqsichangetrace $1 -u -e $2 -l none before running mqsireadlog?
Did you verify that your user is in the mqbrks group? |
|
Back to top |
|
 |
Vitor |
Posted: Thu May 28, 2009 4:53 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
I use a very similar script on WMBv6.1.0.3 (WinXP, Solaris 10 64 bit & Linux of some flavour) & haven't encoutered any issues.
I sense a PMR in your future. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
issis |
Posted: Thu May 28, 2009 5:01 am Post subject: |
|
|
Novice
Joined: 20 Aug 2004 Posts: 17 Location: Finland
|
mqjeff wrote: |
Did you try mqsichangetrace $1 -u -e $2 -l none before running mqsireadlog?
Did you verify that your user is in the mqbrks group? |
Thank you for quick responses! Yes, the user belongs to the mqbrkrs group. The scripts work fine when I use the "normal" mode.
I gave it a try:
- I run the "debug log" script to clear the log and set it to debug mode.
- Then I put a message through the broker
- After the messages got through, I stopped the trace using the command above
- I issued the mqsireadlog but it still hangs.
I think I'll try to read the trace files themselves.
We already have a PMR regarding configuration manager coredumps so one more doesn't hurt, does it?
Mikko |
|
Back to top |
|
 |
issis |
Posted: Thu May 28, 2009 5:03 am Post subject: |
|
|
Novice
Joined: 20 Aug 2004 Posts: 17 Location: Finland
|
And while I'm at it, I might as well familiarize myself with the utility tracing functionality...
Mikko |
|
Back to top |
|
 |
msantos007 |
Posted: Thu May 28, 2009 11:19 am Post subject: |
|
|
Voyager
Joined: 20 Dec 2004 Posts: 78
|
issis,
What's the fix pack version you are using? I didn't had anyproblems with that but I had lots of "application hangs" problems when using the fix pack 02 in the broker. please use the command mqsiservice <broker name>
Thanks
Max _________________ Maximiliano R. A. Santos
IBM Websphere MQ V6.0 Certified System Administrator
IBM Websphere MQ V5.3 Certified Solution Developer |
|
Back to top |
|
 |
msantos007 |
Posted: Thu May 28, 2009 11:40 am Post subject: |
|
|
Voyager
Joined: 20 Dec 2004 Posts: 78
|
issis,
the question I did before was because the fix pack 03 for WMB 6.1 is not automatically used. You must change your broker to use it as you can see below:
$ mqsiservice **********
BIPv610 en US POSIX
ucnv Console CCSID 819 dft ucnv CCSID 819
ICUW ISO-8859-1 ICUA ISO-8859-1
Install Path = **********
Working Path = **********
Component UUID = e6623744-2001-0000-0080-f600a6fcbac3
process id = 589894
broker db name = *******
broker db userId = *********
broker db password = **********
queue manager = ***********
pubsub migration = no
fastpath Queue Manager = no
configuration timeout = 300
configuration delay timeout = 60
statistics major interval = 60
ComponentType = Broker
Fixpack capability level = 6.1.0.3 (effective level 6.1.0.2)
BIP8071I: Successful command completion.
you must execute the following command with the broker stopped:
mqsichangebroker -f 6.1.0.3
This command must be executed for each broker that is created.
Thanks
Max _________________ Maximiliano R. A. Santos
IBM Websphere MQ V6.0 Certified System Administrator
IBM Websphere MQ V5.3 Certified Solution Developer |
|
Back to top |
|
 |
issis |
Posted: Thu May 28, 2009 10:53 pm Post subject: |
|
|
Novice
Joined: 20 Aug 2004 Posts: 17 Location: Finland
|
msantos007 wrote: |
issis,
the question I did before was because the fix pack 03 for WMB 6.1 is not automatically used. You must change your broker to use it as you can see below:
...
mqsichangebroker -f 6.1.0.3
|
Max,
Thank you for the tip! That is new information to me... After all these years I guess I should read the readmes and installation notes now and then...
mqsiservice CFM61
BIPv610 en US
ucnv Console CCSID 1208 dft ucnv CCSID 1208
ICUW UTF-8 ICUA UTF-8
Install Path = /opt/ibm/mqsi/6.1
Working Path = /var/mqsi
queue manager = QM1
ComponentType = ConfigMgr
Fixpack capability level = (effective level 6.1.0.2)
When I ran the mqsichangebroker -f all I got
Fixpack capability level = all (effective level 6.1.0.3)
After this I went and tried the user trace. The first results were disappointing: the readlog still hangs. Then I thought that I'll try it out with a smaller message which requires a lot less ESQL processing. And lo: it processed the user trace logs without problems.
After some testing, I found that the behaviour depends on the message size and the size of the user trace log (the -c option). The working values in this case were 5kB for the message and 7500 for the trace file size.
It helps a bit if I reset the logs with
Code: |
mqsichangetrace broker-u -e default -r -l none -c 0 |
And then reset it back to
Code: |
mqsichangetrace broker-u -e default -r -l debug -c 10000 |
After some testing I ended up with a log that caused the mqsireadlog to hang. I then gave it a try with the "-f" flag which reads directly from the file system. The result was:
mqsireadlog BRK -u -e default -f -o /tmp/readlog.out wrote: |
BIP8217S: Trace file /var/mqsi/common/log/BRK.ec547286-2101-0000-0080-e404e767c128.userTrace.bin.0 is corrupt, and has not been fully read.
The trace file contains data other than complete trace records for the current product version, and the trace reader command was not able to process the file.
Ensure that the correct product version is used to read trace files. If the correct version is being used and this error still occurs, ensure that enough disk space is available to store trace data, and that none of the files are limited by other means (e.g., ulimit on UNIX platforms) |
Since the logs were cleared with "-r" flag so as far as I know, there should not be any data outside the current product version. There is also enough disk space available so that is not the problem either. I'll investigate the ulimit thing next.
Mikko |
|
Back to top |
|
 |
DE110283 |
Posted: Wed Aug 26, 2009 3:19 am Post subject: |
|
|
 Novice
Joined: 13 Jun 2007 Posts: 11
|
Any news on this? I also get this 'BIP8217S: Trace file /var/mqsi/common/log/... is corrupt', using 6.1.0.4 on AIX.
I have stopped the broker, remove all log files from /var/mqsi/common/log, start the broker again and tried the usertrace - and still get te BIP8217S message. ulimit is set to 'unlimited' from mqsi.
Thanks in advance
Added:
I also get this BIP8217S message on Win XP Prof SP2 |
|
Back to top |
|
 |
DE110283 |
Posted: Mon Nov 23, 2009 6:17 am Post subject: |
|
|
 Novice
Joined: 13 Jun 2007 Posts: 11
|
|
Back to top |
|
 |
|