Quantcast

1.7.0 - Not reconnecting the next time interval?

classic Classic list List threaded Threaded
21 messages Options
12
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

1.7.0 - Not reconnecting the next time interval?

Sean LeBlanc
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/


We are using 1.7.0 for an initiator, and it doesn't seem to reconnect
the next time interval. We do see the connection and logon on
application startup, however, assuming that happens within StartTime and
EndTime.


After EndTime is reached, we see a line like this:

Already disconnected: Socket exception (<IP:PORT>): java.io.IOException:
Connection reset by peer


Not sure if that is anything to worry about or not?


When the next StartTime is reached, we get a line like this:

Session state is not current; resetting FIX.4.4:<COMPIDS>

....but no

"Initiated logon request"..."Received logon" lines like we get when
application first comes up, and we don't get heartbeats, etc.


  The specific version of 1.7.0 we are using is: 1.7.0-20160115.181309-1
(which we had to grab earlier this year because that was what had the
certificate validation code in it).


Anyone else have this problem?


I tried stepping through the (decompiled) code and replicating this
scenario with our application, and in quickfix.Session, there is a check
within the next() method that checks if this.hasResponder(), and
responder is null at this point, so then it doesn't do anything with
checking state for isLogonReceived() or isLogonSendNeeded().


------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 1.7.0 - Not reconnecting the next time interval?

Dan Corneanu
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/



Hi Sean,
can you share the session configuration you are using?

On 21 June 2016 at 11:14, Sean LeBlanc <[hidden email]> wrote:
QuickFIX/J Documentation: <a href="http://www.quickfixj.org/documentation/ QuickFIX/J" rel="noreferrer" target="_blank">http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/


We are using 1.7.0 for an initiator, and it doesn't seem to reconnect
the next time interval. We do see the connection and logon on
application startup, however, assuming that happens within StartTime and
EndTime.


After EndTime is reached, we see a line like this:

Already disconnected: Socket exception (<IP:PORT>): java.io.IOException:
Connection reset by peer


Not sure if that is anything to worry about or not?


When the next StartTime is reached, we get a line like this:

Session state is not current; resetting FIX.4.4:<COMPIDS>

....but no

"Initiated logon request"..."Received logon" lines like we get when
application first comes up, and we don't get heartbeats, etc.


  The specific version of 1.7.0 we are using is: 1.7.0-20160115.181309-1
(which we had to grab earlier this year because that was what had the
certificate validation code in it).


Anyone else have this problem?


I tried stepping through the (decompiled) code and replicating this
scenario with our application, and in quickfix.Session, there is a check
within the next() method that checks if this.hasResponder(), and
responder is null at this point, so then it doesn't do anything with
checking state for isLogonReceived() or isLogonSendNeeded().


------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users


------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 1.7.0 - Not reconnecting the next time interval?

Christoph John
In reply to this post by Sean LeBlanc
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/


Hi Sean,

does your session use SSL? There sometimes seemsto be a problem reconnecting an SSL session.

Cheers,
Chris.

On 21/06/16 01:14, Sean LeBlanc wrote:

> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
> QuickFIX/J Support: http://www.quickfixj.org/support/
>
>
> We are using 1.7.0 for an initiator, and it doesn't seem to reconnect
> the next time interval. We do see the connection and logon on
> application startup, however, assuming that happens within StartTime and
> EndTime.
>
>
> After EndTime is reached, we see a line like this:
>
> Already disconnected: Socket exception (<IP:PORT>): java.io.IOException:
> Connection reset by peer
>
>
> Not sure if that is anything to worry about or not?
>
>
> When the next StartTime is reached, we get a line like this:
>
> Session state is not current; resetting FIX.4.4:<COMPIDS>
>
> ....but no
>
> "Initiated logon request"..."Received logon" lines like we get when
> application first comes up, and we don't get heartbeats, etc.
>
>
>    The specific version of 1.7.0 we are using is: 1.7.0-20160115.181309-1
> (which we had to grab earlier this year because that was what had the
> certificate validation code in it).
>
>
> Anyone else have this problem?
>
>
> I tried stepping through the (decompiled) code and replicating this
> scenario with our application, and in quickfix.Session, there is a check
> within the next() method that checks if this.hasResponder(), and
> responder is null at this point, so then it doesn't do anything with
> checking state for isLogonReceived() or isLogonSendNeeded().
>
>
> ------------------------------------------------------------------------------
> Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
> Francisco, CA to explore cutting-edge tech and listen to tech luminaries
> present their vision of the future. This family event has something for
> everyone, including kids. Get more information and register today.
> http://sdm.link/attshape
> _______________________________________________
> Quickfixj-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quickfixj-users

--
Christoph John
Development & Support
Direct: +49 241 557080-28
Mailto:[hidden email]
       


http://www.macd.com <http://www.macd.com/>
----------------------------------------------------------------------------------------------------
       
----------------------------------------------------------------------------------------------------
MACD GmbH
Oppenhoffallee 103
D-52066 Aachen
Tel: +49 241 557080-0 | Fax: +49 241 557080-10
         Amtsgericht Aachen: HRB 8151
Ust.-Id: DE 813021663

Geschäftsführer: George Macdonald
----------------------------------------------------------------------------------------------------
       
----------------------------------------------------------------------------------------------------

take care of the environment - print only if necessary

------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 1.7.0 - Not reconnecting the next time interval?

Youyu Shao
This post has NOT been accepted by the mailing list yet.
In reply to this post by Sean LeBlanc
Recently we have been seriously looking into using QuickFixJ (code base 1.6.2).
In so doing, we have discovered several problems and subsequently resolved in house.

1. Mina would throw org.apache.mina.core.RuntimeIoException wrapping java.net.SocketException at various places.
   For example, this happens at:
   org.apache.mina.core.RuntimeIoException: java.net.SocketException: Invalid argument: no further information
    at org.apache.mina.transport.socket.nio.NioSocketSession$SessionConfigImpl.setTcpNoDelay(NioSocketSession.java:208)
    at quickfix.mina.NetworkingOptions.apply(NetworkingOptions.java:155)
    at quickfix.mina.AbstractIoHandler.sessionCreated(AbstractIoHandler.java:93)
    at quickfix.mina.initiator.InitiatorIoHandler.sessionCreated(InitiatorIoHandler.java:50)
    .....
   When this happens, exceptionCaught method of AbstractIoHandler is not able to properly detect there was an underlying socket IOException.
   AbstractIoHandler has been modified to un-wrap the exception and see if along the exception chain there is an IOException.

2. org.apache.mina.core.session.IoSession internal state is problematic. On and off,
   IoSession.isConnected() does not return the correct value after QuickFixJ called IoSession.close() method(up on experiencing IOException).
   quickfix.mina.initiator.IoSessionInitiator has been refactored to replace the old IoConnector with a new one upon experiencing IOException.
   quickfix.mina.AbstractIoHandler is adjusted accordingly to signal the IoSessionInitiator to do so.

3. Modified the run() method of ConnectTask in IoSessionInitiator to be protected by try block. This is to prevent the scheduled Task from
   stop running in presence of exception. (see javadoc on scheduleWithFixedDelay(...) method of java.util.concurrent.ScheduledExecutorService
   which states that "...If any execution of the task encounters an exception, subsequent executions are suppressed...")

4. Again, org.apache.mina.core.session.IoSession internal state is problematic. Even after the
   normal disconnect() from IoSessionResponder, on and off the IoSession.isConnected() still does not return the correct value.
   quickfix.mina.IoSessionResponder is adjusted to signal the IoSessionInitiator to replace the IoConnector. IoSessionResponderTest is adjusted accordingly.
   
   
5. quickfix.ThreadedSocketAcceptor leaks resources when stoped.
   Instead of calling stopSessionTimer() in the stop() method, it should call stopInitiators().
   
Problems identified in 1, 2, 3, and 4 ultimately manifested them in ways that reconnecting would stop working (forever), even absent of IOExceptions.

With the fix, we have the QuickFixJ engine running for a week where reconnecting works with no problem. During this period the counterparty
logged out and severed the TPC connection more than 20000 times.

AbstractIoHandler.javaIoSessionInitiator.javaIoSessionResponder.javaIoSessionResponderTest.javaThreadedSocketInitiator.java
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 1.7.0 - Not reconnecting the next time interval?

Youyu Shao
In reply to this post by Sean LeBlanc
Recently we have been seriously looking into using QuickFixJ (code base 1.6.2).
In so doing, we have discovered several problems and subsequently resolved in house.

1. Mina would throw org.apache.mina.core.RuntimeIoException wrapping java.net.SocketException at various places.
   For example, this happens at:
   org.apache.mina.core.RuntimeIoException: java.net.SocketException: Invalid argument: no further information
    at org.apache.mina.transport.socket.nio.NioSocketSession$SessionConfigImpl.setTcpNoDelay(NioSocketSession.java:208)
    at quickfix.mina.NetworkingOptions.apply(NetworkingOptions.java:155)
    at quickfix.mina.AbstractIoHandler.sessionCreated(AbstractIoHandler.java:93)
    at quickfix.mina.initiator.InitiatorIoHandler.sessionCreated(InitiatorIoHandler.java:50)
    .....
   When this happens, exceptionCaught method of AbstractIoHandler is not able to properly detect there was an underlying socket IOException.
   AbstractIoHandler has been modified to un-wrap the exception and see if along the exception chain there is an IOException.

2. org.apache.mina.core.session.IoSession internal state is problematic. On and off,
   IoSession.isConnected() does not return the correct value after QuickFixJ called IoSession.close() method(up on experiencing IOException).
   quickfix.mina.initiator.IoSessionInitiator has been refactored to replace the old IoConnector with a new one upon experiencing IOException.
   quickfix.mina.AbstractIoHandler is adjusted accordingly to signal the IoSessionInitiator to do so.

3. Modified the run() method of ConnectTask in IoSessionInitiator to be protected by try block. This is to prevent the scheduled Task from
   stop running in presence of exception. (see javadoc on scheduleWithFixedDelay(...) method of java.util.concurrent.ScheduledExecutorService
   which states that "...If any execution of the task encounters an exception, subsequent executions are suppressed...")

4. Again, org.apache.mina.core.session.IoSession internal state is problematic. Even after the
   normal disconnect() from IoSessionResponder, on and off the IoSession.isConnected() still does not return the correct value.
   quickfix.mina.IoSessionResponder is adjusted to signal the IoSessionInitiator to replace the IoConnector. IoSessionResponderTest is adjusted accordingly.
   
   
5. quickfix.ThreadedSocketAcceptor leaks resources when stoped.
   Instead of calling stopSessionTimer() in the stop() method, it should call stopInitiators().
   
Problems identified in 1, 2, 3, and 4 ultimately manifested them in ways that reconnecting would stop working (forever), even absent of IOExceptions.

With the fix, we have the QuickFixJ engine running for a week where reconnecting works with no problem. During this period the counterparty
logged out and severed the TCP connection more than 20000 times. Our test also indicates that the fix works equally SSL vs non-SSL.

Modified files are attached.

AbstractIoHandler.javaIoSessionInitiator.javaIoSessionResponder.javaIoSessionResponderTest.javaThreadedSocketInitiator.java
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 1.7.0 - Not reconnecting the next time interval?

Christoph John
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/


Hi,

thanks for your analysis and fixes. Much appreciated. :)
I have created aJIRA issue to track this: http://www.quickfixj.org/jira/browse/QFJ-895

Cheers,
Chris.

On 23/06/16 02:35, Youyu Shao wrote:

> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
> QuickFIX/J Support: http://www.quickfixj.org/support/
>
>
> Recently we have been seriously looking into using QuickFixJ (code base
> 1.6.2).
> In so doing, we have discovered several problems and subsequently resolved
> in house.
>
> 1. Mina would throw org.apache.mina.core.RuntimeIoException wrapping
> java.net.SocketException at various places.
>     For example, this happens at:
>     org.apache.mina.core.RuntimeIoException: java.net.SocketException:
> Invalid argument: no further information
>      at
> org.apache.mina.transport.socket.nio.NioSocketSession$SessionConfigImpl.setTcpNoDelay(NioSocketSession.java:208)
>      at quickfix.mina.NetworkingOptions.apply(NetworkingOptions.java:155)
>      at
> quickfix.mina.AbstractIoHandler.sessionCreated(AbstractIoHandler.java:93)
>      at
> quickfix.mina.initiator.InitiatorIoHandler.sessionCreated(InitiatorIoHandler.java:50)
>      .....
>     When this happens, exceptionCaught method of AbstractIoHandler is not
> able to properly detect there was an underlying socket IOException.
>     AbstractIoHandler has been modified to un-wrap the exception and see if
> along the exception chain there is an IOException.
>
> 2. org.apache.mina.core.session.IoSession internal state is problematic. On
> and off,
>     IoSession.isConnected() does not return the correct value after QuickFixJ
> called IoSession.close() method(up on experiencing IOException).
>     quickfix.mina.initiator.IoSessionInitiator has been refactored to replace
> the old IoConnector with a new one upon experiencing IOException.
>     quickfix.mina.AbstractIoHandler is adjusted accordingly to signal the
> IoSessionInitiator to do so.
>
> 3. Modified the run() method of ConnectTask in IoSessionInitiator to be
> protected by try block. This is to prevent the scheduled Task from
>     stop running in presence of exception. (see javadoc on
> scheduleWithFixedDelay(...) method of
> java.util.concurrent.ScheduledExecutorService
>     which states that "...If any execution of the task encounters an
> exception, subsequent executions are suppressed...")
>
> 4. Again, org.apache.mina.core.session.IoSession internal state is
> problematic. Even after the
>     normal disconnect() from IoSessionResponder, on and off the
> IoSession.isConnected() still does not return the correct value.
>     quickfix.mina.IoSessionResponder is adjusted to signal the
> IoSessionInitiator to replace the IoConnector. IoSessionResponderTest is
> adjusted accordingly.
>      
>      
> 5. quickfix.ThreadedSocketAcceptor leaks resources when stoped.
>     Instead of calling stopSessionTimer() in the stop() method, it should
> call stopInitiators().
>      
> Problems identified in 1, 2, 3, and 4 ultimately manifested them in ways
> that reconnecting would stop working (forever), even absent of IOExceptions.
>
> With the fix, we have the QuickFixJ engine running for a week where
> reconnecting works with no problem. During this period the counterparty
> logged out and severed the TCP connection more than 20000 times. Our test
> also indicates that the fix works equally SSL vs non-SSL.
>
> Modified files are attached.
>
> AbstractIoHandler.java
> <http://quickfix-j.364392.n2.nabble.com/file/n7579557/AbstractIoHandler.java>
> IoSessionInitiator.java
> <http://quickfix-j.364392.n2.nabble.com/file/n7579557/IoSessionInitiator.java>
> IoSessionResponder.java
> <http://quickfix-j.364392.n2.nabble.com/file/n7579557/IoSessionResponder.java>
> IoSessionResponderTest.java
> <http://quickfix-j.364392.n2.nabble.com/file/n7579557/IoSessionResponderTest.java>
> ThreadedSocketInitiator.java
> <http://quickfix-j.364392.n2.nabble.com/file/n7579557/ThreadedSocketInitiator.java>
>
>
>
> --
> View this message in context: http://quickfix-j.364392.n2.nabble.com/1-7-0-Not-reconnecting-the-next-time-interval-tp7579547p7579557.html
> Sent from the QuickFIX/J mailing list archive at Nabble.com.
>
> ------------------------------------------------------------------------------
> Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
> Francisco, CA to explore cutting-edge tech and listen to tech luminaries
> present their vision of the future. This family event has something for
> everyone, including kids. Get more information and register today.
> http://sdm.link/attshape
> _______________________________________________
> Quickfixj-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quickfixj-users

--
Christoph John
Development & Support
Direct: +49 241 557080-28
Mailto:[hidden email]
       


http://www.macd.com <http://www.macd.com/>
----------------------------------------------------------------------------------------------------
       
----------------------------------------------------------------------------------------------------
MACD GmbH
Oppenhoffallee 103
D-52066 Aachen
Tel: +49 241 557080-0 | Fax: +49 241 557080-10
         Amtsgericht Aachen: HRB 8151
Ust.-Id: DE 813021663

Geschäftsführer: George Macdonald
----------------------------------------------------------------------------------------------------
       
----------------------------------------------------------------------------------------------------

take care of the environment - print only if necessary

------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 1.7.0 - Not reconnecting the next time interval?

Youyu Shao
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/


Hi Chris,

Thank you very much. We are looking forward the issue to be resolved in upcoming 1.6.3.

Youyu

-----Original Message-----
From: Christoph John [mailto:[hidden email]]
Sent: Thursday, June 23, 2016 2:07 AM
To: [hidden email]
Subject: Re: [Quickfixj-users] 1.7.0 - Not reconnecting the next time interval?

QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/


Hi,

thanks for your analysis and fixes. Much appreciated. :) I have created aJIRA issue to track this: http://www.quickfixj.org/jira/browse/QFJ-895

Cheers,
Chris.

On 23/06/16 02:35, Youyu Shao wrote:

> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
> QuickFIX/J Support: http://www.quickfixj.org/support/
>
>
> Recently we have been seriously looking into using QuickFixJ (code
> base 1.6.2).
> In so doing, we have discovered several problems and subsequently
> resolved in house.
>
> 1. Mina would throw org.apache.mina.core.RuntimeIoException wrapping
> java.net.SocketException at various places.
>     For example, this happens at:
>     org.apache.mina.core.RuntimeIoException: java.net.SocketException:
> Invalid argument: no further information
>      at
> org.apache.mina.transport.socket.nio.NioSocketSession$SessionConfigImpl.setTcpNoDelay(NioSocketSession.java:208)
>      at quickfix.mina.NetworkingOptions.apply(NetworkingOptions.java:155)
>      at
> quickfix.mina.AbstractIoHandler.sessionCreated(AbstractIoHandler.java:93)
>      at
> quickfix.mina.initiator.InitiatorIoHandler.sessionCreated(InitiatorIoHandler.java:50)
>      .....
>     When this happens, exceptionCaught method of AbstractIoHandler is
> not able to properly detect there was an underlying socket IOException.
>     AbstractIoHandler has been modified to un-wrap the exception and
> see if along the exception chain there is an IOException.
>
> 2. org.apache.mina.core.session.IoSession internal state is
> problematic. On and off,
>     IoSession.isConnected() does not return the correct value after
> QuickFixJ called IoSession.close() method(up on experiencing IOException).
>     quickfix.mina.initiator.IoSessionInitiator has been refactored to
> replace the old IoConnector with a new one upon experiencing IOException.
>     quickfix.mina.AbstractIoHandler is adjusted accordingly to signal
> the IoSessionInitiator to do so.
>
> 3. Modified the run() method of ConnectTask in IoSessionInitiator to
> be protected by try block. This is to prevent the scheduled Task from
>     stop running in presence of exception. (see javadoc on
> scheduleWithFixedDelay(...) method of
> java.util.concurrent.ScheduledExecutorService
>     which states that "...If any execution of the task encounters an
> exception, subsequent executions are suppressed...")
>
> 4. Again, org.apache.mina.core.session.IoSession internal state is
> problematic. Even after the
>     normal disconnect() from IoSessionResponder, on and off the
> IoSession.isConnected() still does not return the correct value.
>     quickfix.mina.IoSessionResponder is adjusted to signal the
> IoSessionInitiator to replace the IoConnector. IoSessionResponderTest
> is adjusted accordingly.
>      
>      
> 5. quickfix.ThreadedSocketAcceptor leaks resources when stoped.
>     Instead of calling stopSessionTimer() in the stop() method, it
> should call stopInitiators().
>      
> Problems identified in 1, 2, 3, and 4 ultimately manifested them in
> ways that reconnecting would stop working (forever), even absent of IOExceptions.
>
> With the fix, we have the QuickFixJ engine running for a week where
> reconnecting works with no problem. During this period the
> counterparty logged out and severed the TCP connection more than 20000
> times. Our test also indicates that the fix works equally SSL vs non-SSL.
>
> Modified files are attached.
>
> AbstractIoHandler.java
> <http://quickfix-j.364392.n2.nabble.com/file/n7579557/AbstractIoHandle
> r.java>
> IoSessionInitiator.java
> <http://quickfix-j.364392.n2.nabble.com/file/n7579557/IoSessionInitiat
> or.java>
> IoSessionResponder.java
> <http://quickfix-j.364392.n2.nabble.com/file/n7579557/IoSessionRespond
> er.java>
> IoSessionResponderTest.java
> <http://quickfix-j.364392.n2.nabble.com/file/n7579557/IoSessionRespond
> erTest.java>
> ThreadedSocketInitiator.java
> <http://quickfix-j.364392.n2.nabble.com/file/n7579557/ThreadedSocketIn
> itiator.java>
>
>
>
> --
> View this message in context:
> http://quickfix-j.364392.n2.nabble.com/1-7-0-Not-reconnecting-the-next
> -time-interval-tp7579547p7579557.html
> Sent from the QuickFIX/J mailing list archive at Nabble.com.
>
> ----------------------------------------------------------------------
> -------- Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T
> Park in San Francisco, CA to explore cutting-edge tech and listen to
> tech luminaries present their vision of the future. This family event
> has something for everyone, including kids. Get more information and
> register today.
> http://sdm.link/attshape
> _______________________________________________
> Quickfixj-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quickfixj-users

--
Christoph John
Development & Support
Direct: +49 241 557080-28
Mailto:[hidden email]
       


http://www.macd.com <http://www.macd.com/>
----------------------------------------------------------------------------------------------------
       
----------------------------------------------------------------------------------------------------
MACD GmbH
Oppenhoffallee 103
D-52066 Aachen
Tel: +49 241 557080-0 | Fax: +49 241 557080-10
         Amtsgericht Aachen: HRB 8151
Ust.-Id: DE 813021663

Geschäftsführer: George Macdonald
----------------------------------------------------------------------------------------------------
       
----------------------------------------------------------------------------------------------------

take care of the environment - print only if necessary

------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users


------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 1.7.0 - Not reconnecting the next time interval?

Sean LeBlanc
In reply to this post by Christoph John
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/


Yes, we use SSL.


On 6/22/16 3:55 AM, Christoph John wrote:

> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
> QuickFIX/J Support: http://www.quickfixj.org/support/
>
>
> Hi Sean,
>
> does your session use SSL? There sometimes seemsto be a problem reconnecting an SSL session.
>
> Cheers,
> Chris.
>
> On 21/06/16 01:14, Sean LeBlanc wrote:
>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
>> QuickFIX/J Support: http://www.quickfixj.org/support/
>>
>>
>> We are using 1.7.0 for an initiator, and it doesn't seem to reconnect
>> the next time interval. We do see the connection and logon on
>> application startup, however, assuming that happens within StartTime and
>> EndTime.
>>
>>
>> After EndTime is reached, we see a line like this:
>>
>> Already disconnected: Socket exception (<IP:PORT>): java.io.IOException:
>> Connection reset by peer
>>
>>
>> Not sure if that is anything to worry about or not?
>>
>>
>> When the next StartTime is reached, we get a line like this:
>>
>> Session state is not current; resetting FIX.4.4:<COMPIDS>
>>
>> ....but no
>>
>> "Initiated logon request"..."Received logon" lines like we get when
>> application first comes up, and we don't get heartbeats, etc.
>>
>>
>>     The specific version of 1.7.0 we are using is: 1.7.0-20160115.181309-1
>> (which we had to grab earlier this year because that was what had the
>> certificate validation code in it).
>>
>>
>> Anyone else have this problem?
>>
>>
>> I tried stepping through the (decompiled) code and replicating this
>> scenario with our application, and in quickfix.Session, there is a check
>> within the next() method that checks if this.hasResponder(), and
>> responder is null at this point, so then it doesn't do anything with
>> checking state for isLogonReceived() or isLogonSendNeeded().
>>
>>
>> ------------------------------------------------------------------------------
>> Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
>> Francisco, CA to explore cutting-edge tech and listen to tech luminaries
>> present their vision of the future. This family event has something for
>> everyone, including kids. Get more information and register today.
>> http://sdm.link/attshape
>> _______________________________________________
>> Quickfixj-users mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/quickfixj-users



------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 1.7.0 - Not reconnecting the next time interval?

Sean LeBlanc
In reply to this post by Dan Corneanu
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/



I can, at least in part.


FileLogPath = "."
FileStorePath = "."
StartTime = "00:15:00 America/New_York"
EndTime = "18:00:00 America/New_York"

SenderCompID = <sendercompid>
TargetCompID = <targetcompid>
ConnectionType="initiator"
HeartBtInt = '30'
ReconnectInterval = '5'
ResetOnLogon = 'Y'
SocketConnectHost = <host>
SocketConnectPort = 443
SocketUseSSL = 'Y'

SocketTrustStore = <keystorefile>
SocketTrustStorePassword = <password>


On 6/21/16 3:29 PM, Dan Corneanu wrote:
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/




Hi Sean,
can you share the session configuration you are using?

On 21 June 2016 at 11:14, Sean LeBlanc <[hidden email]> wrote:
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J
Support: http://www.quickfixj.org/support/


We are using 1.7.0 for an initiator, and it doesn't seem to reconnect
the next time interval. We do see the connection and logon on
application startup, however, assuming that happens within StartTime and
EndTime.


After EndTime is reached, we see a line like this:

Already disconnected: Socket exception (<IP:PORT>): java.io.IOException:
Connection reset by peer


Not sure if that is anything to worry about or not?


When the next StartTime is reached, we get a line like this:

Session state is not current; resetting FIX.4.4:<COMPIDS>

....but no

"Initiated logon request"..."Received logon" lines like we get when
application first comes up, and we don't get heartbeats, etc.


  The specific version of 1.7.0 we are using is: 1.7.0-20160115.181309-1
(which we had to grab earlier this year because that was what had the
certificate validation code in it).


Anyone else have this problem?


I tried stepping through the (decompiled) code and replicating this
scenario with our application, and in quickfix.Session, there is a check
within the next() method that checks if this.hasResponder(), and
responder is null at this point, so then it doesn't do anything with
checking state for isLogonReceived() or isLogonSendNeeded().


------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users



------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape


_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users



------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 1.7.0 - Not reconnecting the next time interval?

Sean LeBlanc
In reply to this post by Youyu Shao
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/


Much appreciation to both of you.

Also, any chance of the 1.7.0 version getting fixed? Also, I've noticed
that what is on the Maven repo for 1.7.0 is pretty old? Is there a more
current version in another repo?

I'm referring to this directory:

http://repo.marketcetera.org/maven/quickfixj/quickfixj-all/1.7.0-SNAPSHOT/


Alternatively - we switched to 1.7.0 just to get the certificate
validation feature. Would 1.6.3 have this, as well?


On 6/23/16 7:06 AM, Youyu Shao wrote:

> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
> QuickFIX/J Support: http://www.quickfixj.org/support/
>
>
> Hi Chris,
>
> Thank you very much. We are looking forward the issue to be resolved in upcoming 1.6.3.
>
> Youyu
>
> -----Original Message-----
> From: Christoph John [mailto:[hidden email]]
> Sent: Thursday, June 23, 2016 2:07 AM
> To: [hidden email]
> Subject: Re: [Quickfixj-users] 1.7.0 - Not reconnecting the next time interval?
>
> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
> QuickFIX/J Support: http://www.quickfixj.org/support/
>
>
> Hi,
>
> thanks for your analysis and fixes. Much appreciated. :) I have created aJIRA issue to track this: http://www.quickfixj.org/jira/browse/QFJ-895
>
> Cheers,
> Chris.
>
> On 23/06/16 02:35, Youyu Shao wrote:
>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
>> QuickFIX/J Support: http://www.quickfixj.org/support/
>>
>>
>> Recently we have been seriously looking into using QuickFixJ (code
>> base 1.6.2).
>> In so doing, we have discovered several problems and subsequently
>> resolved in house.
>>
>> 1. Mina would throw org.apache.mina.core.RuntimeIoException wrapping
>> java.net.SocketException at various places.
>>      For example, this happens at:
>>      org.apache.mina.core.RuntimeIoException: java.net.SocketException:
>> Invalid argument: no further information
>>       at
>> org.apache.mina.transport.socket.nio.NioSocketSession$SessionConfigImpl.setTcpNoDelay(NioSocketSession.java:208)
>>       at quickfix.mina.NetworkingOptions.apply(NetworkingOptions.java:155)
>>       at
>> quickfix.mina.AbstractIoHandler.sessionCreated(AbstractIoHandler.java:93)
>>       at
>> quickfix.mina.initiator.InitiatorIoHandler.sessionCreated(InitiatorIoHandler.java:50)
>>       .....
>>      When this happens, exceptionCaught method of AbstractIoHandler is
>> not able to properly detect there was an underlying socket IOException.
>>      AbstractIoHandler has been modified to un-wrap the exception and
>> see if along the exception chain there is an IOException.
>>
>> 2. org.apache.mina.core.session.IoSession internal state is
>> problematic. On and off,
>>      IoSession.isConnected() does not return the correct value after
>> QuickFixJ called IoSession.close() method(up on experiencing IOException).
>>      quickfix.mina.initiator.IoSessionInitiator has been refactored to
>> replace the old IoConnector with a new one upon experiencing IOException.
>>      quickfix.mina.AbstractIoHandler is adjusted accordingly to signal
>> the IoSessionInitiator to do so.
>>
>> 3. Modified the run() method of ConnectTask in IoSessionInitiator to
>> be protected by try block. This is to prevent the scheduled Task from
>>      stop running in presence of exception. (see javadoc on
>> scheduleWithFixedDelay(...) method of
>> java.util.concurrent.ScheduledExecutorService
>>      which states that "...If any execution of the task encounters an
>> exception, subsequent executions are suppressed...")
>>
>> 4. Again, org.apache.mina.core.session.IoSession internal state is
>> problematic. Even after the
>>      normal disconnect() from IoSessionResponder, on and off the
>> IoSession.isConnected() still does not return the correct value.
>>      quickfix.mina.IoSessionResponder is adjusted to signal the
>> IoSessionInitiator to replace the IoConnector. IoSessionResponderTest
>> is adjusted accordingly.
>>      
>>      
>> 5. quickfix.ThreadedSocketAcceptor leaks resources when stoped.
>>      Instead of calling stopSessionTimer() in the stop() method, it
>> should call stopInitiators().
>>      
>> Problems identified in 1, 2, 3, and 4 ultimately manifested them in
>> ways that reconnecting would stop working (forever), even absent of IOExceptions.
>>
>> With the fix, we have the QuickFixJ engine running for a week where
>> reconnecting works with no problem. During this period the
>> counterparty logged out and severed the TCP connection more than 20000
>> times. Our test also indicates that the fix works equally SSL vs non-SSL.
>>
>> Modified files are attached.
>>
>> AbstractIoHandler.java
>> <http://quickfix-j.364392.n2.nabble.com/file/n7579557/AbstractIoHandle
>> r.java>
>> IoSessionInitiator.java
>> <http://quickfix-j.364392.n2.nabble.com/file/n7579557/IoSessionInitiat
>> or.java>
>> IoSessionResponder.java
>> <http://quickfix-j.364392.n2.nabble.com/file/n7579557/IoSessionRespond
>> er.java>
>> IoSessionResponderTest.java
>> <http://quickfix-j.364392.n2.nabble.com/file/n7579557/IoSessionRespond
>> erTest.java>
>> ThreadedSocketInitiator.java
>> <http://quickfix-j.364392.n2.nabble.com/file/n7579557/ThreadedSocketIn
>> itiator.java>
>>
>>
>>
>> --
>> View this message in context:
>> http://quickfix-j.364392.n2.nabble.com/1-7-0-Not-reconnecting-the-next
>> -time-interval-tp7579547p7579557.html
>> Sent from the QuickFIX/J mailing list archive at Nabble.com.
>>
>> ----------------------------------------------------------------------
>> -------- Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T
>> Park in San Francisco, CA to explore cutting-edge tech and listen to
>> tech luminaries present their vision of the future. This family event
>> has something for everyone, including kids. Get more information and
>> register today.
>> http://sdm.link/attshape
>> _______________________________________________
>> Quickfixj-users mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/quickfixj-users
> --
> Christoph John
> Development & Support
> Direct: +49 241 557080-28
> Mailto:[hidden email]
>
>
>
> http://www.macd.com <http://www.macd.com/>
> ----------------------------------------------------------------------------------------------------
>
> ----------------------------------------------------------------------------------------------------
> MACD GmbH
> Oppenhoffallee 103
> D-52066 Aachen
> Tel: +49 241 557080-0 | Fax: +49 241 557080-10
> Amtsgericht Aachen: HRB 8151
> Ust.-Id: DE 813021663
>
> Geschäftsführer: George Macdonald
> ----------------------------------------------------------------------------------------------------
>
> ----------------------------------------------------------------------------------------------------
>
> take care of the environment - print only if necessary
>
> ------------------------------------------------------------------------------
> Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
> Francisco, CA to explore cutting-edge tech and listen to tech luminaries
> present their vision of the future. This family event has something for
> everyone, including kids. Get more information and register today.
> http://sdm.link/attshape
> _______________________________________________
> Quickfixj-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quickfixj-users
>
>
> ------------------------------------------------------------------------------
> Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
> Francisco, CA to explore cutting-edge tech and listen to tech luminaries
> present their vision of the future. This family event has something for
> everyone, including kids. Get more information and register today.
> http://sdm.link/attshape
> _______________________________________________
> Quickfixj-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quickfixj-users



------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 1.7.0 - Not reconnecting the next time interval?

Colin DuPlantis
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/


We maintain the Marketcetera repo, so we can put up a new version of the
1.7.0 SNAPSHOT, if needed.

Chris, I have it in my head that 1.7 snapshots are now in Maven Central,
am I wrong about that?

On 06/23/2016 12:53 PM, Sean LeBlanc wrote:

> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
> QuickFIX/J Support: http://www.quickfixj.org/support/
>
>
> Much appreciation to both of you.
>
> Also, any chance of the 1.7.0 version getting fixed? Also, I've noticed
> that what is on the Maven repo for 1.7.0 is pretty old? Is there a more
> current version in another repo?
>
> I'm referring to this directory:
>
> http://repo.marketcetera.org/maven/quickfixj/quickfixj-all/1.7.0-SNAPSHOT/
>
>
> Alternatively - we switched to 1.7.0 just to get the certificate
> validation feature. Would 1.6.3 have this, as well?
>
>
> On 6/23/16 7:06 AM, Youyu Shao wrote:
>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
>> QuickFIX/J Support: http://www.quickfixj.org/support/
>>
>>
>> Hi Chris,
>>
>> Thank you very much. We are looking forward the issue to be resolved in upcoming 1.6.3.
>>
>> Youyu
>>
>> -----Original Message-----
>> From: Christoph John [mailto:[hidden email]]
>> Sent: Thursday, June 23, 2016 2:07 AM
>> To: [hidden email]
>> Subject: Re: [Quickfixj-users] 1.7.0 - Not reconnecting the next time interval?
>>
>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
>> QuickFIX/J Support: http://www.quickfixj.org/support/
>>
>>
>> Hi,
>>
>> thanks for your analysis and fixes. Much appreciated. :) I have created aJIRA issue to track this: http://www.quickfixj.org/jira/browse/QFJ-895
>>
>> Cheers,
>> Chris.
>>
>> On 23/06/16 02:35, Youyu Shao wrote:
>>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
>>> QuickFIX/J Support: http://www.quickfixj.org/support/
>>>
>>>
>>> Recently we have been seriously looking into using QuickFixJ (code
>>> base 1.6.2).
>>> In so doing, we have discovered several problems and subsequently
>>> resolved in house.
>>>
>>> 1. Mina would throw org.apache.mina.core.RuntimeIoException wrapping
>>> java.net.SocketException at various places.
>>>       For example, this happens at:
>>>       org.apache.mina.core.RuntimeIoException: java.net.SocketException:
>>> Invalid argument: no further information
>>>        at
>>> org.apache.mina.transport.socket.nio.NioSocketSession$SessionConfigImpl.setTcpNoDelay(NioSocketSession.java:208)
>>>        at quickfix.mina.NetworkingOptions.apply(NetworkingOptions.java:155)
>>>        at
>>> quickfix.mina.AbstractIoHandler.sessionCreated(AbstractIoHandler.java:93)
>>>        at
>>> quickfix.mina.initiator.InitiatorIoHandler.sessionCreated(InitiatorIoHandler.java:50)
>>>        .....
>>>       When this happens, exceptionCaught method of AbstractIoHandler is
>>> not able to properly detect there was an underlying socket IOException.
>>>       AbstractIoHandler has been modified to un-wrap the exception and
>>> see if along the exception chain there is an IOException.
>>>
>>> 2. org.apache.mina.core.session.IoSession internal state is
>>> problematic. On and off,
>>>       IoSession.isConnected() does not return the correct value after
>>> QuickFixJ called IoSession.close() method(up on experiencing IOException).
>>>       quickfix.mina.initiator.IoSessionInitiator has been refactored to
>>> replace the old IoConnector with a new one upon experiencing IOException.
>>>       quickfix.mina.AbstractIoHandler is adjusted accordingly to signal
>>> the IoSessionInitiator to do so.
>>>
>>> 3. Modified the run() method of ConnectTask in IoSessionInitiator to
>>> be protected by try block. This is to prevent the scheduled Task from
>>>       stop running in presence of exception. (see javadoc on
>>> scheduleWithFixedDelay(...) method of
>>> java.util.concurrent.ScheduledExecutorService
>>>       which states that "...If any execution of the task encounters an
>>> exception, subsequent executions are suppressed...")
>>>
>>> 4. Again, org.apache.mina.core.session.IoSession internal state is
>>> problematic. Even after the
>>>       normal disconnect() from IoSessionResponder, on and off the
>>> IoSession.isConnected() still does not return the correct value.
>>>       quickfix.mina.IoSessionResponder is adjusted to signal the
>>> IoSessionInitiator to replace the IoConnector. IoSessionResponderTest
>>> is adjusted accordingly.
>>>        
>>>        
>>> 5. quickfix.ThreadedSocketAcceptor leaks resources when stoped.
>>>       Instead of calling stopSessionTimer() in the stop() method, it
>>> should call stopInitiators().
>>>        
>>> Problems identified in 1, 2, 3, and 4 ultimately manifested them in
>>> ways that reconnecting would stop working (forever), even absent of IOExceptions.
>>>
>>> With the fix, we have the QuickFixJ engine running for a week where
>>> reconnecting works with no problem. During this period the
>>> counterparty logged out and severed the TCP connection more than 20000
>>> times. Our test also indicates that the fix works equally SSL vs non-SSL.
>>>
>>> Modified files are attached.
>>>
>>> AbstractIoHandler.java
>>> <http://quickfix-j.364392.n2.nabble.com/file/n7579557/AbstractIoHandle
>>> r.java>
>>> IoSessionInitiator.java
>>> <http://quickfix-j.364392.n2.nabble.com/file/n7579557/IoSessionInitiat
>>> or.java>
>>> IoSessionResponder.java
>>> <http://quickfix-j.364392.n2.nabble.com/file/n7579557/IoSessionRespond
>>> er.java>
>>> IoSessionResponderTest.java
>>> <http://quickfix-j.364392.n2.nabble.com/file/n7579557/IoSessionRespond
>>> erTest.java>
>>> ThreadedSocketInitiator.java
>>> <http://quickfix-j.364392.n2.nabble.com/file/n7579557/ThreadedSocketIn
>>> itiator.java>
>>>
>>>
>>>
>>> --
>>> View this message in context:
>>> http://quickfix-j.364392.n2.nabble.com/1-7-0-Not-reconnecting-the-next
>>> -time-interval-tp7579547p7579557.html
>>> Sent from the QuickFIX/J mailing list archive at Nabble.com.
>>>
>>> ----------------------------------------------------------------------
>>> -------- Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T
>>> Park in San Francisco, CA to explore cutting-edge tech and listen to
>>> tech luminaries present their vision of the future. This family event
>>> has something for everyone, including kids. Get more information and
>>> register today.
>>> http://sdm.link/attshape
>>> _______________________________________________
>>> Quickfixj-users mailing list
>>> [hidden email]
>>> https://lists.sourceforge.net/lists/listinfo/quickfixj-users
>> --
>> Christoph John
>> Development & Support
>> Direct: +49 241 557080-28
>> Mailto:[hidden email]
>>
>>
>>
>> http://www.macd.com <http://www.macd.com/>
>> ----------------------------------------------------------------------------------------------------
>>
>> ----------------------------------------------------------------------------------------------------
>> MACD GmbH
>> Oppenhoffallee 103
>> D-52066 Aachen
>> Tel: +49 241 557080-0 | Fax: +49 241 557080-10
>> Amtsgericht Aachen: HRB 8151
>> Ust.-Id: DE 813021663
>>
>> Geschäftsführer: George Macdonald
>> ----------------------------------------------------------------------------------------------------
>>
>> ----------------------------------------------------------------------------------------------------
>>
>> take care of the environment - print only if necessary
>>
>> ------------------------------------------------------------------------------
>> Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
>> Francisco, CA to explore cutting-edge tech and listen to tech luminaries
>> present their vision of the future. This family event has something for
>> everyone, including kids. Get more information and register today.
>> http://sdm.link/attshape
>> _______________________________________________
>> Quickfixj-users mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/quickfixj-users
>>
>>
>> ------------------------------------------------------------------------------
>> Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
>> Francisco, CA to explore cutting-edge tech and listen to tech luminaries
>> present their vision of the future. This family event has something for
>> everyone, including kids. Get more information and register today.
>> http://sdm.link/attshape
>> _______________________________________________
>> Quickfixj-users mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/quickfixj-users
>
>
> ------------------------------------------------------------------------------
> Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
> Francisco, CA to explore cutting-edge tech and listen to tech luminaries
> present their vision of the future. This family event has something for
> everyone, including kids. Get more information and register today.
> http://sdm.link/attshape
> _______________________________________________
> Quickfixj-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quickfixj-users

--
Colin DuPlantis
Chief Architect, Marketcetera
Download, Run, Trade
888.868.4884 +1.541.306.6556
http://www.marketcetera.org


------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 1.7.0 - Not reconnecting the next time interval?

Christoph John
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/


Hi guys,

SNAPSHOTs are here:
https://oss.sonatype.org/content/repositories/snapshots/org/quickfixj/quickfixj-distribution/1.7.0-SNAPSHOT/

@Sean: I have not yet looked into the effort to merge the SSL validation feature down to 1.6.3.
I have just merged the PRto fix the problem (thanks to Youyu and Guido) on 1.7.0-SNAPSHOT. So you
should be able to get the current snapshot in half an hour or so.

Cheers,
Chris.


On 23/06/16 21:58, Colin DuPlantis wrote:

> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
> QuickFIX/J Support: http://www.quickfixj.org/support/
>
>
> We maintain the Marketcetera repo, so we can put up a new version of the
> 1.7.0 SNAPSHOT, if needed.
>
> Chris, I have it in my head that 1.7 snapshots are now in Maven Central,
> am I wrong about that?
>
> On 06/23/2016 12:53 PM, Sean LeBlanc wrote:
>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
>> QuickFIX/J Support: http://www.quickfixj.org/support/
>>
>>
>> Much appreciation to both of you.
>>
>> Also, any chance of the 1.7.0 version getting fixed? Also, I've noticed
>> that what is on the Maven repo for 1.7.0 is pretty old? Is there a more
>> current version in another repo?
>>
>> I'm referring to this directory:
>>
>> http://repo.marketcetera.org/maven/quickfixj/quickfixj-all/1.7.0-SNAPSHOT/
>>
>>
>> Alternatively - we switched to 1.7.0 just to get the certificate
>> validation feature. Would 1.6.3 have this, as well?
>>
>>
>> On 6/23/16 7:06 AM, Youyu Shao wrote:
>>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
>>> QuickFIX/J Support: http://www.quickfixj.org/support/
>>>
>>>
>>> Hi Chris,
>>>
>>> Thank you very much. We are looking forward the issue to be resolved in upcoming 1.6.3.
>>>
>>> Youyu
>>>
>>> -----Original Message-----
>>> From: Christoph John [mailto:[hidden email]]
>>> Sent: Thursday, June 23, 2016 2:07 AM
>>> To: [hidden email]
>>> Subject: Re: [Quickfixj-users] 1.7.0 - Not reconnecting the next time interval?
>>>
>>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
>>> QuickFIX/J Support: http://www.quickfixj.org/support/
>>>
>>>
>>> Hi,
>>>
>>> thanks for your analysis and fixes. Much appreciated. :) I have created aJIRA issue to track this: http://www.quickfixj.org/jira/browse/QFJ-895
>>>
>>> Cheers,
>>> Chris.
>>>
>>> On 23/06/16 02:35, Youyu Shao wrote:
>>>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
>>>> QuickFIX/J Support: http://www.quickfixj.org/support/
>>>>
>>>>
>>>> Recently we have been seriously looking into using QuickFixJ (code
>>>> base 1.6.2).
>>>> In so doing, we have discovered several problems and subsequently
>>>> resolved in house.
>>>>
>>>> 1. Mina would throw org.apache.mina.core.RuntimeIoException wrapping
>>>> java.net.SocketException at various places.
>>>>        For example, this happens at:
>>>>        org.apache.mina.core.RuntimeIoException: java.net.SocketException:
>>>> Invalid argument: no further information
>>>>         at
>>>> org.apache.mina.transport.socket.nio.NioSocketSession$SessionConfigImpl.setTcpNoDelay(NioSocketSession.java:208)
>>>>         at quickfix.mina.NetworkingOptions.apply(NetworkingOptions.java:155)
>>>>         at
>>>> quickfix.mina.AbstractIoHandler.sessionCreated(AbstractIoHandler.java:93)
>>>>         at
>>>> quickfix.mina.initiator.InitiatorIoHandler.sessionCreated(InitiatorIoHandler.java:50)
>>>>         .....
>>>>        When this happens, exceptionCaught method of AbstractIoHandler is
>>>> not able to properly detect there was an underlying socket IOException.
>>>>        AbstractIoHandler has been modified to un-wrap the exception and
>>>> see if along the exception chain there is an IOException.
>>>>
>>>> 2. org.apache.mina.core.session.IoSession internal state is
>>>> problematic. On and off,
>>>>        IoSession.isConnected() does not return the correct value after
>>>> QuickFixJ called IoSession.close() method(up on experiencing IOException).
>>>>        quickfix.mina.initiator.IoSessionInitiator has been refactored to
>>>> replace the old IoConnector with a new one upon experiencing IOException.
>>>>        quickfix.mina.AbstractIoHandler is adjusted accordingly to signal
>>>> the IoSessionInitiator to do so.
>>>>
>>>> 3. Modified the run() method of ConnectTask in IoSessionInitiator to
>>>> be protected by try block. This is to prevent the scheduled Task from
>>>>        stop running in presence of exception. (see javadoc on
>>>> scheduleWithFixedDelay(...) method of
>>>> java.util.concurrent.ScheduledExecutorService
>>>>        which states that "...If any execution of the task encounters an
>>>> exception, subsequent executions are suppressed...")
>>>>
>>>> 4. Again, org.apache.mina.core.session.IoSession internal state is
>>>> problematic. Even after the
>>>>        normal disconnect() from IoSessionResponder, on and off the
>>>> IoSession.isConnected() still does not return the correct value.
>>>>        quickfix.mina.IoSessionResponder is adjusted to signal the
>>>> IoSessionInitiator to replace the IoConnector. IoSessionResponderTest
>>>> is adjusted accordingly.
>>>>        
>>>>        
>>>> 5. quickfix.ThreadedSocketAcceptor leaks resources when stoped.
>>>>        Instead of calling stopSessionTimer() in the stop() method, it
>>>> should call stopInitiators().
>>>>        
>>>> Problems identified in 1, 2, 3, and 4 ultimately manifested them in
>>>> ways that reconnecting would stop working (forever), even absent of IOExceptions.
>>>>
>>>> With the fix, we have the QuickFixJ engine running for a week where
>>>> reconnecting works with no problem. During this period the
>>>> counterparty logged out and severed the TCP connection more than 20000
>>>> times. Our test also indicates that the fix works equally SSL vs non-SSL.
>>>>
>>>> Modified files are attached.
>>>>
>>>> AbstractIoHandler.java
>>>> <http://quickfix-j.364392.n2.nabble.com/file/n7579557/AbstractIoHandle
>>>> r.java>
>>>> IoSessionInitiator.java
>>>> <http://quickfix-j.364392.n2.nabble.com/file/n7579557/IoSessionInitiat
>>>> or.java>
>>>> IoSessionResponder.java
>>>> <http://quickfix-j.364392.n2.nabble.com/file/n7579557/IoSessionRespond
>>>> er.java>
>>>> IoSessionResponderTest.java
>>>> <http://quickfix-j.364392.n2.nabble.com/file/n7579557/IoSessionRespond
>>>> erTest.java>
>>>> ThreadedSocketInitiator.java
>>>> <http://quickfix-j.364392.n2.nabble.com/file/n7579557/ThreadedSocketIn
>>>> itiator.java>
>>>>
>>>>
>>>>
>>>> --
>>>> View this message in context:
>>>> http://quickfix-j.364392.n2.nabble.com/1-7-0-Not-reconnecting-the-next
>>>> -time-interval-tp7579547p7579557.html
>>>> Sent from the QuickFIX/J mailing list archive at Nabble.com.
>>>>
>>>> ----------------------------------------------------------------------
>>>> -------- Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T
>>>> Park in San Francisco, CA to explore cutting-edge tech and listen to
>>>> tech luminaries present their vision of the future. This family event
>>>> has something for everyone, including kids. Get more information and
>>>> register today.
>>>> http://sdm.link/attshape
>>>> _______________________________________________
>>>> Quickfixj-users mailing list
>>>> [hidden email]
>>>> https://lists.sourceforge.net/lists/listinfo/quickfixj-users
>>> --
>>> Christoph John
>>> Development & Support
>>> Direct: +49 241 557080-28
>>> Mailto:[hidden email]
>>>
>>>
>>>
>>> http://www.macd.com <http://www.macd.com/>
>>> ----------------------------------------------------------------------------------------------------
>>>
>>> ----------------------------------------------------------------------------------------------------
>>> MACD GmbH
>>> Oppenhoffallee 103
>>> D-52066 Aachen
>>> Tel: +49 241 557080-0 | Fax: +49 241 557080-10
>>> Amtsgericht Aachen: HRB 8151
>>> Ust.-Id: DE 813021663
>>>
>>> Geschäftsführer: George Macdonald
>>> ----------------------------------------------------------------------------------------------------
>>>
>>> ----------------------------------------------------------------------------------------------------
>>>
>>> take care of the environment - print only if necessary
>>>
>>> ------------------------------------------------------------------------------
>>> Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
>>> Francisco, CA to explore cutting-edge tech and listen to tech luminaries
>>> present their vision of the future. This family event has something for
>>> everyone, including kids. Get more information and register today.
>>> http://sdm.link/attshape
>>> _______________________________________________
>>> Quickfixj-users mailing list
>>> [hidden email]
>>> https://lists.sourceforge.net/lists/listinfo/quickfixj-users
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
>>> Francisco, CA to explore cutting-edge tech and listen to tech luminaries
>>> present their vision of the future. This family event has something for
>>> everyone, including kids. Get more information and register today.
>>> http://sdm.link/attshape
>>> _______________________________________________
>>> Quickfixj-users mailing list
>>> [hidden email]
>>> https://lists.sourceforge.net/lists/listinfo/quickfixj-users
>>
>> ------------------------------------------------------------------------------
>> Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
>> Francisco, CA to explore cutting-edge tech and listen to tech luminaries
>> present their vision of the future. This family event has something for
>> everyone, including kids. Get more information and register today.
>> http://sdm.link/attshape
>> _______________________________________________
>> Quickfixj-users mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/quickfixj-users

--
Christoph John
Development & Support
Direct: +49 241 557080-28
Mailto:[hidden email]
       


http://www.macd.com <http://www.macd.com/>
----------------------------------------------------------------------------------------------------
       
----------------------------------------------------------------------------------------------------
MACD GmbH
Oppenhoffallee 103
D-52066 Aachen
Tel: +49 241 557080-0 | Fax: +49 241 557080-10
         Amtsgericht Aachen: HRB 8151
Ust.-Id: DE 813021663

Geschäftsführer: George Macdonald
----------------------------------------------------------------------------------------------------
       
----------------------------------------------------------------------------------------------------

take care of the environment - print only if necessary

------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 1.7.0 - Not reconnecting the next time interval?

Christoph John
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/


Hi Sean,

I have now merged the PRs affecting the certificate validation feature to 1.6.3-SNAPSHOT. Moreover,
the fixes for the reconnection issue have also been merged.

Normally, you could download the snapshot from here:
https://oss.sonatype.org/content/repositories/snapshots/org/quickfixj/quickfixj-distribution/1.6.3-SNAPSHOT/
But the 1.6.x build job on the build server currently has a problem. Maybe you could simply pull
down the code from github and compile it by yourself.
https://github.com/quickfix-j/quickfixj/tree/QFJ_1_6_x

Cheers,
Chris.


On 24/06/16 09:55, Christoph John wrote:

> Hi guys,
>
> SNAPSHOTs are here:
> https://oss.sonatype.org/content/repositories/snapshots/org/quickfixj/quickfixj-distribution/1.7.0-SNAPSHOT/
>
> @Sean: I have not yet looked into the effort to merge the SSL validation feature down to 1.6.3.
> I have just merged the PRto fix the problem (thanks to Youyu and Guido) on 1.7.0-SNAPSHOT. So you
> should be able to get the current snapshot in half an hour or so.
>
> Cheers,
> Chris.
>
>
> On 23/06/16 21:58, Colin DuPlantis wrote:
>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
>> QuickFIX/J Support: http://www.quickfixj.org/support/
>>
>>
>> We maintain the Marketcetera repo, so we can put up a new version of the
>> 1.7.0 SNAPSHOT, if needed.
>>
>> Chris, I have it in my head that 1.7 snapshots are now in Maven Central,
>> am I wrong about that?
>>
>> On 06/23/2016 12:53 PM, Sean LeBlanc wrote:
>>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
>>> QuickFIX/J Support: http://www.quickfixj.org/support/
>>>
>>>
>>> Much appreciation to both of you.
>>>
>>> Also, any chance of the 1.7.0 version getting fixed? Also, I've noticed
>>> that what is on the Maven repo for 1.7.0 is pretty old? Is there a more
>>> current version in another repo?
>>>
>>> I'm referring to this directory:
>>>
>>> http://repo.marketcetera.org/maven/quickfixj/quickfixj-all/1.7.0-SNAPSHOT/
>>>
>>>
>>> Alternatively - we switched to 1.7.0 just to get the certificate
>>> validation feature. Would 1.6.3 have this, as well?
>>>
>>>
>>> On 6/23/16 7:06 AM, Youyu Shao wrote:
>>>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
>>>> QuickFIX/J Support: http://www.quickfixj.org/support/
>>>>
>>>>
>>>> Hi Chris,
>>>>
>>>> Thank you very much. We are looking forward the issue to be resolved in upcoming 1.6.3.
>>>>
>>>> Youyu
>>>>
>>>> -----Original Message-----
>>>> From: Christoph John [mailto:[hidden email]]
>>>> Sent: Thursday, June 23, 2016 2:07 AM
>>>> To: [hidden email]
>>>> Subject: Re: [Quickfixj-users] 1.7.0 - Not reconnecting the next time interval?
>>>>
>>>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
>>>> QuickFIX/J Support: http://www.quickfixj.org/support/
>>>>
>>>>
>>>> Hi,
>>>>
>>>> thanks for your analysis and fixes. Much appreciated. :) I have created aJIRA issue to track
>>>> this: http://www.quickfixj.org/jira/browse/QFJ-895
>>>>
>>>> Cheers,
>>>> Chris.
>>>>
>>>> On 23/06/16 02:35, Youyu Shao wrote:
>>>>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
>>>>> QuickFIX/J Support: http://www.quickfixj.org/support/
>>>>>
>>>>>
>>>>> Recently we have been seriously looking into using QuickFixJ (code
>>>>> base 1.6.2).
>>>>> In so doing, we have discovered several problems and subsequently
>>>>> resolved in house.
>>>>>
>>>>> 1. Mina would throw org.apache.mina.core.RuntimeIoException wrapping
>>>>> java.net.SocketException at various places.
>>>>>        For example, this happens at:
>>>>>        org.apache.mina.core.RuntimeIoException: java.net.SocketException:
>>>>> Invalid argument: no further information
>>>>>         at
>>>>> org.apache.mina.transport.socket.nio.NioSocketSession$SessionConfigImpl.setTcpNoDelay(NioSocketSession.java:208)
>>>>>
>>>>>         at quickfix.mina.NetworkingOptions.apply(NetworkingOptions.java:155)
>>>>>         at
>>>>> quickfix.mina.AbstractIoHandler.sessionCreated(AbstractIoHandler.java:93)
>>>>>         at
>>>>> quickfix.mina.initiator.InitiatorIoHandler.sessionCreated(InitiatorIoHandler.java:50)
>>>>>         .....
>>>>>        When this happens, exceptionCaught method of AbstractIoHandler is
>>>>> not able to properly detect there was an underlying socket IOException.
>>>>>        AbstractIoHandler has been modified to un-wrap the exception and
>>>>> see if along the exception chain there is an IOException.
>>>>>
>>>>> 2. org.apache.mina.core.session.IoSession internal state is
>>>>> problematic. On and off,
>>>>>        IoSession.isConnected() does not return the correct value after
>>>>> QuickFixJ called IoSession.close() method(up on experiencing IOException).
>>>>>        quickfix.mina.initiator.IoSessionInitiator has been refactored to
>>>>> replace the old IoConnector with a new one upon experiencing IOException.
>>>>>        quickfix.mina.AbstractIoHandler is adjusted accordingly to signal
>>>>> the IoSessionInitiator to do so.
>>>>>
>>>>> 3. Modified the run() method of ConnectTask in IoSessionInitiator to
>>>>> be protected by try block. This is to prevent the scheduled Task from
>>>>>        stop running in presence of exception. (see javadoc on
>>>>> scheduleWithFixedDelay(...) method of
>>>>> java.util.concurrent.ScheduledExecutorService
>>>>>        which states that "...If any execution of the task encounters an
>>>>> exception, subsequent executions are suppressed...")
>>>>>
>>>>> 4. Again, org.apache.mina.core.session.IoSession internal state is
>>>>> problematic. Even after the
>>>>>        normal disconnect() from IoSessionResponder, on and off the
>>>>> IoSession.isConnected() still does not return the correct value.
>>>>>        quickfix.mina.IoSessionResponder is adjusted to signal the
>>>>> IoSessionInitiator to replace the IoConnector. IoSessionResponderTest
>>>>> is adjusted accordingly.
>>>>>                 5. quickfix.ThreadedSocketAcceptor leaks resources when stoped.
>>>>>        Instead of calling stopSessionTimer() in the stop() method, it
>>>>> should call stopInitiators().
>>>>>         Problems identified in 1, 2, 3, and 4 ultimately manifested them in
>>>>> ways that reconnecting would stop working (forever), even absent of IOExceptions.
>>>>>
>>>>> With the fix, we have the QuickFixJ engine running for a week where
>>>>> reconnecting works with no problem. During this period the
>>>>> counterparty logged out and severed the TCP connection more than 20000
>>>>> times. Our test also indicates that the fix works equally SSL vs non-SSL.
>>>>>
>>>>> Modified files are attached.
>>>>>
>>>>> AbstractIoHandler.java
>>>>> <http://quickfix-j.364392.n2.nabble.com/file/n7579557/AbstractIoHandle
>>>>> r.java>
>>>>> IoSessionInitiator.java
>>>>> <http://quickfix-j.364392.n2.nabble.com/file/n7579557/IoSessionInitiat
>>>>> or.java>
>>>>> IoSessionResponder.java
>>>>> <http://quickfix-j.364392.n2.nabble.com/file/n7579557/IoSessionRespond
>>>>> er.java>
>>>>> IoSessionResponderTest.java
>>>>> <http://quickfix-j.364392.n2.nabble.com/file/n7579557/IoSessionRespond
>>>>> erTest.java>
>>>>> ThreadedSocketInitiator.java
>>>>> <http://quickfix-j.364392.n2.nabble.com/file/n7579557/ThreadedSocketIn
>>>>> itiator.java>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> View this message in context:
>>>>> http://quickfix-j.364392.n2.nabble.com/1-7-0-Not-reconnecting-the-next
>>>>> -time-interval-tp7579547p7579557.html
>>>>> Sent from the QuickFIX/J mailing list archive at Nabble.com.
>>>>>
>>>>> ----------------------------------------------------------------------
>>>>> -------- Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T
>>>>> Park in San Francisco, CA to explore cutting-edge tech and listen to
>>>>> tech luminaries present their vision of the future. This family event
>>>>> has something for everyone, including kids. Get more information and
>>>>> register today.
>>>>> http://sdm.link/attshape
>>>>> _______________________________________________
>>>>> Quickfixj-users mailing list
>>>>> [hidden email]
>>>>> https://lists.sourceforge.net/lists/listinfo/quickfixj-users
>>>> --
>>>> Christoph John
>>>> Development & Support
>>>> Direct: +49 241 557080-28
>>>> Mailto:[hidden email]
>>>>
>>>>
>>>>
>>>> http://www.macd.com <http://www.macd.com/>
>>>> ----------------------------------------------------------------------------------------------------
>>>>
>>>>
>>>> ----------------------------------------------------------------------------------------------------
>>>>
>>>> MACD GmbH
>>>> Oppenhoffallee 103
>>>> D-52066 Aachen
>>>> Tel: +49 241 557080-0 | Fax: +49 241 557080-10
>>>>      Amtsgericht Aachen: HRB 8151
>>>> Ust.-Id: DE 813021663
>>>>
>>>> Geschäftsführer: George Macdonald
>>>> ----------------------------------------------------------------------------------------------------
>>>>
>>>>
>>>> ----------------------------------------------------------------------------------------------------
>>>>
>>>>
>>>> take care of the environment - print only if necessary
>>>>
>>>> ------------------------------------------------------------------------------
>>>> Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
>>>> Francisco, CA to explore cutting-edge tech and listen to tech luminaries
>>>> present their vision of the future. This family event has something for
>>>> everyone, including kids. Get more information and register today.
>>>> http://sdm.link/attshape
>>>> _______________________________________________
>>>> Quickfixj-users mailing list
>>>> [hidden email]
>>>> https://lists.sourceforge.net/lists/listinfo/quickfixj-users
>>>>
>>>>
>>>> ------------------------------------------------------------------------------
>>>> Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
>>>> Francisco, CA to explore cutting-edge tech and listen to tech luminaries
>>>> present their vision of the future. This family event has something for
>>>> everyone, including kids. Get more information and register today.
>>>> http://sdm.link/attshape
>>>> _______________________________________________
>>>> Quickfixj-users mailing list
>>>> [hidden email]
>>>> https://lists.sourceforge.net/lists/listinfo/quickfixj-users
>>>
>>> ------------------------------------------------------------------------------
>>> Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
>>> Francisco, CA to explore cutting-edge tech and listen to tech luminaries
>>> present their vision of the future. This family event has something for
>>> everyone, including kids. Get more information and register today.
>>> http://sdm.link/attshape
>>> _______________________________________________
>>> Quickfixj-users mailing list
>>> [hidden email]
>>> https://lists.sourceforge.net/lists/listinfo/quickfixj-users
>

--
Christoph John
Development & Support
Direct: +49 241 557080-28
Mailto:[hidden email]
       


http://www.macd.com <http://www.macd.com/>
----------------------------------------------------------------------------------------------------
       
----------------------------------------------------------------------------------------------------
MACD GmbH
Oppenhoffallee 103
D-52066 Aachen
Tel: +49 241 557080-0 | Fax: +49 241 557080-10
         Amtsgericht Aachen: HRB 8151
Ust.-Id: DE 813021663

Geschäftsführer: George Macdonald
----------------------------------------------------------------------------------------------------
       
----------------------------------------------------------------------------------------------------

take care of the environment - print only if necessary

------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 1.7.0 - Not reconnecting the next time interval?

Christoph John
In reply to this post by Youyu Shao
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/



Hi Youyu,

your changes were now merged into the 1.6.3-SNAPSHOT and will be part of the next release (hopefully coming soon ;)).
https://github.com/quickfix-j/quickfixj/tree/QFJ_1_6_x

