Hey, Karl,
I’ve been successfully running your socket client for data for several weeks, and a separate instance of your socket client for order processing successfully for over a week. However, at 1:24 a.m. Eastern time today the order processing client submitted an order which caused the order processing client to crash. The error was “1162: Error processing FIX msg” -- I’ve never seen this error before, and I’ve used the ActiveX control for order processing for several years (the ActiveX control uses the same error handlers as the socket).
Here’s the relevant listing from the TWS log. I’m sending this to you to see if you know how I can handle this type of error so that the socket client for order processing doesn’t crash. I have implemented the Error event handler, but that handler didn’t pick up any messages at that time. I also have the OrderStatus event handler, but that also did not pick up any events before the crash.
_____
SN 01:24:03:825 JTS-EServerSocket-53: [10:31:39:1:0:0:0:ERR] Socket connection for client{10} has closed.
SN 01:24:03:825 JTS-EServerSocket-53: Connection reset
SN 01:24:03:825 JTS-EServerSocket-53: ArEServer: Removing 31187401 with id 10
SN 01:24:03:839 JTS-CCPDispatcher-1162: Error processing FIX msg
SN java.lang.NullPointerException
at trader.order.v.a(v.java:932)
at trader.order.v.a(v.java:870)
at jclient.mf.b(mf.java:3473)
at jclient.mf.a(mf.java:3366)
at jclient.mf.a(mf.java:3353)
at jclient.mf.a(mf.java:3322)
at jclient.mf.a(mf.java:490)
at jclient.wf.a(wf.java:650)
at jclient.fo.a(fo.java:207)
at jclient.fo.a(fo.java:166)
at jclient.cm.a(cm.java:327)
at jclient.mf.d(mf.java:3258)
at jconnection.ab.a(ab.java:82)
at jconnection.y.a(y.java:124)
at jconnection.y.a(y.java:155)
at jconnection.y.a(y.java:77)
at jconnection.y.d(y.java:33)
at jconnection.x.run(x.java:47)
SN 01:24:03:843 JTS-EServerSocket-53: [10:31:39:1:0:0:0:SYS] Ending conversation with client{10} at localhost/127.0.0.1
_____
The order was received by TWS because the order line showed up, but TWS did not execute the order.
I notice that error code 1162 is not listed on the API Message Codes on the IB website. Also, I notice that IB has a new event, winError, that might handle errors not handled by the error event. However, I don’t know why this error would cause the socket client for order processing to crash, and I have no debug trace in a case like this to tell me which event caused the crash. I would think the error event handler would just report the error, even though it’s not listed.
I’d appreciate any ideas you have on how to handle this type of error.
Thanks very much again for your great work.
Mark