softwarespartan / IB4m

Interactive Brokers API for Matlab
GNU General Public License v2.0
62 stars 21 forks source link

java.lang.ClassNotFoundException #110

Open ecpgieicg opened 3 years ago

ecpgieicg commented 3 years ago

Hi Abel,

I get the following error message printed in Matlab from time to time.

Exception "java.lang.ClassNotFoundException: jfix/ArConidExchangePair"while constructing DataFlavor for: application/x-java-remote-object; class=jfix.ArConidExchangePair
Exception "java.lang.ClassNotFoundException: jfix/ArConidExchangePair"while constructing DataFlavor for: application/x-java-remote-object; class=jfix.ArConidExchangePair

There does not seem to be obvious trigger but seems to happen when RAM space is tight. (I don't have a way to tell when RAM space is tight. On my computer, the max is 32Gb. But it seems to have an 'invisible' cap of 25. And the error tends to happen around there. But not always.)

The only consistent feature is that the error message is always printed twice.

Also, the error messages are usually printed concurrently across a few IB TWS clients. (Memory is vague on whether the same error would happen with IB Gateway.) Just now, 3 Matlab instances were connected via IB TWS. 1 was actively querying historical data and it received the error message. 1 client was idle and received the error message as well -- probably concurrently. I am not sure of the exact status of the last client. It might've been querying or busy trying to retrieve data out of the fifo buffer. This last client did not print the error message.

Do you know what the error message may be caused by?

Is this a cause of concern for data integrity?

Thank you for your help!

softwarespartan commented 3 years ago

That's a strange error. There is no "jfix" in the ib jar file. Does this error interrupt/crash what you are doing at the time ? Or does the message just print? My guess is that this is error on the TWS side and its just printing/sending errors that it encounters to connected clients. That's just a guess.

Do you know what versions of the TWS and gateway you're using?

Thanks

ecpgieicg commented 3 years ago

Thanks for the quick reply.


Does this error interrupt/crash what you are doing at the time ? Or does the message just print?

I don't think there is interruption. I recorded the error twice before. Including this time, there is no interruption. (If it causes an interruption, I imagine at least the pending query at the time would be lost and that could cause my program to print additional messages after extended wait time and re connect, which I didn't see.) Although I've run into the error more times before.

Do you know what versions of the TWS and gateway you're using?

TWS version is 981.2c

I am not sure if I ever ran into this error with Gateway.


Btw, I said my RAM is close to an invisible cap this time. I just saw my earlier note that in one of the earlier instances of this error, physical RAM usage was some distance away from the usual cap. So it may not be memory/paging related after all.