Thanks again and cheers,
Chris.


On 23/06/16 15:06, Youyu Shao wrote:
Hi Chris,

Thank you very much. We are looking forward the issue to be resolved in upcoming 1.6.3.

Youyu

-----Original Message-----
From: Christoph John [[hidden email]] 
Sent: Thursday, June 23, 2016 2:07 AM
To: [hidden email]
Subject: Re: [Quickfixj-users] 1.7.0 - Not reconnecting the next time interval?

QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/


Hi,

thanks for your analysis and fixes. Much appreciated. :) I have created aJIRA issue to track this: http://www.quickfixj.org/jira/browse/QFJ-895

Cheers,
Chris.

On 23/06/16 02:35, Youyu Shao wrote:
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/


Recently we have been seriously looking into using QuickFixJ (code 
base 1.6.2).
In so doing, we have discovered several problems and subsequently 
resolved in house.

1. Mina would throw org.apache.mina.core.RuntimeIoException wrapping 
java.net.SocketException at various places.
    For example, this happens at:
    org.apache.mina.core.RuntimeIoException: java.net.SocketException:
Invalid argument: no further information
     at
org.apache.mina.transport.socket.nio.NioSocketSession$SessionConfigImpl.setTcpNoDelay(NioSocketSession.java:208)
     at quickfix.mina.NetworkingOptions.apply(NetworkingOptions.java:155)
     at
