FW: qpid crash using Java JNI and OpenMAMA 2.3.0


Guy <guy.tal@...>
 

Hello,

Few weeks ago I found a crash (see below) happening for our Java Publisher - which we upgraded to use the latest version of OpenMAMA 2.3.0. We were using for the test the Qpid bridge for the Publisher and Subscriber.
The crash happens on the call to com.wombat.mama.MamaMsg.addArrayMsg() and it happens in random times.

I applied the the patch offered by Frank and it didn't work.

I would like also to know if anyone else have seen such thing happening using/working with JNI interface?

Regards,
Guy

On 4/29/14, 12:22 PM, "Frank Quinn" <fquinn@...> wrote:

Hi Guy,

Can you try the attached patch for the qpid payload bridge and see if
that helps matters?

It was part of an earlier patch which was placed on hold but I may submit
it independently. It fixes a realloc bug for vectors in the qpid bridge
where newly appended memory is not NULL initialized (i.e. you should only
see it when you publish a MAMA Msg vector, then attempt to publish a
larger vector... and only sometimes).

If it still fails, can you recreate with the native replay tools or does
this only manifest itself in Java?

Was the playback file one of ours or your own? If it's your own, could
you put it somewhere we can download and try and recreate?

Cheers,
Frank

-----Original Message-----
From: openmama-dev-bounces@...
[mailto:openmama-dev-bounces@...] On Behalf Of Guy
Sent: 28 April 2014 15:36
To: openmama-dev@...
Subject: [Openmama-dev] qpid crash using Java JNI and OpenMAMA 2.3.0

Hi all,

I have OpenMAMA 2.3.0 Java Publisher along with Qpid proton 0.5 which
keeps crashing when publishing for a mamalistenc client.
I haven't had that before with other bridges. When I run it for some time
I get a crash on the native part of the code (see below).
From what I understand it has to do with adding an array of messages to
the payload.
Has anyone seen such a crash, and what could be a cause for that?

A complete log is attached as zip file.

Log excerpt:

Stack: [0x1d090000,0x1d0e0000], sp=0x1d0dee7c, free space=315k Native
frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [qpid-proton.dll+0x53dd] C [qpid-proton.dll+0x4a32] C
[qpid-proton.dll+0x8acb]

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code) J
com.wombat.mama.MamaMsg.addArrayMsg(Ljava/lang/String;I[Lcom/wombat/mama/M
amaMsg;)V
J
com.tick42.mamaplayback.mama.MamaSymbolPublisher$1.onField(Lcom/tick42/wom
bat/mama/MamaMsg;Lcom/tick42/wombat/mama/MamaMsgField;Lcom/tick42/wombat/m
ama/MamaDictionary;Ljava/lang/Object;)V
J
com.tick42.wombat.mama.MamaMsg.iterateFields(Lcom/tick42/wombat/mama/MamaM
sgFieldIterator;Lcom/tick42/wombat/mama/MamaDictionary;Ljava/lang/Object;)
V
J
com.tick42.mamaplayback.mama.MamaSymbolPublisher.send(Lcom/tick42/wombat/m
ama/MamaMsg;)V
J
com.tick42.mamaplayback.CannedSource.executeCommand(Lcom/tick42/mamaplayba
ck/DataCommand;Z)V
J com.tick42.mamaplayback.CommandProcessor$2.run()V
j java.lang.Thread.run()V+11
v ~StubRoutines::call_stub

Thanks
Guy - Tick42
________________________________________________________

This message may contain confidential information and is intended for
specific recipients unless explicitly noted otherwise. If you have reason
to believe you are not an intended recipient of this message, please
delete it and notify the sender. This message may not represent the
opinion of IntercontinentalExchange Group, Inc. (ICE), NYSE Euronext or
any of their subsidiaries or affiliates, and does not constitute a
contract or guarantee. Unencrypted electronic mail is not secure and the
recipient of this message is expected to provide safeguards from viruses
and pursue alternate means of communication where privacy or a binding
message is desired.
________________________________________________________