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 » WebSphere Message Broker (ACE) Support » Problem whit databases in node compute

Post new topic  Reply to topic
 Problem whit databases in node compute « View previous topic :: View next topic » 
Author Message
twins
PostPosted: Thu Apr 21, 2005 10:55 pm    Post subject: Problem whit databases in node compute Reply with quote

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
View user's profile Send private message
alexey
PostPosted: Fri Apr 22, 2005 7:31 am    Post subject: Reply with quote

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
View user's profile Send private message
JT
PostPosted: Fri Apr 22, 2005 9:19 am    Post subject: Reply with quote

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
View user's profile Send private message
twins
PostPosted: Thu Apr 28, 2005 10:56 am    Post subject: Abend file Reply with quote

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
View user's profile Send private message
Ian
PostPosted: Fri Apr 29, 2005 3:35 am    Post subject: Reply with quote

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
View user's profile Send private message
twins
PostPosted: Sat May 07, 2005 9:19 am    Post subject: Reply with quote

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
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 » WebSphere Message Broker (ACE) Support » Problem whit databases in node compute
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.