|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Problem whit databases in node compute |
« View previous topic :: View next topic » |
Author |
Message
|
twins |
Posted: Thu Apr 21, 2005 10:55 pm Post subject: Problem whit databases in node compute |
|
|
Novice
Joined: 21 Apr 2005 Posts: 12
|
Hello,
I have a wmqi v2.1 broker in AIX environment that I just installed and configured, I created a database with the instance user db2inst1, the same with that I create the broker database, I did a very simple message flow that only did a select and insert to a database, it deployed without any problems, but when I put a message in the input queue of the flow, the flow doesn't do nothing and the next error is registered in the system log:
Apr 21 18:06:54 EAI_DESA WMQIv210[155780]: (EAI01_D.AS400)[2057]BIP2228E: Severe error: /build/S210_BP/src/CommonServices/Unix/ImbAbend.cpp 478 signal received Abend file: /var/wmqi/errors/EAI01_D.AS400.155780.2057.abend action: abort
Apr 21 18:06:54 EAI_DESA WMQIv210[155780]: (EAI01_D.AS400)[2057]BIP2228E: Severe error: /build/S210_BP/src/CommonServices/Unix/ImbAbend.cpp 478 signal received Abend file: /var/wmqi/errors/EAI01_D.AS400.155780.2057.abend action: abort
Apr 21 18:06:54 EAI_DESA WMQIv210[1204290]: (EAI01_D)[1286]BIP2060W: The broker has detected that the Execution Group AS400, process ID 155780, has shutdown. : EAI01_D.agent: /build/S210_BP/src/AdminAgent/ImbAdminAgent.cpp: 3791: ImbAdminAgent::startAndMonitorADataFlowEngine: :
Apr 21 18:06:54 EAI_DESA WMQIv210[909492]: (EAI01_D.AS400)[1]BIP2201I: Execution Group started: process '909492'; thread '1'; additional information: brokerName 'EAI01_D'; executionGroupUUID 'c542e465-0301-0000-0080-862b0430497a'; executionGroupLabel 'AS400'; defaultExecutionGroup 'false'; queueManagerName 'EAI01.D.QM'; trusted 'false'; dataSourceName 'MQSIBKDB'; userId 'db2inst1'; migrationNeeded 'false'; brokerUUID '3fa33b61-0301-0000-0080-862b0430497a'; filePath '/usr/opt/wmqi'; workPath '/var/wmqi'. : EAI01_D.c542e465-0301-0000-0080-862b0430497a: /build/S210_BP/src/DataFlowEngine/ImbMain.cpp: 215: main: :
I don't know what is the problem, if is related to the ODBC connection or permissions on the database...I don't have idea what is.
The esql of my flow is the next:
SET OutputRoot = InputRoot;
-- Entre SQL bajo esta lÃnea. Es posible que el SQL por encima de esta lÃnea deba regenerarse, con lo cual se perderÃan todas las modificaciones.
DECLARE MSGID CHAR;
DECLARE SW CHAR;
SET MSGID = substring(CAST(InputRoot.MQMD.MsgId AS BLOB) from 1);
Set SW = The(Select Item A.MSGID From Database.MWASTXVL AS A Where A.MSGID = substring(MSGID from 3 for 4 );
IF SW is Null then
INSERT INTO Database.MWASTXVL (MSGID,SERVICIO,REPLYTOQ,REPLYTOQMGR)
VALUES ( substring(MSGID from 3 for 4 ,
substring(InputRoot.MQMD.ApplIdentityData FROM 1 FOR ,
InputRoot.MQMD.ReplyToQ,
InputRoot.MQMD.ReplyToQMgr);
Else
UPDATE Database.MWASTXVL AS A
set SERVICIO = substring(InputRoot.MQMD.ApplIdentityData FROM 1 FOR ,
REPLYTOQ = InputRoot.MQMD.ReplyToQ,
REPLYTOQMGR = InputRoot.MQMD.ReplyToQMgr
WHERE A.MSGID = substring(MSGID from 3 for 4 ;
End if;
-----------------------------------------------
Please I need your help, thanks for your help,
Giovanny Mellizo
Bogotá-Colombia |
|
Back to top |
|
 |
alexey |
Posted: Fri Apr 22, 2005 7:31 am Post subject: |
|
|
 Acolyte
Joined: 18 Dec 2003 Posts: 62 Location: Israel
|
Hi!
Did you look at your abend file?
Quote: |
/var/wmqi/errors/EAI01_D.AS400.155780.2057.abend |
If you have a stack trace in it, check if it looks like a database problem.
For example I have one that looks like:
Quote: |
Stack Backtrace:
: Module!Function+Offset [File Name # Line+Offset @ Address]
: DataFlowDLL!ImbFlowDebugType::globalBreakpointList+0x0 (FPO: [0,0,0]) [F:/build/S500_P/export/x86_nt_4/usr/include\ImbFlowDebugType.hpp # 92+0 @ 0xECCF30]
: DataFlowDLL!ImbFlowDebugInstance::isBreakpoint+0x103 (FPO: [EBP: 0x0D2EF2F0] [4,8,4]) [F:\build\S500_P\src\DataFlowEngine\FlowDebug\ImbFlowDebugInstance.cpp # 250+37 @ 0xEFCEEE]
: DataFlowDLL!ImbVfdInvoke::pauseOnlogicalConnections+0x70b (FPO: [EBP: 0x01BEF9A0] [4,60,4]) [F:\build\S500_P\src\DataFlowEngine\ImbVfdInvoke.cpp # 949+70 @ 0xF1D065]
: DataFlowDLL!ImbVfdInvoke::evaulatePause+0x170 (FPO: [4,5,3]) [F:\build\S500_P\src\DataFlowEngine\ImbVfdInvoke.cpp # 793+0 @ 0xF1C130]
: DataFlowDLL!ImbVfdInvoke::invokeDebug+0x962 [F:\build\S500_P\src\DataFlowEngine\ImbVfdInvoke.cpp # 267+0 @ 0xF196F2]
|
- this is a debugger failure, probably. If you see something to do with ODBC or SQL in the modules/functions - it is a DB almost for sure. If not - it might not be a DB problem at all.
If you just have a configuration problem or DB security issue its usually an " The ODBC return code was '-1'" message before the crash - do you have one in your error log?
If you think your ESQL could be a problem, try to switch to passthru and use a simple select for a test
Code: |
SET Environment.tmp[] = PASSTHRU('select count(*) from sysibm.sysdummy1'); |
.
Hope this helps,
Alexey. |
|
Back to top |
|
 |
JT |
Posted: Fri Apr 22, 2005 9:19 am Post subject: |
|
|
Padawan
Joined: 27 Mar 2003 Posts: 1564 Location: Hartford, CT.
|
To determine if the database call plays a part in the execution group abend, I would start by:- Issuing the same database call(s) under the db2inst1 account using the DB2 command line processor on the broker server. is it successful?
- Reviewing the db2diag.log file for content related to your execution group/broker
- Activating an ODBC trace
Code: |
DECLARE MSGID CHAR;
DECLARE SW CHAR;
SET MSGID = substring(CAST(InputRoot.MQMD.MsgId AS BLOB) from 1);
|
As an aside, this code doesn't look right. If your objective is to obtain a character representation of the msgid, try this instead:
Code: |
DECLARE MSGID CHAR;
DECLARE SW CHAR;
SET MSGID = CAST(InputRoot.MQMD.MsgId AS CHARACTER CCSID InputRoot.MQMD.CodedCharSetId);
|
|
|
Back to top |
|
 |
twins |
Posted: Thu Apr 28, 2005 10:56 am Post subject: Abend file |
|
|
Novice
Joined: 21 Apr 2005 Posts: 12
|
It's the abend file:
----------------------------- Stack dump for current thread ( 2828)
(0x3a6bbf1c) <invalid code address>
(0xd3b1eaf0+0x00000f20) initialise__23ImbOdbcDynamicResultSetFv [/usr/opt/wmqi/lib/libMessageServices.a(libMessageServic
es.a.so)]
(0xd3b1e994+0x000000d4) __ct__23ImbOdbcDynamicResultSetFR16ImbOdbcStatement [/usr/opt/wmqi/lib/libMessageServices.a(libM
essageServices.a.so)]
(0xd7c970fc+0x00001044) executeStmt__17SqlExternalDbStmtCFR14SqlEvalEnvironRC13ImbStringBaseXTwTQ2_3std11char_traitsXTw_
SP18SP37_Q2_3std6_PtritXTP17SqlExpressionNodeTlTPCP17SqlExpressionNodeTRCP17SqlExpressionNodeTPP17SqlExpressionNodeTRP17
SqlExpressionNode_T310SqlSrcLocn [/usr/opt/wmqi/lib/libImbRdl.a(libImbRdl.a.so)]
(0xd7e34d30+0x000001ac) execute__20SqlDatabaseStatementCFR14SqlEvalEnviron [/usr/opt/wmqi/lib/libImbRdl.a(libImbRdl.a.so
)]
(0xd7bfb7a4+0x000000a0) execute__17SqlStatementGroupCFR14SqlEvalEnviron [/usr/opt/wmqi/lib/libImbRdl.a(libImbRdl.a.so)]
(0xd7e5bcc8+0x0000025c) execute__14SqlIfStatementCFR14SqlEvalEnviron [/usr/opt/wmqi/lib/libImbRdl.a(libImbRdl.a.so)]
(0xd7bfb7a4+0x000000a0) execute__17SqlStatementGroupCFR14SqlEvalEnviron [/usr/opt/wmqi/lib/libImbRdl.a(libImbRdl.a.so)]
(0xd7ece39c+0x00000c14) evaluate__19SqlComputeInterfaceFRC18ImbMessageAssemblyR18ImbMessageAssembly [/usr/opt/wmqi/lib/l
ibImbRdl.a(libImbRdl.a.so)]
(0xd8cfa864+0x0000035c) evaluate__14ImbComputeNodeFRC18ImbMessageAssemblyPC19ImbDataFlowTerminal [/usr/opt/wmqi/lil/imbd
fsql.lil]
(0xd7a04a58+0x000001bc) evaluate__19ImbDataFlowTerminalFRC18ImbMessageAssembly [/usr/opt/wmqi/lib/libDataFlowDLL.a(libDa
taFlowDLL.a.so)]
(0xd7a04870+0x00000074) propagate__19ImbDataFlowTerminalFRC18ImbMessageAssembly [/usr/opt/wmqi/lib/libDataFlowDLL.a(libD
ataFlowDLL.a.so)]
(0xd8947a28+0x00002e1c) readQueue__14ImbMqInputNodeFP11ImbOsThread [/usr/opt/wmqi/lil/imbdfmqm.lil]
(0xd8969714+0x00000048) run__Q2_14ImbMqInputNode10ParametersFP11ImbOsThread [/usr/opt/wmqi/lil/imbdfmqm.lil]
(0xd2f7eda4+0x00000070) run__27ImbThreadPoolThreadFunctionFP11ImbOsThread [/usr/opt/wmqi/lib/libCommonServices.a(libComm
onServices.a.so)]
(0xd2f75924+0x00000054) threadRun__11ImbOsThreadFv [/usr/opt/wmqi/lib/libCommonServices.a(libCommonServices.a.so)]
(0xd2f754cc+0x00000064) threadBootStrap__11ImbOsThreadFPv [/usr/opt/wmqi/lib/libCommonServices.a(libCommonServices.a.so)
]
(0xd004d33c+0x000000ec) _pthread_body [/usr/lib/libpthreads.a(shr_xpg5.o)]
(0x00000000) <invalid code address>
---------------------------------------------------------------------- |
|
Back to top |
|
 |
Ian |
Posted: Fri Apr 29, 2005 3:35 am Post subject: |
|
|
Disciple
Joined: 22 Nov 2002 Posts: 152 Location: London, UK
|
Hi Giovanny,
This entry at the top of your abend stack suggests to me that you are running with AIX 5.1 ML07 and hitting a known problem (APAR IY67718).
Quote: |
(0xd3b1eaf0+0x00000f20) initialise__23ImbOdbcDynamicResultSetFv [/usr/opt/wmqi/lib/libMessageServices.a(libMessageServic
es.a.so)]
|
This is a known AIX 5.1 ML07 problem which is triggered by a malloc(0) call.
In this case, the broker is calling malloc(0) as part of an initialise within the code to interface with a database.
To confirm this is APAR IY67718 you can modify the /usr/opt/mqsi/bin/mqsistart script and comment out the statement MALLOCTYPE=buckets. The broker will need to be restarted. You can also use this a workaround until you can apply IY67718.
If this is the case then I would suggest you contact IBM support (either AIX or WBIMB) and ask for APAR IY67718.
IBM support will need to know what version of libC package is installed on your system : 'lslpp -l | grep -i libc' _________________ Regards, Ian |
|
Back to top |
|
 |
twins |
Posted: Sat May 07, 2005 9:19 am Post subject: |
|
|
Novice
Joined: 21 Apr 2005 Posts: 12
|
Hello Ian,
Thanks for your help, I applied the respective fix of IBM support for this APAR and the problem was solve, now every things are working very fine,
Thanks to every body too for your contributions.
Giovanny Mellizo
Bogotá-Colombia |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
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
|
|
|
|