quickfix.mina.AbstractIoHandler.sessionCreated(AbstractIoHandler.java:93)
     at
quickfix.mina.initiator.InitiatorIoHandler.sessionCreated(InitiatorIoHandler.java:50)
     .....
    When this happens, exceptionCaught method of AbstractIoHandler is 
not able to properly detect there was an underlying socket IOException.
    AbstractIoHandler has been modified to un-wrap the exception and 
see if along the exception chain there is an IOException.

2. org.apache.mina.core.session.IoSession internal state is 
problematic. On and off,
    IoSession.isConnected() does not return the correct value after 
QuickFixJ called IoSession.close() method(up on experiencing IOException).
    quickfix.mina.initiator.IoSessionInitiator has been refactored to 
replace the old IoConnector with a new one upon experiencing IOException.
    quickfix.mina.AbstractIoHandler is adjusted accordingly to signal 
the IoSessionInitiator to do so.

3. Modified the run() method of ConnectTask in IoSessionInitiator to 
be protected by try block. This is to prevent the scheduled Task from
    stop running in presence of exception. (see javadoc on
scheduleWithFixedDelay(...) method of
java.util.concurrent.ScheduledExecutorService
    which states that "...If any execution of the task encounters an 
exception, subsequent executions are suppressed...")

4. Again, org.apache.mina.core.session.IoSession internal state is 
problematic. Even after the
    normal disconnect() from IoSessionResponder, on and off the
IoSession.isConnected() still does not return the correct value.
    quickfix.mina.IoSessionResponder is adjusted to signal the 
IoSessionInitiator to replace the IoConnector. IoSessionResponderTest 
is adjusted accordingly.
     
     
5. quickfix.ThreadedSocketAcceptor leaks resources when stoped.
    Instead of calling stopSessionTimer() in the stop() method, it 
should call stopInitiators().
     
Problems identified in 1, 2, 3, and 4 ultimately manifested them in 
ways that reconnecting would stop working (forever), even absent of IOExceptions.

With the fix, we have the QuickFixJ engine running for a week where 
reconnecting works with no problem. During this period the 
counterparty logged out and severed the TCP connection more than 20000 
times. Our test also indicates that the fix works equally SSL vs non-SSL.

Modified files are attached.

AbstractIoHandler.java
<http://quickfix-j.364392.n2.nabble.com/file/n7579557/AbstractIoHandle
r.java>
IoSessionInitiator.java
<http://quickfix-j.364392.n2.nabble.com/file/n7579557/IoSessionInitiat
or.java>
IoSessionResponder.java
<http://quickfix-j.364392.n2.nabble.com/file/n7579557/IoSessionRespond
er.java>
IoSessionResponderTest.java
<http://quickfix-j.364392.n2.nabble.com/file/n7579557/IoSessionRespond
erTest.java>
ThreadedSocketInitiator.java
<http://quickfix-j.364392.n2.nabble.com/file/n7579557/ThreadedSocketIn
itiator.java>



--
View this message in context: 
http://quickfix-j.364392.n2.nabble.com/1-7-0-Not-reconnecting-the-next
-time-interval-tp7579547p7579557.html
Sent from the QuickFIX/J mailing list archive at Nabble.com.

----------------------------------------------------------------------
-------- Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T 
Park in San Francisco, CA to explore cutting-edge tech and listen to 
tech luminaries present their vision of the future. This family event 
has something for everyone, including kids. Get more information and 
register today.
http://sdm.link/attshape
_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users
--
Christoph John
Development & Support
Direct: +49 241 557080-28
Mailto:Christoph.John@...
	


http://www.macd.com <http://www.macd.com/>
----------------------------------------------------------------------------------------------------
	
----------------------------------------------------------------------------------------------------
MACD GmbH
Oppenhoffallee 103
D-52066 Aachen
Tel: +49 241 557080-0 | Fax: +49 241 557080-10
	 Amtsgericht Aachen: HRB 8151
Ust.-Id: DE 813021663

Geschäftsführer: George Macdonald
----------------------------------------------------------------------------------------------------
	
----------------------------------------------------------------------------------------------------

take care of the environment - print only if necessary

------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users


--
Christoph John
Development & Support
Direct: +49 241 557080-28
Mailto:Christoph.John@...



http://www.macd.com


MACD GmbH
Oppenhoffallee 103
D-52066 Aachen
Tel: +49 241 557080-0 | Fax: +49 241 557080-10
 Amtsgericht Aachen: HRB 8151
Ust.-Id: DE 813021663

Geschäftsführer: George Macdonald


take care of the environment - print only if necessary

------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 1.7.0 - Not reconnecting the next time interval?

Youyu Shao
Hi Chris,

Thank you very much. We are looking forward the official release of QFJ-1.6.3

Youyu
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 1.7.0 - Not reconnecting the next time interval?

Sean LeBlanc
In reply to this post by Christoph John
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/


Thanks again. For now, we took the path of least resistance and went
with 1.7.0 since we were already on that path.

However, in case anyone else runs into this: one thing that did happen
at run-time, though, was this (see below). I had to give Java (in this
case, it's 1.8 update 40) the -noverify flag in order for startup to work?


Any ideas on why?

java.lang.VerifyError: Inconsistent stackmap frames at branch target 1906
Exception Details:
   Location:
quickfix/fix44/MessageFactory.create(Ljava/lang/String;Ljava/lang/String;I)Lquickfix/Group;
@1906: iload
   Reason:
     Type top (current frame, locals[6]) is not assignable to integer
(stack map, locals[6])
   Current Frame:
     bci: @31
     flags: { }
     locals: { 'quickfix/fix44/MessageFactory', 'java/lang/String',
'java/lang/String', integer, 'java/lang/String', integer, top, top, top,
integer, long, long_2nd }
     stack: { integer }
   Stackmap Frame:
     bci: @1906
     flags: { }
     locals: { 'quickfix/fix44/MessageFactory', 'java/lang/String',
'java/lang/String', integer, 'java/lang/String', integer, integer, long,
long_2nd, integer, long, long_2nd }
     stack: { }
   Bytecode:
     0x0000000: 02c4 3600 0913 0b22 140b 23b8 09f9 c437
     0x0000010: 000a 0000 2c3a 0402 3605 1904 b600 02ab
     0x0000020: 0000 0753 0000 004b 0000 0036 0000 0281
....


On 6/24/16 7:44 AM, Christoph John wrote:

> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
> QuickFIX/J Support: http://www.quickfixj.org/support/
>
>
> Hi Sean,
>
> I have now merged the PRs affecting the certificate validation feature to 1.6.3-SNAPSHOT. Moreover,
> the fixes for the reconnection issue have also been merged.
>
> Normally, you could download the snapshot from here:
> https://oss.sonatype.org/content/repositories/snapshots/org/quickfixj/quickfixj-distribution/1.6.3-SNAPSHOT/
> But the 1.6.x build job on the build server currently has a problem. Maybe you could simply pull
> down the code from github and compile it by yourself.
> https://github.com/quickfix-j/quickfixj/tree/QFJ_1_6_x
>
> Cheers,
> Chris.
>
>
> On 24/06/16 09:55, Christoph John wrote:
>> Hi guys,
>>
>> SNAPSHOTs are here:
>> https://oss.sonatype.org/content/repositories/snapshots/org/quickfixj/quickfixj-distribution/1.7.0-SNAPSHOT/
>>
>> @Sean: I have not yet looked into the effort to merge the SSL validation feature down to 1.6.3.
>> I have just merged the PRto fix the problem (thanks to Youyu and Guido) on 1.7.0-SNAPSHOT. So you
>> should be able to get the current snapshot in half an hour or so.
>>
>> Cheers,
>> Chris.
>>
>>
>> On 23/06/16 21:58, Colin DuPlantis wrote:
>>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
>>> QuickFIX/J Support: http://www.quickfixj.org/support/
>>>
>>>
>>> We maintain the Marketcetera repo, so we can put up a new version of the
>>> 1.7.0 SNAPSHOT, if needed.
>>>
>>> Chris, I have it in my head that 1.7 snapshots are now in Maven Central,
>>> am I wrong about that?
>>>
>>> On 06/23/2016 12:53 PM, Sean LeBlanc wrote:
>>>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
>>>> QuickFIX/J Support: http://www.quickfixj.org/support/
>>>>
>>>>
>>>> Much appreciation to both of you.
>>>>
>>>> Also, any chance of the 1.7.0 version getting fixed? Also, I've noticed
>>>> that what is on the Maven repo for 1.7.0 is pretty old? Is there a more
>>>> current version in another repo?
>>>>
>>>> I'm referring to this directory:
>>>>
>>>> http://repo.marketcetera.org/maven/quickfixj/quickfixj-all/1.7.0-SNAPSHOT/
>>>>
>>>>
>>>> Alternatively - we switched to 1.7.0 just to get the certificate
>>>> validation feature. Would 1.6.3 have this, as well?
>>>>
>>>>
>>>> On 6/23/16 7:06 AM, Youyu Shao wrote:
>>>>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
>>>>> QuickFIX/J Support: http://www.quickfixj.org/support/
>>>>>
>>>>>
>>>>> Hi Chris,
>>>>>
>>>>> Thank you very much. We are looking forward the issue to be resolved in upcoming 1.6.3.
>>>>>
>>>>> Youyu
>>>>>
>>>>> -----Original Message-----
>>>>> From: Christoph John [mailto:[hidden email]]
>>>>> Sent: Thursday, June 23, 2016 2:07 AM
>>>>> To: [hidden email]
>>>>> Subject: Re: [Quickfixj-users] 1.7.0 - Not reconnecting the next time interval?
>>>>>
>>>>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
>>>>> QuickFIX/J Support: http://www.quickfixj.org/support/
>>>>>
>>>>>
>>>>> Hi,
>>>>>
>>>>> thanks for your analysis and fixes. Much appreciated. :) I have created aJIRA issue to track
>>>>> this: http://www.quickfixj.org/jira/browse/QFJ-895
>>>>>
>>>>> Cheers,
>>>>> Chris.
>>>>>
>>>>> On 23/06/16 02:35, Youyu Shao wrote:
>>>>>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
>>>>>> QuickFIX/J Support: http://www.quickfixj.org/support/
>>>>>>
>>>>>>
>>>>>> Recently we have been seriously looking into using QuickFixJ (code
>>>>>> base 1.6.2).
>>>>>> In so doing, we have discovered several problems and subsequently
>>>>>> resolved in house.
>>>>>>
>>>>>> 1. Mina would throw org.apache.mina.core.RuntimeIoException wrapping
>>>>>> java.net.SocketException at various places.
>>>>>>         For example, this happens at:
>>>>>>         org.apache.mina.core.RuntimeIoException: java.net.SocketException:
>>>>>> Invalid argument: no further information
>>>>>>          at
>>>>>> org.apache.mina.transport.socket.nio.NioSocketSession$SessionConfigImpl.setTcpNoDelay(NioSocketSession.java:208)
>>>>>>
>>>>>>          at quickfix.mina.NetworkingOptions.apply(NetworkingOptions.java:155)
>>>>>>          at
>>>>>> quickfix.mina.AbstractIoHandler.sessionCreated(AbstractIoHandler.java:93)
>>>>>>          at
>>>>>> quickfix.mina.initiator.InitiatorIoHandler.sessionCreated(InitiatorIoHandler.java:50)
>>>>>>          .....
>>>>>>         When this happens, exceptionCaught method of AbstractIoHandler is
>>>>>> not able to properly detect there was an underlying socket IOException.
>>>>>>         AbstractIoHandler has been modified to un-wrap the exception and
>>>>>> see if along the exception chain there is an IOException.
>>>>>>
>>>>>> 2. org.apache.mina.core.session.IoSession internal state is
>>>>>> problematic. On and off,
>>>>>>         IoSession.isConnected() does not return the correct value after
>>>>>> QuickFixJ called IoSession.close() method(up on experiencing IOException).
>>>>>>         quickfix.mina.initiator.IoSessionInitiator has been refactored to
>>>>>> replace the old IoConnector with a new one upon experiencing IOException.
>>>>>>         quickfix.mina.AbstractIoHandler is adjusted accordingly to signal
>>>>>> the IoSessionInitiator to do so.
>>>>>>
>>>>>> 3. Modified the run() method of ConnectTask in IoSessionInitiator to
>>>>>> be protected by try block. This is to prevent the scheduled Task from
>>>>>>         stop running in presence of exception. (see javadoc on
>>>>>> scheduleWithFixedDelay(...) method of
>>>>>> java.util.concurrent.ScheduledExecutorService
>>>>>>         which states that "...If any execution of the task encounters an
>>>>>> exception, subsequent executions are suppressed...")
>>>>>>
>>>>>> 4. Again, org.apache.mina.core.session.IoSession internal state is
>>>>>> problematic. Even after the
>>>>>>         normal disconnect() from IoSessionResponder, on and off the
>>>>>> IoSession.isConnected() still does not return the correct value.
>>>>>>         quickfix.mina.IoSessionResponder is adjusted to signal the
>>>>>> IoSessionInitiator to replace the IoConnector. IoSessionResponderTest
>>>>>> is adjusted accordingly.
>>>>>>                  5. quickfix.ThreadedSocketAcceptor leaks resources when stoped.
>>>>>>         Instead of calling stopSessionTimer() in the stop() method, it
>>>>>> should call stopInitiators().
>>>>>>          Problems identified in 1, 2, 3, and 4 ultimately manifested them in
>>>>>> ways that reconnecting would stop working (forever), even absent of IOExceptions.
>>>>>>
>>>>>> With the fix, we have the QuickFixJ engine running for a week where
>>>>>> reconnecting works with no problem. During this period the
>>>>>> counterparty logged out and severed the TCP connection more than 20000
>>>>>> times. Our test also indicates that the fix works equally SSL vs non-SSL.
>>>>>>
>>>>>> Modified files are attached.
>>>>>>
>>>>>> AbstractIoHandler.java
>>>>>> <http://quickfix-j.364392.n2.nabble.com/file/n7579557/AbstractIoHandle
>>>>>> r.java>
>>>>>> IoSessionInitiator.java
>>>>>> <http://quickfix-j.364392.n2.nabble.com/file/n7579557/IoSessionInitiat
>>>>>> or.java>
>>>>>> IoSessionResponder.java
>>>>>> <http://quickfix-j.364392.n2.nabble.com/file/n7579557/IoSessionRespond
>>>>>> er.java>
>>>>>> IoSessionResponderTest.java
>>>>>> <http://quickfix-j.364392.n2.nabble.com/file/n7579557/IoSessionRespond
>>>>>> erTest.java>
>>>>>> ThreadedSocketInitiator.java
>>>>>> <http://quickfix-j.364392.n2.nabble.com/file/n7579557/ThreadedSocketIn
>>>>>> itiator.java>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> View this message in context:
>>>>>> http://quickfix-j.364392.n2.nabble.com/1-7-0-Not-reconnecting-the-next
>>>>>> -time-interval-tp7579547p7579557.html
>>>>>> Sent from the QuickFIX/J mailing list archive at Nabble.com.
>>>>>>
>>>>>> ----------------------------------------------------------------------
>>>>>> -------- Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T
>>>>>> Park in San Francisco, CA to explore cutting-edge tech and listen to
>>>>>> tech luminaries present their vision of the future. This family event
>>>>>> has something for everyone, including kids. Get more information and
>>>>>> register today.
>>>>>> http://sdm.link/attshape
>>>>>> _______________________________________________
>>>>>> Quickfixj-users mailing list
>>>>>> [hidden email]
>>>>>> https://lists.sourceforge.net/lists/listinfo/quickfixj-users
>>>>> --
>>>>> Christoph John
>>>>> Development & Support
>>>>> Direct: +49 241 557080-28
>>>>> Mailto:[hidden email]
>>>>>
>>>>>
>>>>>
>>>>> http://www.macd.com <http://www.macd.com/>
>>>>> ----------------------------------------------------------------------------------------------------
>>>>>
>>>>>
>>>>> ----------------------------------------------------------------------------------------------------
>>>>>
>>>>> MACD GmbH
>>>>> Oppenhoffallee 103
>>>>> D-52066 Aachen
>>>>> Tel: +49 241 557080-0 | Fax: +49 241 557080-10
>>>>>       Amtsgericht Aachen: HRB 8151
>>>>> Ust.-Id: DE 813021663
>>>>>
>>>>> Geschäftsführer: George Macdonald
>>>>> ----------------------------------------------------------------------------------------------------
>>>>>
>>>>>
>>>>> ----------------------------------------------------------------------------------------------------
>>>>>
>>>>>
>>>>> take care of the environment - print only if necessary
>>>>>
>>>>> ------------------------------------------------------------------------------
>>>>> Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
>>>>> Francisco, CA to explore cutting-edge tech and listen to tech luminaries
>>>>> present their vision of the future. This family event has something for
>>>>> everyone, including kids. Get more information and register today.
>>>>> http://sdm.link/attshape
>>>>> _______________________________________________
>>>>> Quickfixj-users mailing list
>>>>> [hidden email]
>>>>> https://lists.sourceforge.net/lists/listinfo/quickfixj-users
>>>>>
>>>>>
>>>>> ------------------------------------------------------------------------------
>>>>> Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
>>>>> Francisco, CA to explore cutting-edge tech and listen to tech luminaries
>>>>> present their vision of the future. This family event has something for
>>>>> everyone, including kids. Get more information and register today.
>>>>> http://sdm.link/attshape
>>>>> _______________________________________________
>>>>> Quickfixj-users mailing list
>>>>> [hidden email]
>>>>> https://lists.sourceforge.net/lists/listinfo/quickfixj-users
>>>> ------------------------------------------------------------------------------
>>>> Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
>>>> Francisco, CA to explore cutting-edge tech and listen to tech luminaries
>>>> present their vision of the future. This family event has something for
>>>> everyone, including kids. Get more information and register today.
>>>> http://sdm.link/attshape
>>>> _______________________________________________
>>>> Quickfixj-users mailing list
>>>> [hidden email]
>>>> https://lists.sourceforge.net/lists/listinfo/quickfixj-users



------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 1.7.0 - Not reconnecting the next time interval?

Christoph John
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/


Hi,

I've never seen that one before.
Did you recompile your code against the new snapshot version? There were some changes to
MessageFactory generation. It is now using switch statements instead of if-else-statements. That's
the only thing in that area I could think of that could cause this error. But it is strange that it
works with "-noverify". Maybe it is another problem.

Chris.


On 25/06/16 19:24, Sean LeBlanc wrote:

> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
> QuickFIX/J Support: http://www.quickfixj.org/support/
>
>
> Thanks again. For now, we took the path of least resistance and went
> with 1.7.0 since we were already on that path.
>
> However, in case anyone else runs into this: one thing that did happen
> at run-time, though, was this (see below). I had to give Java (in this
> case, it's 1.8 update 40) the -noverify flag in order for startup to work?
>
>
> Any ideas on why?
>
> java.lang.VerifyError: Inconsistent stackmap frames at branch target 1906
> Exception Details:
>     Location:
> quickfix/fix44/MessageFactory.create(Ljava/lang/String;Ljava/lang/String;I)Lquickfix/Group;
> @1906: iload
>     Reason:
>       Type top (current frame, locals[6]) is not assignable to integer
> (stack map, locals[6])
>     Current Frame:
>       bci: @31
>       flags: { }
>       locals: { 'quickfix/fix44/MessageFactory', 'java/lang/String',
> 'java/lang/String', integer, 'java/lang/String', integer, top, top, top,
> integer, long, long_2nd }
>       stack: { integer }
>     Stackmap Frame:
>       bci: @1906
>       flags: { }
>       locals: { 'quickfix/fix44/MessageFactory', 'java/lang/String',
> 'java/lang/String', integer, 'java/lang/String', integer, integer, long,
> long_2nd, integer, long, long_2nd }
>       stack: { }
>     Bytecode:
>       0x0000000: 02c4 3600 0913 0b22 140b 23b8 09f9 c437
>       0x0000010: 000a 0000 2c3a 0402 3605 1904 b600 02ab
>       0x0000020: 0000 0753 0000 004b 0000 0036 0000 0281
> ....
>
>
> On 6/24/16 7:44 AM, Christoph John wrote:
>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
>> QuickFIX/J Support: http://www.quickfixj.org/support/
>>
>>
>> Hi Sean,
>>
>> I have now merged the PRs affecting the certificate validation feature to 1.6.3-SNAPSHOT. Moreover,
>> the fixes for the reconnection issue have also been merged.
>>
>> Normally, you could download the snapshot from here:
>> https://oss.sonatype.org/content/repositories/snapshots/org/quickfixj/quickfixj-distribution/1.6.3-SNAPSHOT/
>> But the 1.6.x build job on the build server currently has a problem. Maybe you could simply pull
>> down the code from github and compile it by yourself.
>> https://github.com/quickfix-j/quickfixj/tree/QFJ_1_6_x
>>
>> Cheers,
>> Chris.
>>
>>
>> On 24/06/16 09:55, Christoph John wrote:
>>> Hi guys,
>>>
>>> SNAPSHOTs are here:
>>> https://oss.sonatype.org/content/repositories/snapshots/org/quickfixj/quickfixj-distribution/1.7.0-SNAPSHOT/
>>>
>>> @Sean: I have not yet looked into the effort to merge the SSL validation feature down to 1.6.3.
>>> I have just merged the PRto fix the problem (thanks to Youyu and Guido) on 1.7.0-SNAPSHOT. So you
>>> should be able to get the current snapshot in half an hour or so.
>>>
>>> Cheers,
>>> Chris.
>>>
>>>
>>> On 23/06/16 21:58, Colin DuPlantis wrote:
>>>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
>>>> QuickFIX/J Support: http://www.quickfixj.org/support/
>>>>
>>>>
>>>> We maintain the Marketcetera repo, so we can put up a new version of the
>>>> 1.7.0 SNAPSHOT, if needed.
>>>>
>>>> Chris, I have it in my head that 1.7 snapshots are now in Maven Central,
>>>> am I wrong about that?
>>>>
>>>> On 06/23/2016 12:53 PM, Sean LeBlanc wrote:
>>>>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
>>>>> QuickFIX/J Support: http://www.quickfixj.org/support/
>>>>>
>>>>>
>>>>> Much appreciation to both of you.
>>>>>
>>>>> Also, any chance of the 1.7.0 version getting fixed? Also, I've noticed
>>>>> that what is on the Maven repo for 1.7.0 is pretty old? Is there a more
>>>>> current version in another repo?
>>>>>
>>>>> I'm referring to this directory:
>>>>>
>>>>> http://repo.marketcetera.org/maven/quickfixj/quickfixj-all/1.7.0-SNAPSHOT/
>>>>>
>>>>>
>>>>> Alternatively - we switched to 1.7.0 just to get the certificate
>>>>> validation feature. Would 1.6.3 have this, as well?
>>>>>
>>>>>
>>>>> On 6/23/16 7:06 AM, Youyu Shao wrote:
>>>>>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
>>>>>> QuickFIX/J Support: http://www.quickfixj.org/support/
>>>>>>
>>>>>>
>>>>>> Hi Chris,
>>>>>>
>>>>>> Thank you very much. We are looking forward the issue to be resolved in upcoming 1.6.3.
>>>>>>
>>>>>> Youyu
>>>>>>
>>>>>> -----Original Message-----
>>>>>> From: Christoph John [mailto:[hidden email]]
>>>>>> Sent: Thursday, June 23, 2016 2:07 AM
>>>>>> To: [hidden email]
>>>>>> Subject: Re: [Quickfixj-users] 1.7.0 - Not reconnecting the next time interval?
>>>>>>
>>>>>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
>>>>>> QuickFIX/J Support: http://www.quickfixj.org/support/
>>>>>>
>>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> thanks for your analysis and fixes. Much appreciated. :) I have created aJIRA issue to track
>>>>>> this: http://www.quickfixj.org/jira/browse/QFJ-895
>>>>>>
>>>>>> Cheers,
>>>>>> Chris.
>>>>>>
>>>>>> On 23/06/16 02:35, Youyu Shao wrote:
>>>>>>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
>>>>>>> QuickFIX/J Support: http://www.quickfixj.org/support/
>>>>>>>
>>>>>>>
>>>>>>> Recently we have been seriously looking into using QuickFixJ (code
>>>>>>> base 1.6.2).
>>>>>>> In so doing, we have discovered several problems and subsequently
>>>>>>> resolved in house.
>>>>>>>
>>>>>>> 1. Mina would throw org.apache.mina.core.RuntimeIoException wrapping
>>>>>>> java.net.SocketException at various places.
>>>>>>>          For example, this happens at:
>>>>>>>          org.apache.mina.core.RuntimeIoException: java.net.SocketException:
>>>>>>> Invalid argument: no further information
>>>>>>>           at
>>>>>>> org.apache.mina.transport.socket.nio.NioSocketSession$SessionConfigImpl.setTcpNoDelay(NioSocketSession.java:208)
>>>>>>>
>>>>>>>           at quickfix.mina.NetworkingOptions.apply(NetworkingOptions.java:155)
>>>>>>>           at
>>>>>>> quickfix.mina.AbstractIoHandler.sessionCreated(AbstractIoHandler.java:93)
>>>>>>>           at
>>>>>>> quickfix.mina.initiator.InitiatorIoHandler.sessionCreated(InitiatorIoHandler.java:50)
>>>>>>>           .....
>>>>>>>          When this happens, exceptionCaught method of AbstractIoHandler is
>>>>>>> not able to properly detect there was an underlying socket IOException.
>>>>>>>          AbstractIoHandler has been modified to un-wrap the exception and
>>>>>>> see if along the exception chain there is an IOException.
>>>>>>>
>>>>>>> 2. org.apache.mina.core.session.IoSession internal state is
>>>>>>> problematic. On and off,
>>>>>>>          IoSession.isConnected() does not return the correct value after
>>>>>>> QuickFixJ called IoSession.close() method(up on experiencing IOException).
>>>>>>>          quickfix.mina.initiator.IoSessionInitiator has been refactored to
>>>>>>> replace the old IoConnector with a new one upon experiencing IOException.
>>>>>>>          quickfix.mina.AbstractIoHandler is adjusted accordingly to signal
>>>>>>> the IoSessionInitiator to do so.
>>>>>>>
>>>>>>> 3. Modified the run() method of ConnectTask in IoSessionInitiator to
>>>>>>> be protected by try block. This is to prevent the scheduled Task from
>>>>>>>          stop running in presence of exception. (see javadoc on
>>>>>>> scheduleWithFixedDelay(...) method of
>>>>>>> java.util.concurrent.ScheduledExecutorService
>>>>>>>          which states that "...If any execution of the task encounters an
>>>>>>> exception, subsequent executions are suppressed...")
>>>>>>>
>>>>>>> 4. Again, org.apache.mina.core.session.IoSession internal state is
>>>>>>> problematic. Even after the
>>>>>>>          normal disconnect() from IoSessionResponder, on and off the
>>>>>>> IoSession.isConnected() still does not return the correct value.
>>>>>>>          quickfix.mina.IoSessionResponder is adjusted to signal the
>>>>>>> IoSessionInitiator to replace the IoConnector. IoSessionResponderTest
>>>>>>> is adjusted accordingly.
>>>>>>>                   5. quickfix.ThreadedSocketAcceptor leaks resources when stoped.
>>>>>>>          Instead of calling stopSessionTimer() in the stop() method, it
>>>>>>> should call stopInitiators().
>>>>>>>           Problems identified in 1, 2, 3, and 4 ultimately manifested them in
>>>>>>> ways that reconnecting would stop working (forever), even absent of IOExceptions.
>>>>>>>
>>>>>>> With the fix, we have the QuickFixJ engine running for a week where
>>>>>>> reconnecting works with no problem. During this period the
>>>>>>> counterparty logged out and severed the TCP connection more than 20000
>>>>>>> times. Our test also indicates that the fix works equally SSL vs non-SSL.
>>>>>>>
>>>>>>> Modified files are attached.
>>>>>>>
>>>>>>> AbstractIoHandler.java
>>>>>>> <http://quickfix-j.364392.n2.nabble.com/file/n7579557/AbstractIoHandle
>>>>>>> r.java>
>>>>>>> IoSessionInitiator.java
>>>>>>> <http://quickfix-j.364392.n2.nabble.com/file/n7579557/IoSessionInitiat
>>>>>>> or.java>
>>>>>>> IoSessionResponder.java
>>>>>>> <http://quickfix-j.364392.n2.nabble.com/file/n7579557/IoSessionRespond
>>>>>>> er.java>
>>>>>>> IoSessionResponderTest.java
>>>>>>> <http://quickfix-j.364392.n2.nabble.com/file/n7579557/IoSessionRespond
>>>>>>> erTest.java>
>>>>>>> ThreadedSocketInitiator.java
>>>>>>> <http://quickfix-j.364392.n2.nabble.com/file/n7579557/ThreadedSocketIn
>>>>>>> itiator.java>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> View this message in context:
>>>>>>> http://quickfix-j.364392.n2.nabble.com/1-7-0-Not-reconnecting-the-next
>>>>>>> -time-interval-tp7579547p7579557.html
>>>>>>> Sent from the QuickFIX/J mailing list archive at Nabble.com.
>>>>>>>
>>>>>>> ----------------------------------------------------------------------
>>>>>>> -------- Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T
>>>>>>> Park in San Francisco, CA to explore cutting-edge tech and listen to
>>>>>>> tech luminaries present their vision of the future. This family event
>>>>>>> has something for everyone, including kids. Get more information and
>>>>>>> register today.
>>>>>>> http://sdm.link/attshape
>>>>>>> _______________________________________________
>>>>>>> Quickfixj-users mailing list
>>>>>>> [hidden email]
>>>>>>> https://lists.sourceforge.net/lists/listinfo/quickfixj-users
>>>>>> --
>>>>>> Christoph John
>>>>>> Development & Support
>>>>>> Direct: +49 241 557080-28
>>>>>> Mailto:[hidden email]
>>>>>>
>>>>>>
>>>>>>
>>>>>> http://www.macd.com <http://www.macd.com/>
>>>>>> ----------------------------------------------------------------------------------------------------
>>>>>>
>>>>>>
>>>>>> ----------------------------------------------------------------------------------------------------
>>>>>>
>>>>>> MACD GmbH
>>>>>> Oppenhoffallee 103
>>>>>> D-52066 Aachen
>>>>>> Tel: +49 241 557080-0 | Fax: +49 241 557080-10
>>>>>>        Amtsgericht Aachen: HRB 8151
>>>>>> Ust.-Id: DE 813021663
>>>>>>
>>>>>> Geschäftsführer: George Macdonald
>>>>>> ----------------------------------------------------------------------------------------------------
>>>>>>
>>>>>>
>>>>>> ----------------------------------------------------------------------------------------------------
>>>>>>
>>>>>>
>>>>>> take care of the environment - print only if necessary
>>>>>>
>>>>>> ------------------------------------------------------------------------------
>>>>>> Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
>>>>>> Francisco, CA to explore cutting-edge tech and listen to tech luminaries
>>>>>> present their vision of the future. This family event has something for
>>>>>> everyone, including kids. Get more information and register today.
>>>>>> http://sdm.link/attshape
>>>>>> _______________________________________________
>>>>>> Quickfixj-users mailing list
>>>>>> [hidden email]
>>>>>> https://lists.sourceforge.net/lists/listinfo/quickfixj-users
>>>>>>
>>>>>>
>>>>>> ------------------------------------------------------------------------------
>>>>>> Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
>>>>>> Francisco, CA to explore cutting-edge tech and listen to tech luminaries
>>>>>> present their vision of the future. This family event has something for
>>>>>> everyone, including kids. Get more information and register today.
>>>>>> http://sdm.link/attshape
>>>>>> _______________________________________________
>>>>>> Quickfixj-users mailing list
>>>>>> [hidden email]
>>>>>> https://lists.sourceforge.net/lists/listinfo/quickfixj-users
>>>>> ------------------------------------------------------------------------------
>>>>> Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
>>>>> Francisco, CA to explore cutting-edge tech and listen to tech luminaries
>>>>> present their vision of the future. This family event has something for
>>>>> everyone, including kids. Get more information and register today.
>>>>> http://sdm.link/attshape
>>>>> _______________________________________________
>>>>> Quickfixj-users mailing list
>>>>> [hidden email]
>>>>> https://lists.sourceforge.net/lists/listinfo/quickfixj-users
>
>
> ------------------------------------------------------------------------------
> Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
> Francisco, CA to explore cutting-edge tech and listen to tech luminaries
> present their vision of the future. This family event has something for
> everyone, including kids. Get more information and register today.
> http://sdm.link/attshape
> _______________________________________________
> Quickfixj-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quickfixj-users

--
Christoph John
Development & Support
Direct: +49 241 557080-28
Mailto:[hidden email]
       


http://www.macd.com <http://www.macd.com/>
----------------------------------------------------------------------------------------------------
       
----------------------------------------------------------------------------------------------------
MACD GmbH
Oppenhoffallee 103
D-52066 Aachen
Tel: +49 241 557080-0 | Fax: +49 241 557080-10
         Amtsgericht Aachen: HRB 8151
Ust.-Id: DE 813021663

Geschäftsführer: George Macdonald
----------------------------------------------------------------------------------------------------
       
----------------------------------------------------------------------------------------------------

take care of the environment - print only if necessary

------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 1.7.0 - Not reconnecting the next time interval?

Sean LeBlanc
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/


I see those changes. I suspect it has something to do with byte code
validation being more strict and that 1.7 is being targeted in master.
Our application happens to still target 1.6, but runs on 1.8. I've been
trying some experiments on master:


1. First I targeted (jdkLevel property) but it failed because some
things are only supported in 1.7 or newer in the code base (diamond
operator was one of the complaints).
2. Next, I tried splitting jdkLevel into two properties in the pom,
jdkTargetLevel and jdkSourceLevel, targeting 1.6 but using 1.7 as source
on the master, but javac doesn't seem to like that.


Regarding the 1.6.3 snapshot version, I see it targets 1.6 already, but
it fails to compile for me, in this case also because of switching on a
String, I believe.

I'd try maybe updating that myself, but I'm unclear how the generated
code gets generated?


On 6/27/16 2:02 AM, Christoph John wrote:

> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
> QuickFIX/J Support: http://www.quickfixj.org/support/
>
>
> Hi,
>
> I've never seen that one before.
> Did you recompile your code against the new snapshot version? There were some changes to
> MessageFactory generation. It is now using switch statements instead of if-else-statements. That's
> the only thing in that area I could think of that could cause this error. But it is strange that it
> works with "-noverify". Maybe it is another problem.
>
> Chris.
>
>
> On 25/06/16 19:24, Sean LeBlanc wrote:
>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
>> QuickFIX/J Support: http://www.quickfixj.org/support/
>>
>>
>> Thanks again. For now, we took the path of least resistance and went
>> with 1.7.0 since we were already on that path.
>>
>> However, in case anyone else runs into this: one thing that did happen
>> at run-time, though, was this (see below). I had to give Java (in this
>> case, it's 1.8 update 40) the -noverify flag in order for startup to work?
>>
>>
>> Any ideas on why?
>>
>> java.lang.VerifyError: Inconsistent stackmap frames at branch target 1906
>> Exception Details:
>>      Location:
>> quickfix/fix44/MessageFactory.create(Ljava/lang/String;Ljava/lang/String;I)Lquickfix/Group;
>> @1906: iload
>>      Reason:
>>        Type top (current frame, locals[6]) is not assignable to integer
>> (stack map, locals[6])
>>      Current Frame:
>>        bci: @31
>>        flags: { }
>>        locals: { 'quickfix/fix44/MessageFactory', 'java/lang/String',
>> 'java/lang/String', integer, 'java/lang/String', integer, top, top, top,
>> integer, long, long_2nd }
>>        stack: { integer }
>>      Stackmap Frame:
>>        bci: @1906
>>        flags: { }
>>        locals: { 'quickfix/fix44/MessageFactory', 'java/lang/String',
>> 'java/lang/String', integer, 'java/lang/String', integer, integer, long,
>> long_2nd, integer, long, long_2nd }
>>        stack: { }
>>      Bytecode:
>>        0x0000000: 02c4 3600 0913 0b22 140b 23b8 09f9 c437
>>        0x0000010: 000a 0000 2c3a 0402 3605 1904 b600 02ab
>>        0x0000020: 0000 0753 0000 004b 0000 0036 0000 0281
>> ....
>>
>>
>> On 6/24/16 7:44 AM, Christoph John wrote:
>>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
>>> QuickFIX/J Support: http://www.quickfixj.org/support/
>>>
>>>
>>> Hi Sean,
>>>
>>> I have now merged the PRs affecting the certificate validation feature to 1.6.3-SNAPSHOT. Moreover,
>>> the fixes for the reconnection issue have also been merged.
>>>
>>> Normally, you could download the snapshot from here:
>>> https://oss.sonatype.org/content/repositories/snapshots/org/quickfixj/quickfixj-distribution/1.6.3-SNAPSHOT/
>>> But the 1.6.x build job on the build server currently has a problem. Maybe you could simply pull
>>> down the code from github and compile it by yourself.
>>> https://github.com/quickfix-j/quickfixj/tree/QFJ_1_6_x
>>>
>>> Cheers,
>>> Chris.
>>>
>>>
>>> On 24/06/16 09:55, Christoph John wrote:
>>>> Hi guys,
>>>>
>>>> SNAPSHOTs are here:
>>>> https://oss.sonatype.org/content/repositories/snapshots/org/quickfixj/quickfixj-distribution/1.7.0-SNAPSHOT/
>>>>
>>>> @Sean: I have not yet looked into the effort to merge the SSL validation feature down to 1.6.3.
>>>> I have just merged the PRto fix the problem (thanks to Youyu and Guido) on 1.7.0-SNAPSHOT. So you
>>>> should be able to get the current snapshot in half an hour or so.
>>>>
>>>> Cheers,
>>>> Chris.
>>>>
>>>>
>>>> On 23/06/16 21:58, Colin DuPlantis wrote:
>>>>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
>>>>> QuickFIX/J Support: http://www.quickfixj.org/support/
>>>>>
>>>>>
>>>>> We maintain the Marketcetera repo, so we can put up a new version of the
>>>>> 1.7.0 SNAPSHOT, if needed.
>>>>>
>>>>> Chris, I have it in my head that 1.7 snapshots are now in Maven Central,
>>>>> am I wrong about that?
>>>>>
>>>>> On 06/23/2016 12:53 PM, Sean LeBlanc wrote:
>>>>>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
>>>>>> QuickFIX/J Support: http://www.quickfixj.org/support/
>>>>>>
>>>>>>
>>>>>> Much appreciation to both of you.
>>>>>>
>>>>>> Also, any chance of the 1.7.0 version getting fixed? Also, I've noticed
>>>>>> that what is on the Maven repo for 1.7.0 is pretty old? Is there a more
>>>>>> current version in another repo?
>>>>>>
>>>>>> I'm referring to this directory:
>>>>>>
>>>>>> http://repo.marketcetera.org/maven/quickfixj/quickfixj-all/1.7.0-SNAPSHOT/
>>>>>>
>>>>>>
>>>>>> Alternatively - we switched to 1.7.0 just to get the certificate
>>>>>> validation feature. Would 1.6.3 have this, as well?
>>>>>>
>>>>>>
>>>>>> On 6/23/16 7:06 AM, Youyu Shao wrote:
>>>>>>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
>>>>>>> QuickFIX/J Support: http://www.quickfixj.org/support/
>>>>>>>
>>>>>>>
>>>>>>> Hi Chris,
>>>>>>>
>>>>>>> Thank you very much. We are looking forward the issue to be resolved in upcoming 1.6.3.
>>>>>>>
>>>>>>> Youyu
>>>>>>>
>>>>>>> -----Original Message-----
>>>>>>> From: Christoph John [mailto:[hidden email]]
>>>>>>> Sent: Thursday, June 23, 2016 2:07 AM
>>>>>>> To: [hidden email]
>>>>>>> Subject: Re: [Quickfixj-users] 1.7.0 - Not reconnecting the next time interval?
>>>>>>>
>>>>>>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
>>>>>>> QuickFIX/J Support: http://www.quickfixj.org/support/
>>>>>>>
>>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> thanks for your analysis and fixes. Much appreciated. :) I have created aJIRA issue to track
>>>>>>> this: http://www.quickfixj.org/jira/browse/QFJ-895
>>>>>>>
>>>>>>> Cheers,
>>>>>>> Chris.
>>>>>>>
>>>>>>> On 23/06/16 02:35, Youyu Shao wrote:
>>>>>>>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
>>>>>>>> QuickFIX/J Support: http://www.quickfixj.org/support/
>>>>>>>>
>>>>>>>>
>>>>>>>> Recently we have been seriously looking into using QuickFixJ (code
>>>>>>>> base 1.6.2).
>>>>>>>> In so doing, we have discovered several problems and subsequently
>>>>>>>> resolved in house.
>>>>>>>>
>>>>>>>> 1. Mina would throw org.apache.mina.core.RuntimeIoException wrapping
>>>>>>>> java.net.SocketException at various places.
>>>>>>>>           For example, this happens at:
>>>>>>>>           org.apache.mina.core.RuntimeIoException: java.net.SocketException:
>>>>>>>> Invalid argument: no further information
>>>>>>>>            at
>>>>>>>> org.apache.mina.transport.socket.nio.NioSocketSession$SessionConfigImpl.setTcpNoDelay(NioSocketSession.java:208)
>>>>>>>>
>>>>>>>>            at quickfix.mina.NetworkingOptions.apply(NetworkingOptions.java:155)
>>>>>>>>            at
>>>>>>>> quickfix.mina.AbstractIoHandler.sessionCreated(AbstractIoHandler.java:93)
>>>>>>>>            at
>>>>>>>> quickfix.mina.initiator.InitiatorIoHandler.sessionCreated(InitiatorIoHandler.java:50)
>>>>>>>>            .....
>>>>>>>>           When this happens, exceptionCaught method of AbstractIoHandler is
>>>>>>>> not able to properly detect there was an underlying socket IOException.
>>>>>>>>           AbstractIoHandler has been modified to un-wrap the exception and
>>>>>>>> see if along the exception chain there is an IOException.
>>>>>>>>
>>>>>>>> 2. org.apache.mina.core.session.IoSession internal state is
>>>>>>>> problematic. On and off,
>>>>>>>>           IoSession.isConnected() does not return the correct value after
>>>>>>>> QuickFixJ called IoSession.close() method(up on experiencing IOException).
>>>>>>>>           quickfix.mina.initiator.IoSessionInitiator has been refactored to
>>>>>>>> replace the old IoConnector with a new one upon experiencing IOException.
>>>>>>>>           quickfix.mina.AbstractIoHandler is adjusted accordingly to signal
>>>>>>>> the IoSessionInitiator to do so.
>>>>>>>>
>>>>>>>> 3. Modified the run() method of ConnectTask in IoSessionInitiator to
>>>>>>>> be protected by try block. This is to prevent the scheduled Task from
>>>>>>>>           stop running in presence of exception. (see javadoc on
>>>>>>>> scheduleWithFixedDelay(...) method of
>>>>>>>> java.util.concurrent.ScheduledExecutorService
>>>>>>>>           which states that "...If any execution of the task encounters an
>>>>>>>> exception, subsequent executions are suppressed...")
>>>>>>>>
>>>>>>>> 4. Again, org.apache.mina.core.session.IoSession internal state is
>>>>>>>> problematic. Even after the
>>>>>>>>           normal disconnect() from IoSessionResponder, on and off the
>>>>>>>> IoSession.isConnected() still does not return the correct value.
>>>>>>>>           quickfix.mina.IoSessionResponder is adjusted to signal the
>>>>>>>> IoSessionInitiator to replace the IoConnector. IoSessionResponderTest
>>>>>>>> is adjusted accordingly.
>>>>>>>>                    5. quickfix.ThreadedSocketAcceptor leaks resources when stoped.
>>>>>>>>           Instead of calling stopSessionTimer() in the stop() method, it
>>>>>>>> should call stopInitiators().
>>>>>>>>            Problems identified in 1, 2, 3, and 4 ultimately manifested them in
>>>>>>>> ways that reconnecting would stop working (forever), even absent of IOExceptions.
>>>>>>>>
>>>>>>>> With the fix, we have the QuickFixJ engine running for a week where
>>>>>>>> reconnecting works with no problem. During this period the
>>>>>>>> counterparty logged out and severed the TCP connection more than 20000
>>>>>>>> times. Our test also indicates that the fix works equally SSL vs non-SSL.
>>>>>>>>
>>>>>>>> Modified files are attached.
>>>>>>>>
>>>>>>>> AbstractIoHandler.java
>>>>>>>> <http://quickfix-j.364392.n2.nabble.com/file/n7579557/AbstractIoHandle
>>>>>>>> r.java>
>>>>>>>> IoSessionInitiator.java
>>>>>>>> <http://quickfix-j.364392.n2.nabble.com/file/n7579557/IoSessionInitiat
>>>>>>>> or.java>
>>>>>>>> IoSessionResponder.java
>>>>>>>> <http://quickfix-j.364392.n2.nabble.com/file/n7579557/IoSessionRespond
>>>>>>>> er.java>
>>>>>>>> IoSessionResponderTest.java
>>>>>>>> <http://quickfix-j.364392.n2.nabble.com/file/n7579557/IoSessionRespond
>>>>>>>> erTest.java>
>>>>>>>> ThreadedSocketInitiator.java
>>>>>>>> <http://quickfix-j.364392.n2.nabble.com/file/n7579557/ThreadedSocketIn
>>>>>>>> itiator.java>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> View this message in context:
>>>>>>>> http://quickfix-j.364392.n2.nabble.com/1-7-0-Not-reconnecting-the-next
>>>>>>>> -time-interval-tp7579547p7579557.html
>>>>>>>> Sent from the QuickFIX/J mailing list archive at Nabble.com.
>>>>>>>>
>>>>>>>> ----------------------------------------------------------------------
>>>>>>>> -------- Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T
>>>>>>>> Park in San Francisco, CA to explore cutting-edge tech and listen to
>>>>>>>> tech luminaries present their vision of the future. This family event
>>>>>>>> has something for everyone, including kids. Get more information and
>>>>>>>> register today.
>>>>>>>> http://sdm.link/attshape
>>>>>>>> _______________________________________________
>>>>>>>> Quickfixj-users mailing list
>>>>>>>> [hidden email]
>>>>>>>> https://lists.sourceforge.net/lists/listinfo/quickfixj-users
>>>>>>> --
>>>>>>> Christoph John
>>>>>>> Development & Support
>>>>>>> Direct: +49 241 557080-28
>>>>>>> Mailto:[hidden email]
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> http://www.macd.com <http://www.macd.com/>
>>>>>>> ----------------------------------------------------------------------------------------------------
>>>>>>>
>>>>>>>
>>>>>>> ----------------------------------------------------------------------------------------------------
>>>>>>>
>>>>>>> MACD GmbH
>>>>>>> Oppenhoffallee 103
>>>>>>> D-52066 Aachen
>>>>>>> Tel: +49 241 557080-0 | Fax: +49 241 557080-10
>>>>>>>         Amtsgericht Aachen: HRB 8151
>>>>>>> Ust.-Id: DE 813021663
>>>>>>>
>>>>>>> Geschäftsführer: George Macdonald
>>>>>>> ----------------------------------------------------------------------------------------------------
>>>>>>>
>>>>>>>
>>>>>>> ----------------------------------------------------------------------------------------------------
>>>>>>>
>>>>>>>
>>>>>>> take care of the environment - print only if necessary
>>>>>>>
>>>>>>> ------------------------------------------------------------------------------
>>>>>>> Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
>>>>>>> Francisco, CA to explore cutting-edge tech and listen to tech luminaries
>>>>>>> present their vision of the future. This family event has something for
>>>>>>> everyone, including kids. Get more information and register today.
>>>>>>> http://sdm.link/attshape
>>>>>>> _______________________________________________
>>>>>>> Quickfixj-users mailing list
>>>>>>> [hidden email]
>>>>>>> https://lists.sourceforge.net/lists/listinfo/quickfixj-users
>>>>>>>
>>>>>>>
>>>>>>> ------------------------------------------------------------------------------
>>>>>>> Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
>>>>>>> Francisco, CA to explore cutting-edge tech and listen to tech luminaries
>>>>>>> present their vision of the future. This family event has something for
>>>>>>> everyone, including kids. Get more information and register today.
>>>>>>> http://sdm.link/attshape
>>>>>>> _______________________________________________
>>>>>>> Quickfixj-users mailing list
>>>>>>> [hidden email]
>>>>>>> https://lists.sourceforge.net/lists/listinfo/quickfixj-users
>>>>>> ------------------------------------------------------------------------------
>>>>>> Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
>>>>>> Francisco, CA to explore cutting-edge tech and listen to tech luminaries
>>>>>> present their vision of the future. This family event has something for
>>>>>> everyone, including kids. Get more information and register today.
>>>>>> http://sdm.link/attshape
>>>>>> _______________________________________________
>>>>>> Quickfixj-users mailing list
>>>>>> [hidden email]
>>>>>> https://lists.sourceforge.net/lists/listinfo/quickfixj-users
>>
>> ------------------------------------------------------------------------------
>> Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
>> Francisco, CA to explore cutting-edge tech and listen to tech luminaries
>> present their vision of the future. This family event has something for
>> everyone, including kids. Get more information and register today.
>> http://sdm.link/attshape
>> _______________________________________________
>> Quickfixj-users mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/quickfixj-users



------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 1.7.0 - Not reconnecting the next time interval?

Christoph John
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/


Hi,

QFJ 1.6.x is still targeted to be compiled on JDK 1.6. I just tried to do that and it compiled fine.
Only the SSL-related  tests are failing since TLS1.2 is not supportedon JDK6.

Cheers,
Chris.

On 27/06/16 18:44, Sean LeBlanc wrote:

> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
> QuickFIX/J Support: http://www.quickfixj.org/support/
>
>
> I see those changes. I suspect it has something to do with byte code
> validation being more strict and that 1.7 is being targeted in master.
> Our application happens to still target 1.6, but runs on 1.8. I've been
> trying some experiments on master:
>
>
> 1. First I targeted (jdkLevel property) but it failed because some
> things are only supported in 1.7 or newer in the code base (diamond
> operator was one of the complaints).
> 2. Next, I tried splitting jdkLevel into two properties in the pom,
> jdkTargetLevel and jdkSourceLevel, targeting 1.6 but using 1.7 as source
> on the master, but javac doesn't seem to like that.
>
>
> Regarding the 1.6.3 snapshot version, I see it targets 1.6 already, but
> it fails to compile for me, in this case also because of switching on a
> String, I believe.
>
> I'd try maybe updating that myself, but I'm unclear how the generated
> code gets generated?
>
>
> On 6/27/16 2:02 AM, Christoph John wrote:
>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
>> QuickFIX/J Support: http://www.quickfixj.org/support/
>>
>>
>> Hi,
>>
>> I've never seen that one before.
>> Did you recompile your code against the new snapshot version? There were some changes to
>> MessageFactory generation. It is now using switch statements instead of if-else-statements. That's
>> the only thing in that area I could think of that could cause this error. But it is strange that it
>> works with "-noverify". Maybe it is another problem.
>>
>> Chris.
>>
>>
>> On 25/06/16 19:24, Sean LeBlanc wrote:
>>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
>>> QuickFIX/J Support: http://www.quickfixj.org/support/
>>>
>>>
>>> Thanks again. For now, we took the path of least resistance and went
>>> with 1.7.0 since we were already on that path.
>>>
>>> However, in case anyone else runs into this: one thing that did happen
>>> at run-time, though, was this (see below). I had to give Java (in this
>>> case, it's 1.8 update 40) the -noverify flag in order for startup to work?
>>>
>>>
>>> Any ideas on why?
>>>
>>> java.lang.VerifyError: Inconsistent stackmap frames at branch target 1906
>>> Exception Details:
>>>       Location:
>>> quickfix/fix44/MessageFactory.create(Ljava/lang/String;Ljava/lang/String;I)Lquickfix/Group;
>>> @1906: iload
>>>       Reason:
>>>         Type top (current frame, locals[6]) is not assignable to integer
>>> (stack map, locals[6])
>>>       Current Frame:
>>>         bci: @31
>>>         flags: { }
>>>         locals: { 'quickfix/fix44/MessageFactory', 'java/lang/String',
>>> 'java/lang/String', integer, 'java/lang/String', integer, top, top, top,
>>> integer, long, long_2nd }
>>>         stack: { integer }
>>>       Stackmap Frame:
>>>         bci: @1906
>>>         flags: { }
>>>         locals: { 'quickfix/fix44/MessageFactory', 'java/lang/String',
>>> 'java/lang/String', integer, 'java/lang/String', integer, integer, long,
>>> long_2nd, integer, long, long_2nd }
>>>         stack: { }
>>>       Bytecode:
>>>         0x0000000: 02c4 3600 0913 0b22 140b 23b8 09f9 c437
>>>         0x0000010: 000a 0000 2c3a 0402 3605 1904 b600 02ab
>>>         0x0000020: 0000 0753 0000 004b 0000 0036 0000 0281
>>> ....
>>>
>>>
>>> On 6/24/16 7:44 AM, Christoph John wrote:
>>>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
>>>> QuickFIX/J Support: http://www.quickfixj.org/support/
>>>>
>>>>
>>>> Hi Sean,
>>>>
>>>> I have now merged the PRs affecting the certificate validation feature to 1.6.3-SNAPSHOT. Moreover,
>>>> the fixes for the reconnection issue have also been merged.
>>>>
>>>> Normally, you could download the snapshot from here:
>>>> https://oss.sonatype.org/content/repositories/snapshots/org/quickfixj/quickfixj-distribution/1.6.3-SNAPSHOT/
>>>> But the 1.6.x build job on the build server currently has a problem. Maybe you could simply pull
>>>> down the code from github and compile it by yourself.
>>>> https://github.com/quickfix-j/quickfixj/tree/QFJ_1_6_x
>>>>
>>>> Cheers,
>>>> Chris.
>>>>
>>>>
>>>> On 24/06/16 09:55, Christoph John wrote:
>>>>> Hi guys,
>>>>>
>>>>> SNAPSHOTs are here:
>>>>> https://oss.sonatype.org/content/repositories/snapshots/org/quickfixj/quickfixj-distribution/1.7.0-SNAPSHOT/
>>>>>
>>>>> @Sean: I have not yet looked into the effort to merge the SSL validation feature down to 1.6.3.
>>>>> I have just merged the PRto fix the problem (thanks to Youyu and Guido) on 1.7.0-SNAPSHOT. So you
>>>>> should be able to get the current snapshot in half an hour or so.
>>>>>
>>>>> Cheers,
>>>>> Chris.
>>>>>
>>>>>
>>>>> On 23/06/16 21:58, Colin DuPlantis wrote:
>>>>>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
>>>>>> QuickFIX/J Support: http://www.quickfixj.org/support/
>>>>>>
>>>>>>
>>>>>> We maintain the Marketcetera repo, so we can put up a new version of the
>>>>>> 1.7.0 SNAPSHOT, if needed.
>>>>>>
>>>>>> Chris, I have it in my head that 1.7 snapshots are now in Maven Central,
>>>>>> am I wrong about that?
>>>>>>
>>>>>> On 06/23/2016 12:53 PM, Sean LeBlanc wrote:
>>>>>>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
>>>>>>> QuickFIX/J Support: http://www.quickfixj.org/support/
>>>>>>>
>>>>>>>
>>>>>>> Much appreciation to both of you.
>>>>>>>
>>>>>>> Also, any chance of the 1.7.0 version getting fixed? Also, I've noticed
>>>>>>> that what is on the Maven repo for 1.7.0 is pretty old? Is there a more
>>>>>>> current version in another repo?
>>>>>>>
>>>>>>> I'm referring to this directory:
>>>>>>>
>>>>>>> http://repo.marketcetera.org/maven/quickfixj/quickfixj-all/1.7.0-SNAPSHOT/
>>>>>>>
>>>>>>>
>>>>>>> Alternatively - we switched to 1.7.0 just to get the certificate
>>>>>>> validation feature. Would 1.6.3 have this, as well?
>>>>>>>
>>>>>>>
>>>>>>> On 6/23/16 7:06 AM, Youyu Shao wrote:
>>>>>>>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
>>>>>>>> QuickFIX/J Support: http://www.quickfixj.org/support/
>>>>>>>>
>>>>>>>>
>>>>>>>> Hi Chris,
>>>>>>>>
>>>>>>>> Thank you very much. We are looking forward the issue to be resolved in upcoming 1.6.3.
>>>>>>>>
>>>>>>>> Youyu
>>>>>>>>
>>>>>>>> -----Original Message-----
>>>>>>>> From: Christoph John [mailto:[hidden email]]
>>>>>>>> Sent: Thursday, June 23, 2016 2:07 AM
>>>>>>>> To: [hidden email]
>>>>>>>> Subject: Re: [Quickfixj-users] 1.7.0 - Not reconnecting the next time interval?
>>>>>>>>
>>>>>>>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
>>>>>>>> QuickFIX/J Support: http://www.quickfixj.org/support/
>>>>>>>>
>>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> thanks for your analysis and fixes. Much appreciated. :) I have created aJIRA issue to track
>>>>>>>> this: http://www.quickfixj.org/jira/browse/QFJ-895
>>>>>>>>
>>>>>>>> Cheers,
>>>>>>>> Chris.
>>>>>>>>
>>>>>>>> On 23/06/16 02:35, Youyu Shao wrote:
>>>>>>>>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
>>>>>>>>> QuickFIX/J Support: http://www.quickfixj.org/support/
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Recently we have been seriously looking into using QuickFixJ (code
>>>>>>>>> base 1.6.2).
>>>>>>>>> In so doing, we have discovered several problems and subsequently
>>>>>>>>> resolved in house.
>>>>>>>>>
>>>>>>>>> 1. Mina would throw org.apache.mina.core.RuntimeIoException wrapping
>>>>>>>>> java.net.SocketException at various places.
>>>>>>>>>            For example, this happens at:
>>>>>>>>>            org.apache.mina.core.RuntimeIoException: java.net.SocketException:
>>>>>>>>> Invalid argument: no further information
>>>>>>>>>             at
>>>>>>>>> org.apache.mina.transport.socket.nio.NioSocketSession$SessionConfigImpl.setTcpNoDelay(NioSocketSession.java:208)
>>>>>>>>>
>>>>>>>>>             at quickfix.mina.NetworkingOptions.apply(NetworkingOptions.java:155)
>>>>>>>>>             at
>>>>>>>>> quickfix.mina.AbstractIoHandler.sessionCreated(AbstractIoHandler.java:93)
>>>>>>>>>             at
>>>>>>>>> quickfix.mina.initiator.InitiatorIoHandler.sessionCreated(InitiatorIoHandler.java:50)
>>>>>>>>>             .....
>>>>>>>>>            When this happens, exceptionCaught method of AbstractIoHandler is
>>>>>>>>> not able to properly detect there was an underlying socket IOException.
>>>>>>>>>            AbstractIoHandler has been modified to un-wrap the exception and
>>>>>>>>> see if along the exception chain there is an IOException.
>>>>>>>>>
>>>>>>>>> 2. org.apache.mina.core.session.IoSession internal state is
>>>>>>>>> problematic. On and off,
>>>>>>>>>            IoSession.isConnected() does not return the correct value after
>>>>>>>>> QuickFixJ called IoSession.close() method(up on experiencing IOException).
>>>>>>>>>            quickfix.mina.initiator.IoSessionInitiator has been refactored to
>>>>>>>>> replace the old IoConnector with a new one upon experiencing IOException.
>>>>>>>>>            quickfix.mina.AbstractIoHandler is adjusted accordingly to signal
>>>>>>>>> the IoSessionInitiator to do so.
>>>>>>>>>
>>>>>>>>> 3. Modified the run() method of ConnectTask in IoSessionInitiator to
>>>>>>>>> be protected by try block. This is to prevent the scheduled Task from
>>>>>>>>>            stop running in presence of exception. (see javadoc on
>>>>>>>>> scheduleWithFixedDelay(...) method of
>>>>>>>>> java.util.concurrent.ScheduledExecutorService
>>>>>>>>>            which states that "...If any execution of the task encounters an
>>>>>>>>> exception, subsequent executions are suppressed...")
>>>>>>>>>
>>>>>>>>> 4. Again, org.apache.mina.core.session.IoSession internal state is
>>>>>>>>> problematic. Even after the
>>>>>>>>>            normal disconnect() from IoSessionResponder, on and off the
>>>>>>>>> IoSession.isConnected() still does not return the correct value.
>>>>>>>>>            quickfix.mina.IoSessionResponder is adjusted to signal the
>>>>>>>>> IoSessionInitiator to replace the IoConnector. IoSessionResponderTest
>>>>>>>>> is adjusted accordingly.
>>>>>>>>>                     5. quickfix.ThreadedSocketAcceptor leaks resources when stoped.
>>>>>>>>>            Instead of calling stopSessionTimer() in the stop() method, it
>>>>>>>>> should call stopInitiators().
>>>>>>>>>             Problems identified in 1, 2, 3, and 4 ultimately manifested them in
>>>>>>>>> ways that reconnecting would stop working (forever), even absent of IOExceptions.
>>>>>>>>>
>>>>>>>>> With the fix, we have the QuickFixJ engine running for a week where
>>>>>>>>> reconnecting works with no problem. During this period the
>>>>>>>>> counterparty logged out and severed the TCP connection more than 20000
>>>>>>>>> times. Our test also indicates that the fix works equally SSL vs non-SSL.
>>>>>>>>>
>>>>>>>>> Modified files are attached.
>>>>>>>>>
>>>>>>>>> AbstractIoHandler.java
>>>>>>>>> <http://quickfix-j.364392.n2.nabble.com/file/n7579557/AbstractIoHandle
>>>>>>>>> r.java>
>>>>>>>>> IoSessionInitiator.java
>>>>>>>>> <http://quickfix-j.364392.n2.nabble.com/file/n7579557/IoSessionInitiat
>>>>>>>>> or.java>
>>>>>>>>> IoSessionResponder.java
>>>>>>>>> <http://quickfix-j.364392.n2.nabble.com/file/n7579557/IoSessionRespond
>>>>>>>>> er.java>
>>>>>>>>> IoSessionResponderTest.java
>>>>>>>>> <http://quickfix-j.364392.n2.nabble.com/file/n7579557/IoSessionRespond
>>>>>>>>> erTest.java>
>>>>>>>>> ThreadedSocketInitiator.java
>>>>>>>>> <http://quickfix-j.364392.n2.nabble.com/file/n7579557/ThreadedSocketIn
>>>>>>>>> itiator.java>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> View this message in context:
>>>>>>>>> http://quickfix-j.364392.n2.nabble.com/1-7-0-Not-reconnecting-the-next
>>>>>>>>> -time-interval-tp7579547p7579557.html
>>>>>>>>> Sent from the QuickFIX/J mailing list archive at Nabble.com.
>>>>>>>>>
>>>>>>>>> ----------------------------------------------------------------------
>>>>>>>>> -------- Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T
>>>>>>>>> Park in San Francisco, CA to explore cutting-edge tech and listen to
>>>>>>>>> tech luminaries present their vision of the future. This family event
>>>>>>>>> has something for everyone, including kids. Get more information and
>>>>>>>>> register today.
>>>>>>>>> http://sdm.link/attshape
>>>>>>>>> _______________________________________________
>>>>>>>>> Quickfixj-users mailing list
>>>>>>>>> [hidden email]
>>>>>>>>> https://lists.sourceforge.net/lists/listinfo/quickfixj-users
>>>>>>>> --
>>>>>>>> Christoph John
>>>>>>>> Development & Support
>>>>>>>> Direct: +49 241 557080-28
>>>>>>>> Mailto:[hidden email]
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> http://www.macd.com <http://www.macd.com/>
>>>>>>>> ----------------------------------------------------------------------------------------------------
>>>>>>>>
>>>>>>>>
>>>>>>>> ----------------------------------------------------------------------------------------------------
>>>>>>>>
>>>>>>>> MACD GmbH
>>>>>>>> Oppenhoffallee 103
>>>>>>>> D-52066 Aachen
>>>>>>>> Tel: +49 241 557080-0 | Fax: +49 241 557080-10
>>>>>>>>          Amtsgericht Aachen: HRB 8151
>>>>>>>> Ust.-Id: DE 813021663
>>>>>>>>
>>>>>>>> Geschäftsführer: George Macdonald
>>>>>>>> ----------------------------------------------------------------------------------------------------
>>>>>>>>
>>>>>>>>
>>>>>>>> ----------------------------------------------------------------------------------------------------
>>>>>>>>
>>>>>>>>
>>>>>>>> take care of the environment - print only if necessary
>>>>>>>>
>>>>>>>> ------------------------------------------------------------------------------
>>>>>>>> Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
>>>>>>>> Francisco, CA to explore cutting-edge tech and listen to tech luminaries
>>>>>>>> present their vision of the future. This family event has something for
>>>>>>>> everyone, including kids. Get more information and register today.
>>>>>>>> http://sdm.link/attshape
>>>>>>>> _______________________________________________
>>>>>>>> Quickfixj-users mailing list
>>>>>>>> [hidden email]
>>>>>>>> https://lists.sourceforge.net/lists/listinfo/quickfixj-users
>>>>>>>>
>>>>>>>>
>>>>>>>> ------------------------------------------------------------------------------
>>>>>>>> Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
>>>>>>>> Francisco, CA to explore cutting-edge tech and listen to tech luminaries
>>>>>>>> present their vision of the future. This family event has something for
>>>>>>>> everyone, including kids. Get more information and register today.
>>>>>>>> http://sdm.link/attshape
>>>>>>>> _______________________________________________
>>>>>>>> Quickfixj-users mailing list
>>>>>>>> [hidden email]
>>>>>>>> https://lists.sourceforge.net/lists/listinfo/quickfixj-users
>>>>>>> ------------------------------------------------------------------------------
>>>>>>> Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
>>>>>>> Francisco, CA to explore cutting-edge tech and listen to tech luminaries
>>>>>>> present their vision of the future. This family event has something for
>>>>>>> everyone, including kids. Get more information and register today.
>>>>>>> http://sdm.link/attshape
>>>>>>> _______________________________________________
>>>>>>> Quickfixj-users mailing list
>>>>>>> [hidden email]
>>>>>>> https://lists.sourceforge.net/lists/listinfo/quickfixj-users
>>> ------------------------------------------------------------------------------
>>> Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
>>> Francisco, CA to explore cutting-edge tech and listen to tech luminaries
>>> present their vision of the future. This family event has something for
>>> everyone, including kids. Get more information and register today.
>>> http://sdm.link/attshape
>>> _______________________________________________
>>> Quickfixj-users mailing list
>>> [hidden email]
>>> https://lists.sourceforge.net/lists/listinfo/quickfixj-users
>
>
> ------------------------------------------------------------------------------
> Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
> Francisco, CA to explore cutting-edge tech and listen to tech luminaries
> present their vision of the future. This family event has something for
> everyone, including kids. Get more information and register today.
> http://sdm.link/attshape
> _______________________________________________
> Quickfixj-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quickfixj-users

--
Christoph John
Development & Support
Direct: +49 241 557080-28
Mailto:[hidden email]
       


http://www.macd.com <http://www.macd.com/>
----------------------------------------------------------------------------------------------------
       
----------------------------------------------------------------------------------------------------
MACD GmbH
Oppenhoffallee 103
D-52066 Aachen
Tel: +49 241 557080-0 | Fax: +49 241 557080-10
         Amtsgericht Aachen: HRB 8151
Ust.-Id: DE 813021663

Geschäftsführer: George Macdonald
----------------------------------------------------------------------------------------------------
       
----------------------------------------------------------------------------------------------------

take care of the environment - print only if necessary

------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 1.7.0 - Not reconnecting the next time interval?

Sean LeBlanc
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/


You are correct! Sorry about that. I must have checked out the 1.6.x
branch and tried building without running mvn clean, after I was
building on the 1.7.x branch? In any case, when I made sure to separate
the two (1.7.x and 1.6.x branch) entirely for my own clarity and ease of
use, it built just fine.

BTW, I am building with JDK 1.8.

One thing I did notice, though, is that this talks about disabled the
tests:

http://www.quickfixj.org/quickfixj/usermanual/1.6.1/installation.html#build

-DskipAT=true

Doesn't seem to do that for me? It still runs the tests on both 1.6.x
and 1.7.x branch?



Anyway, we are back to the 1.6.x branch. We don't have to enable the
-noverify flag to have it load, it seems to reconnect on the next time
cycle, at least so far, and from my preliminary testing of the
certificate handling, that seems to work, as well. Thanks very much for
backporting that!


I was not able to get 1.7.x version to load for us w/o the -noverify
flag. I've tried many things - trying a newer version of the jdk on the
server, in case it was a fluke in the version of Oracle's JDK we were
using. I've tried paring it down to a simple proof-of-concept that would
have the same problem, but so far, have been unable to. If I find more
time, I may try that again. I also did some direct manipulation of the
compiled class files for 1.7.x - changing from 1.7 to 1.6 (*) so that
the verifier might behave differently, but that didn't pan out either. I
may go back to that, because I'm thinking I made a mistake when carrying
out that experiment.



(*) See j6patch part of this thread:
http://stackoverflow.com/questions/7661980/compiling-java-7-to-java-6

On 6/28/16 9:29 AM, Christoph John wrote:

> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
> QuickFIX/J Support: http://www.quickfixj.org/support/
>
>
> Hi,
>
> QFJ 1.6.x is still targeted to be compiled on JDK 1.6. I just tried to do that and it compiled fine.
> Only the SSL-related  tests are failing since TLS1.2 is not supportedon JDK6.
>
> Cheers,
> Chris.
>
> On 27/06/16 18:44, Sean LeBlanc wrote:
>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
>> QuickFIX/J Support: http://www.quickfixj.org/support/
>>
>>
>> I see those changes. I suspect it has something to do with byte code
>> validation being more strict and that 1.7 is being targeted in master.
>> Our application happens to still target 1.6, but runs on 1.8. I've been
>> trying some experiments on master:
>>
>>
>> 1. First I targeted (jdkLevel property) but it failed because some
>> things are only supported in 1.7 or newer in the code base (diamond
>> operator was one of the complaints).
>> 2. Next, I tried splitting jdkLevel into two properties in the pom,
>> jdkTargetLevel and jdkSourceLevel, targeting 1.6 but using 1.7 as source
>> on the master, but javac doesn't seem to like that.
>>
>>
>> Regarding the 1.6.3 snapshot version, I see it targets 1.6 already, but
>> it fails to compile for me, in this case also because of switching on a
>> String, I believe.
>>
>> I'd try maybe updating that myself, but I'm unclear how the generated
>> code gets generated?
>>
>>
>> On 6/27/16 2:02 AM, Christoph John wrote:
>>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
>>> QuickFIX/J Support: http://www.quickfixj.org/support/
>>>
>>>
>>> Hi,
>>>
>>> I've never seen that one before.
>>> Did you recompile your code against the new snapshot version? There were some changes to
>>> MessageFactory generation. It is now using switch statements instead of if-else-statements. That's
>>> the only thing in that area I could think of that could cause this error. But it is strange that it
>>> works with "-noverify". Maybe it is another problem.
>>>
>>> Chris.
>>>
>>>
>>> On 25/06/16 19:24, Sean LeBlanc wrote:
>>>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
>>>> QuickFIX/J Support: http://www.quickfixj.org/support/
>>>>
>>>>
>>>> Thanks again. For now, we took the path of least resistance and went
>>>> with 1.7.0 since we were already on that path.
>>>>
>>>> However, in case anyone else runs into this: one thing that did happen
>>>> at run-time, though, was this (see below). I had to give Java (in this
>>>> case, it's 1.8 update 40) the -noverify flag in order for startup to work?
>>>>
>>>>
>>>> Any ideas on why?
>>>>
>>>> java.lang.VerifyError: Inconsistent stackmap frames at branch target 1906
>>>> Exception Details:
>>>>        Location:
>>>> quickfix/fix44/MessageFactory.create(Ljava/lang/String;Ljava/lang/String;I)Lquickfix/Group;
>>>> @1906: iload
>>>>        Reason:
>>>>          Type top (current frame, locals[6]) is not assignable to integer
>>>> (stack map, locals[6])
>>>>        Current Frame:
>>>>          bci: @31
>>>>          flags: { }
>>>>          locals: { 'quickfix/fix44/MessageFactory', 'java/lang/String',
>>>> 'java/lang/String', integer, 'java/lang/String', integer, top, top, top,
>>>> integer, long, long_2nd }
>>>>          stack: { integer }
>>>>        Stackmap Frame:
>>>>          bci: @1906
>>>>          flags: { }
>>>>          locals: { 'quickfix/fix44/MessageFactory', 'java/lang/String',
>>>> 'java/lang/String', integer, 'java/lang/String', integer, integer, long,
>>>> long_2nd, integer, long, long_2nd }
>>>>          stack: { }
>>>>        Bytecode:
>>>>          0x0000000: 02c4 3600 0913 0b22 140b 23b8 09f9 c437
>>>>          0x0000010: 000a 0000 2c3a 0402 3605 1904 b600 02ab
>>>>          0x0000020: 0000 0753 0000 004b 0000 0036 0000 0281
>>>> ....
>>>>
>>>>
>>>> On 6/24/16 7:44 AM, Christoph John wrote:
>>>>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
>>>>> QuickFIX/J Support: http://www.quickfixj.org/support/
>>>>>
>>>>>
>>>>> Hi Sean,
>>>>>
>>>>> I have now merged the PRs affecting the certificate validation feature to 1.6.3-SNAPSHOT. Moreover,
>>>>> the fixes for the reconnection issue have also been merged.
>>>>>
>>>>> Normally, you could download the snapshot from here:
>>>>> https://oss.sonatype.org/content/repositories/snapshots/org/quickfixj/quickfixj-distribution/1.6.3-SNAPSHOT/
>>>>> But the 1.6.x build job on the build server currently has a problem. Maybe you could simply pull
>>>>> down the code from github and compile it by yourself.
>>>>> https://github.com/quickfix-j/quickfixj/tree/QFJ_1_6_x
>>>>>
>>>>> Cheers,
>>>>> Chris.
>>>>>
>>>>>
>>>>> On 24/06/16 09:55, Christoph John wrote:
>>>>>> Hi guys,
>>>>>>
>>>>>> SNAPSHOTs are here:
>>>>>> https://oss.sonatype.org/content/repositories/snapshots/org/quickfixj/quickfixj-distribution/1.7.0-SNAPSHOT/
>>>>>>
>>>>>> @Sean: I have not yet looked into the effort to merge the SSL validation feature down to 1.6.3.
>>>>>> I have just merged the PRto fix the problem (thanks to Youyu and Guido) on 1.7.0-SNAPSHOT. So you
>>>>>> should be able to get the current snapshot in half an hour or so.
>>>>>>
>>>>>> Cheers,
>>>>>> Chris.
>>>>>>
>>>>>>
>>>>>> On 23/06/16 21:58, Colin DuPlantis wrote:
>>>>>>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
>>>>>>> QuickFIX/J Support: http://www.quickfixj.org/support/
>>>>>>>
>>>>>>>
>>>>>>> We maintain the Marketcetera repo, so we can put up a new version of the
>>>>>>> 1.7.0 SNAPSHOT, if needed.
>>>>>>>
>>>>>>> Chris, I have it in my head that 1.7 snapshots are now in Maven Central,
>>>>>>> am I wrong about that?
>>>>>>>
>>>>>>> On 06/23/2016 12:53 PM, Sean LeBlanc wrote:
>>>>>>>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
>>>>>>>> QuickFIX/J Support: http://www.quickfixj.org/support/
>>>>>>>>
>>>>>>>>
>>>>>>>> Much appreciation to both of you.
>>>>>>>>
>>>>>>>> Also, any chance of the 1.7.0 version getting fixed? Also, I've noticed
>>>>>>>> that what is on the Maven repo for 1.7.0 is pretty old? Is there a more
>>>>>>>> current version in another repo?
>>>>>>>>
>>>>>>>> I'm referring to this directory:
>>>>>>>>
>>>>>>>> http://repo.marketcetera.org/maven/quickfixj/quickfixj-all/1.7.0-SNAPSHOT/
>>>>>>>>
>>>>>>>>
>>>>>>>> Alternatively - we switched to 1.7.0 just to get the certificate
>>>>>>>> validation feature. Would 1.6.3 have this, as well?
>>>>>>>>
>>>>>>>>
>>>>>>>> On 6/23/16 7:06 AM, Youyu Shao wrote:
>>>>>>>>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
>>>>>>>>> QuickFIX/J Support: http://www.quickfixj.org/support/
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Hi Chris,
>>>>>>>>>
>>>>>>>>> Thank you very much. We are looking forward the issue to be resolved in upcoming 1.6.3.
>>>>>>>>>
>>>>>>>>> Youyu
>>>>>>>>>
>>>>>>>>> -----Original Message-----
>>>>>>>>> From: Christoph John [mailto:[hidden email]]
>>>>>>>>> Sent: Thursday, June 23, 2016 2:07 AM
>>>>>>>>> To: [hidden email]
>>>>>>>>> Subject: Re: [Quickfixj-users] 1.7.0 - Not reconnecting the next time interval?
>>>>>>>>>
>>>>>>>>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
>>>>>>>>> QuickFIX/J Support: http://www.quickfixj.org/support/
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Hi,
>>>>>>>>>
>>>>>>>>> thanks for your analysis and fixes. Much appreciated. :) I have created aJIRA issue to track
>>>>>>>>> this: http://www.quickfixj.org/jira/browse/QFJ-895
>>>>>>>>>
>>>>>>>>> Cheers,
>>>>>>>>> Chris.
>>>>>>>>>
>>>>>>>>> On 23/06/16 02:35, Youyu Shao wrote:
>>>>>>>>>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
>>>>>>>>>> QuickFIX/J Support: http://www.quickfixj.org/support/
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Recently we have been seriously looking into using QuickFixJ (code
>>>>>>>>>> base 1.6.2).
>>>>>>>>>> In so doing, we have discovered several problems and subsequently
>>>>>>>>>> resolved in house.
>>>>>>>>>>
>>>>>>>>>> 1. Mina would throw org.apache.mina.core.RuntimeIoException wrapping
>>>>>>>>>> java.net.SocketException at various places.
>>>>>>>>>>             For example, this happens at:
>>>>>>>>>>             org.apache.mina.core.RuntimeIoException: java.net.SocketException:
>>>>>>>>>> Invalid argument: no further information
>>>>>>>>>>              at
>>>>>>>>>> org.apache.mina.transport.socket.nio.NioSocketSession$SessionConfigImpl.setTcpNoDelay(NioSocketSession.java:208)
>>>>>>>>>>
>>>>>>>>>>              at quickfix.mina.NetworkingOptions.apply(NetworkingOptions.java:155)
>>>>>>>>>>              at
>>>>>>>>>> quickfix.mina.AbstractIoHandler.sessionCreated(AbstractIoHandler.java:93)
>>>>>>>>>>              at
>>>>>>>>>> quickfix.mina.initiator.InitiatorIoHandler.sessionCreated(InitiatorIoHandler.java:50)
>>>>>>>>>>              .....
>>>>>>>>>>             When this happens, exceptionCaught method of AbstractIoHandler is
>>>>>>>>>> not able to properly detect there was an underlying socket IOException.
>>>>>>>>>>             AbstractIoHandler has been modified to un-wrap the exception and
>>>>>>>>>> see if along the exception chain there is an IOException.
>>>>>>>>>>
>>>>>>>>>> 2. org.apache.mina.core.session.IoSession internal state is
>>>>>>>>>> problematic. On and off,
>>>>>>>>>>             IoSession.isConnected() does not return the correct value after
>>>>>>>>>> QuickFixJ called IoSession.close() method(up on experiencing IOException).
>>>>>>>>>>             quickfix.mina.initiator.IoSessionInitiator has been refactored to
>>>>>>>>>> replace the old IoConnector with a new one upon experiencing IOException.
>>>>>>>>>>             quickfix.mina.AbstractIoHandler is adjusted accordingly to signal
>>>>>>>>>> the IoSessionInitiator to do so.
>>>>>>>>>>
>>>>>>>>>> 3. Modified the run() method of ConnectTask in IoSessionInitiator to
>>>>>>>>>> be protected by try block. This is to prevent the scheduled Task from
>>>>>>>>>>             stop running in presence of exception. (see javadoc on
>>>>>>>>>> scheduleWithFixedDelay(...) method of
>>>>>>>>>> java.util.concurrent.ScheduledExecutorService
>>>>>>>>>>             which states that "...If any execution of the task encounters an
>>>>>>>>>> exception, subsequent executions are suppressed...")
>>>>>>>>>>
>>>>>>>>>> 4. Again, org.apache.mina.core.session.IoSession internal state is
>>>>>>>>>> problematic. Even after the
>>>>>>>>>>             normal disconnect() from IoSessionResponder, on and off the
>>>>>>>>>> IoSession.isConnected() still does not return the correct value.
>>>>>>>>>>             quickfix.mina.IoSessionResponder is adjusted to signal the
>>>>>>>>>> IoSessionInitiator to replace the IoConnector. IoSessionResponderTest
>>>>>>>>>> is adjusted accordingly.
>>>>>>>>>>                      5. quickfix.ThreadedSocketAcceptor leaks resources when stoped.
>>>>>>>>>>             Instead of calling stopSessionTimer() in the stop() method, it
>>>>>>>>>> should call stopInitiators().
>>>>>>>>>>              Problems identified in 1, 2, 3, and 4 ultimately manifested them in
>>>>>>>>>> ways that reconnecting would stop working (forever), even absent of IOExceptions.
>>>>>>>>>>
>>>>>>>>>> With the fix, we have the QuickFixJ engine running for a week where
>>>>>>>>>> reconnecting works with no problem. During this period the
>>>>>>>>>> counterparty logged out and severed the TCP connection more than 20000
>>>>>>>>>> times. Our test also indicates that the fix works equally SSL vs non-SSL.
>>>>>>>>>>
>>>>>>>>>> Modified files are attached.
>>>>>>>>>>
>>>>>>>>>> AbstractIoHandler.java
>>>>>>>>>> <http://quickfix-j.364392.n2.nabble.com/file/n7579557/AbstractIoHandle
>>>>>>>>>> r.java>
>>>>>>>>>> IoSessionInitiator.java
>>>>>>>>>> <http://quickfix-j.364392.n2.nabble.com/file/n7579557/IoSessionInitiat
>>>>>>>>>> or.java>
>>>>>>>>>> IoSessionResponder.java
>>>>>>>>>> <http://quickfix-j.364392.n2.nabble.com/file/n7579557/IoSessionRespond
>>>>>>>>>> er.java>
>>>>>>>>>> IoSessionResponderTest.java
>>>>>>>>>> <http://quickfix-j.364392.n2.nabble.com/file/n7579557/IoSessionRespond
>>>>>>>>>> erTest.java>
>>>>>>>>>> ThreadedSocketInitiator.java
>>>>>>>>>> <http://quickfix-j.364392.n2.nabble.com/file/n7579557/ThreadedSocketIn
>>>>>>>>>> itiator.java>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> View this message in context:
>>>>>>>>>> http://quickfix-j.364392.n2.nabble.com/1-7-0-Not-reconnecting-the-next
>>>>>>>>>> -time-interval-tp7579547p7579557.html
>>>>>>>>>> Sent from the QuickFIX/J mailing list archive at Nabble.com.
>>>>>>>>>>
>>>>>>>>>> ----------------------------------------------------------------------
>>>>>>>>>> -------- Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T
>>>>>>>>>> Park in San Francisco, CA to explore cutting-edge tech and listen to
>>>>>>>>>> tech luminaries present their vision of the future. This family event
>>>>>>>>>> has something for everyone, including kids. Get more information and
>>>>>>>>>> register today.
>>>>>>>>>> http://sdm.link/attshape
>>>>>>>>>> _______________________________________________
>>>>>>>>>> Quickfixj-users mailing list
>>>>>>>>>> [hidden email]
>>>>>>>>>> https://lists.sourceforge.net/lists/listinfo/quickfixj-users
>>>>>>>>> --
>>>>>>>>> Christoph John
>>>>>>>>> Development & Support
>>>>>>>>> Direct: +49 241 557080-28
>>>>>>>>> Mailto:[hidden email]
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> http://www.macd.com <http://www.macd.com/>
>>>>>>>>> ----------------------------------------------------------------------------------------------------
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> ----------------------------------------------------------------------------------------------------
>>>>>>>>>
>>>>>>>>> MACD GmbH
>>>>>>>>> Oppenhoffallee 103
>>>>>>>>> D-52066 Aachen
>>>>>>>>> Tel: +49 241 557080-0 | Fax: +49 241 557080-10
>>>>>>>>>           Amtsgericht Aachen: HRB 8151
>>>>>>>>> Ust.-Id: DE 813021663
>>>>>>>>>
>>>>>>>>> Geschäftsführer: George Macdonald
>>>>>>>>> ----------------------------------------------------------------------------------------------------
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> ----------------------------------------------------------------------------------------------------
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> take care of the environment - print only if necessary
>>>>>>>>>
>>>>>>>>> ------------------------------------------------------------------------------
>>>>>>>>> Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
>>>>>>>>> Francisco, CA to explore cutting-edge tech and listen to tech luminaries
>>>>>>>>> present their vision of the future. This family event has something for
>>>>>>>>> everyone, including kids. Get more information and register today.
>>>>>>>>> http://sdm.link/attshape
>>>>>>>>> _______________________________________________
>>>>>>>>> Quickfixj-users mailing list
>>>>>>>>> [hidden email]
>>>>>>>>> https://lists.sourceforge.net/lists/listinfo/quickfixj-users
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> ------------------------------------------------------------------------------
>>>>>>>>> Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
>>>>>>>>> Francisco, CA to explore cutting-edge tech and listen to tech luminaries
>>>>>>>>> present their vision of the future. This family event has something for
>>>>>>>>> everyone, including kids. Get more information and register today.
>>>>>>>>> http://sdm.link/attshape
>>>>>>>>> _______________________________________________
>>>>>>>>> Quickfixj-users mailing list
>>>>>>>>> [hidden email]
>>>>>>>>> https://lists.sourceforge.net/lists/listinfo/quickfixj-users
>>>>>>>> ------------------------------------------------------------------------------
>>>>>>>> Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
>>>>>>>> Francisco, CA to explore cutting-edge tech and listen to tech luminaries
>>>>>>>> present their vision of the future. This family event has something for
>>>>>>>> everyone, including kids. Get more information and register today.
>>>>>>>> http://sdm.link/attshape
>>>>>>>> _______________________________________________
>>>>>>>> Quickfixj-users mailing list
>>>>>>>> [hidden email]
>>>>>>>> https://lists.sourceforge.net/lists/listinfo/quickfixj-users
>>>> ------------------------------------------------------------------------------
>>>> Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
>>>> Francisco, CA to explore cutting-edge tech and listen to tech luminaries
>>>> present their vision of the future. This family event has something for
>>>> everyone, including kids. Get more information and register today.
>>>> http://sdm.link/attshape
>>>> _______________________________________________
>>>> Quickfixj-users mailing list
>>>> [hidden email]
>>>> https://lists.sourceforge.net/lists/listinfo/quickfixj-users
>>
>> ------------------------------------------------------------------------------
>> Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
>> Francisco, CA to explore cutting-edge tech and listen to tech luminaries
>> present their vision of the future. This family event has something for
>> everyone, including kids. Get more information and register today.
>> http://sdm.link/attshape
>> _______________________________________________
>> Quickfixj-users mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/quickfixj-users



------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users
12
Loading...