|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Core Dump in MQWF |
« View previous topic :: View next topic » |
Author |
Message
|
kutulu2000 |
Posted: Fri Aug 24, 2007 10:18 am Post subject: Core Dump in MQWF |
|
|
 Acolyte
Joined: 08 Nov 2005 Posts: 63 Location: Mexico
|
Hi all,
We are using MQWF 3.3.2 because business necessities.
The problem is this, we developed a server application who runs over solaris 5.8 and java 1.2.2 ( out of all actual standards ). This application uses the MQWF java api to access the MQWF engine . When we try to access to an object that doesn't exist in runtime such as a person or a process, the application crashes and a core dump file is created. We made many tests using windows 2000 and the application sends the corresponding exception that the client receives without a problem.
Here is an extract of the core dump generated;
core 'core' of 14715: /export/home/fmc/j2re1.3.1_20/bin/../bin/sparc/native_threads/java -ja
----------------- lwp# 9 / thread# 19 --------------------
ff3591f0 __sigprocmask (ff35b7f4, 0, 0, f1b01d98, ff36c000, 0) + 8
ff34dd0c _sigon (f1b01d98, ff3738a8, 6, f1b000a4, f1b01d98, ff37321c) + d0
ff350d4c _thrp_kill (0, 13, 6, ff36c000, 13, ff2c0458) + f8
ff24bce0 raise (6, 0, 0, ffffffff, ff2c03c4, ff2d4818) + 40
ff235984 abort (ff2bc008, 0, ff2d5a9c, 15888, 14620, ff2d43b8) + 100
ff2d41e0 __1cH__CimplMex_terminate6F_v_ (0, f398410c, ff2eab80, f39842d0, 1, 1) + 2c
ff2d4c20 _ex_throw_body (ff2eab80, 0, 0, 1, 15590, ff2d4ae4) + 134
f39840cc __1cDstdMbasic_string4Ccn0ALchar_traits4Cc__n0AJallocator4Cc___2t6Mpkcrkn0C__v_ (f1b014dc, 0, f1b0044b, f36bdbc8, 4ebbc, fe55a3c4) + 9c
f3766b4c __1cIFmcjItemNDocumentation6kM_nDstdMbasic_string4Ccn0BLchar_traits4Cc__n0BJallocator4Cc_____ (f1b014dc, ec5d0, f37b9ce8, f3766ab8, fe7643cc, fe55a
2b8) + 94
f373a8c8 Java_com_ibm_workflow_loc_jni_ItemImpl_documentation (234e7c, f3766a68, f37b5688, fe7643cc, 1, fe51927c) + e0
0007d088 ???????? (f4d033a0, 7cef0, f1b0164c, 82f64, f4e00000, 0)
0007a4d8 ???????? (f4d033e0, 7c238, f4d03d58, 85a44, 10, 0)
0007a4d8 ???????? (f4d03aa8, f8f52650, f4d033d0, 85a44, f4e00000, 0)
0007a1ec ???????? (f534e728, f4d02210, 0, 859b0, f4e00000, 0)
0007a230 ???????? (f534b798, 7c238, 0, 857b8, f4e00000, 234df0)
0007a4d8 ???????? (f4c81fd0, 7c238, f1b01974, 8590c, fe756184, 0)
0007a494 ???????? (0, 1, fe763e80, 85a44, 1e, e)
fe78d4f4 __1cMStubRoutinesG_code1_ (f1b01a00, f1b01c38, a, f8c16778, 7c238, f1b01b84) + 3fc
fe506c2c __1cJJavaCallsLcall_helper6FpnJJavaValue_pnMmethodHandle_pnRJavaCallArguments_pnGThread__v_ (f1b01c30, fe756184, f1b01b7c, 234df0, 7c238, f1b01c38)
+ 388
fe5154fc __1cJJavaCallsMcall_virtual6FpnJJavaValue_nLKlassHandle_nMsymbolHandle_4pnRJavaCallArguments_pnGThread__v_ (f1b01a4c, f1b01d98, 7fd98, fe756184, f1
b01b7c, 234df0) + 1bc
fe515320 __1cJJavaCallsMcall_virtual6FpnJJavaValue_nGHandle_nLKlassHandle_nMsymbolHandle_5pnGThread__v_ (f1b01c30, f1b01c2c, f1b01c28, f1b01c1c, f1b01c14, 2
34df0) + 60
fe5152a8 __1cMthread_entry6FpnKJavaThread_pnGThread__v_ (f8c17400, 234df0, fe756184, f1b01d38, 1e, e) + c8
fe51510c __1cKJavaThreadDrun6M_v_ (fe756184, 234df0, f1a82000, 0, 0, 0) + 27c
fe505214 _start (fe756184, 234df0, 235330, 5, 1, fe401000) + 2c
ff35b01c _thread_start (234df0, 0, 0, 0, 0, 0) + 40
----------------- lwp# 10 --------------------------------
ff29c920 _door_return (9, ff36d658, ff36d670, 3, ff36c000, 1) + 10
ff34a358 _lwp_start (f31e5d98, 0, 6000, f3b95b9c, 0, 0) + 18
ff351c2c thr_yield (0, 0, 0, 0, 0, 0) + 8c
I appreciate so much your help. _________________ #10 |
|
Back to top |
|
 |
hos |
Posted: Tue Aug 28, 2007 4:01 am Post subject: |
|
|
Chevalier
Joined: 03 Feb 2002 Posts: 470
|
Hi, here my wild guess:
Your application crashes while calling
Code: |
item.documentation() |
.
Your application tries to access the documentation info of an item before calling
. Documentation is a secondary attribute and therefore set to an empty string before refresh() is called. This causes the solaris runtime to crash.
If you are using the Documentation attribute in your application, call
before calling
Code: |
item.documentation() |
. If you are not using this attribute, don't call
Code: |
item.documentation() |
in your client code. |
|
Back to top |
|
 |
kutulu2000 |
Posted: Wed Aug 29, 2007 8:22 am Post subject: |
|
|
 Acolyte
Joined: 08 Nov 2005 Posts: 63 Location: Mexico
|
Hi hos and thanx for the reply.
The disadvantage I see in your proposal is the response time. I think that I must refresh the item in each attribute that attempt to obtain. In Windows environment the correct exception is thrown (Object does not exist) but in Solaris environment core dump is generated. Do you think that we must apply some fixes in the OS or we must simply migrate our application to another box with Windows.
Thanx in advance _________________ #10 |
|
Back to top |
|
 |
hos |
Posted: Wed Aug 29, 2007 11:21 pm Post subject: |
|
|
Chevalier
Joined: 03 Feb 2002 Posts: 470
|
Hi,
Quote: |
I think that I must refresh the item in each attribute that attempt to obtain. |
No, just call refresh() directly after you obtained the item. It will refresh() all secondary attributes of this item. After that all accessor calls for this item are local calls and will provide a value. ObjectDoesNotExist then can only occur during the refresh() (server) call. |
|
Back to top |
|
 |
kutulu2000 |
Posted: Wed Sep 05, 2007 7:32 am Post subject: |
|
|
 Acolyte
Joined: 08 Nov 2005 Posts: 63 Location: Mexico
|
I appreciate so much your help hos. We migrate our application to another box (windows box) implementing your suggetions.
Thanx a lot _________________ #10 |
|
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
|
|
|
|