quickfix-developers Mailing List for QuickFIX (Page 156)
Brought to you by:
orenmnero
You can subscribe to this list here.
| 2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2002 |
Jan
|
Feb
(5) |
Mar
(16) |
Apr
(15) |
May
(17) |
Jun
(33) |
Jul
(35) |
Aug
(34) |
Sep
(19) |
Oct
(40) |
Nov
(51) |
Dec
(43) |
| 2003 |
Jan
(45) |
Feb
(79) |
Mar
(124) |
Apr
(121) |
May
(132) |
Jun
(77) |
Jul
(110) |
Aug
(57) |
Sep
(48) |
Oct
(83) |
Nov
(60) |
Dec
(40) |
| 2004 |
Jan
(67) |
Feb
(72) |
Mar
(74) |
Apr
(87) |
May
(70) |
Jun
(96) |
Jul
(75) |
Aug
(147) |
Sep
(128) |
Oct
(83) |
Nov
(67) |
Dec
(42) |
| 2005 |
Jan
(110) |
Feb
(84) |
Mar
(68) |
Apr
(55) |
May
(51) |
Jun
(192) |
Jul
(111) |
Aug
(100) |
Sep
(79) |
Oct
(127) |
Nov
(73) |
Dec
(112) |
| 2006 |
Jan
(95) |
Feb
(120) |
Mar
(138) |
Apr
(127) |
May
(124) |
Jun
(97) |
Jul
(103) |
Aug
(88) |
Sep
(138) |
Oct
(91) |
Nov
(112) |
Dec
(57) |
| 2007 |
Jan
(55) |
Feb
(35) |
Mar
(56) |
Apr
(16) |
May
(20) |
Jun
(77) |
Jul
(43) |
Aug
(47) |
Sep
(29) |
Oct
(54) |
Nov
(39) |
Dec
(40) |
| 2008 |
Jan
(69) |
Feb
(79) |
Mar
(122) |
Apr
(106) |
May
(114) |
Jun
(76) |
Jul
(83) |
Aug
(71) |
Sep
(53) |
Oct
(75) |
Nov
(54) |
Dec
(43) |
| 2009 |
Jan
(32) |
Feb
(31) |
Mar
(64) |
Apr
(48) |
May
(38) |
Jun
(43) |
Jul
(35) |
Aug
(15) |
Sep
(52) |
Oct
(62) |
Nov
(62) |
Dec
(21) |
| 2010 |
Jan
(44) |
Feb
(10) |
Mar
(47) |
Apr
(22) |
May
(5) |
Jun
(54) |
Jul
(19) |
Aug
(54) |
Sep
(16) |
Oct
(15) |
Nov
(7) |
Dec
(8) |
| 2011 |
Jan
(18) |
Feb
(9) |
Mar
(5) |
Apr
(5) |
May
(41) |
Jun
(40) |
Jul
(29) |
Aug
(17) |
Sep
(12) |
Oct
(23) |
Nov
(22) |
Dec
(11) |
| 2012 |
Jan
(8) |
Feb
(24) |
Mar
(5) |
Apr
(5) |
May
(6) |
Jun
(5) |
Jul
(5) |
Aug
(5) |
Sep
(2) |
Oct
(9) |
Nov
(2) |
Dec
(18) |
| 2013 |
Jan
(25) |
Feb
(16) |
Mar
(8) |
Apr
(2) |
May
(16) |
Jun
(17) |
Jul
(2) |
Aug
(13) |
Sep
(3) |
Oct
(4) |
Nov
(1) |
Dec
|
| 2014 |
Jan
(2) |
Feb
|
Mar
(22) |
Apr
(9) |
May
(3) |
Jun
(1) |
Jul
(5) |
Aug
(11) |
Sep
(18) |
Oct
(4) |
Nov
(4) |
Dec
(3) |
| 2015 |
Jan
(2) |
Feb
|
Mar
|
Apr
(3) |
May
(4) |
Jun
(37) |
Jul
|
Aug
(4) |
Sep
(6) |
Oct
(1) |
Nov
(4) |
Dec
(2) |
| 2016 |
Jan
(9) |
Feb
(3) |
Mar
(7) |
Apr
(1) |
May
(8) |
Jun
|
Jul
|
Aug
|
Sep
(7) |
Oct
(3) |
Nov
(16) |
Dec
|
| 2017 |
Jan
(1) |
Feb
(15) |
Mar
(2) |
Apr
(12) |
May
(4) |
Jun
(7) |
Jul
(5) |
Aug
|
Sep
|
Oct
|
Nov
(23) |
Dec
(8) |
| 2018 |
Jan
(2) |
Feb
(4) |
Mar
(2) |
Apr
(8) |
May
(3) |
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
| 2019 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(1) |
Sep
|
Oct
(5) |
Nov
(3) |
Dec
|
| 2020 |
Jan
|
Feb
(4) |
Mar
(3) |
Apr
|
May
|
Jun
|
Jul
(12) |
Aug
(5) |
Sep
(3) |
Oct
(1) |
Nov
|
Dec
(1) |
| 2021 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
|
| 2022 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2025 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2026 |
Jan
|
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Fad <s.f...@gm...> - 2006-04-11 08:01:12
|
For example, in the server's message log there are: 8=3DFIX.4.2=019=3D160=0135=3DUY=0134=3D81768=0149=3DSPHERA_ALL=0152=3D20060= 410-16:01: 34.267=0156=3DCLIENT_ALL1=0155=3DTXT=01207=3DAFF=01262=3DInfo94=0110074=3DV= CH=0110076=3D0=0110077=3D0=0110080=3D0=0110081=3D00:00:00=0110082=3DS=01100= 83=3D0=0110=3D180=01 8=3D FIX.4.2=019=3D159=0135=3DUY=0134=3D81769=0149=3DSPHERA_ALL=0152=3D20060410-= 16:01:34.283=0156=3DCLIENT_ALL1=0155=3DMS=01207=3DAFF=01262=3DInfo95=011007= 4=3DVCH=0110076=3D0=0110077=3D0=0110080=3D0=0110081=3D00:00:00=0110082=3DS= =0110083=3D0=0110=3D092=01 8=3D FIX.4.2=019=3D160=0135=3DUY=0134=3D81770=0149=3DSPHERA_ALL=0152=3D20060410-= 16:01:34.298=0156=3DCLIENT_ALL1=0155=3DOLI=01207=3DAFF=01262=3DInfo96=01100= 74=3DVCH=0110076=3D0=0110077=3D0=0110080=3D0=0110081=3D00:00:00=0110082=3DS= =0110083=3D0=0110=3D151=01 If the client send a ResendRequest to server like this: 8=3D FIX.4.2=019=3D82=0135=3D2=0134=3D10=0149=3DCLIENT_ALL1=0152=3D20060411-06:5= 2:07.507=0156=3DSPHERA_ALL=017=3D81768=0116=3D81770=0110=3D086=01 The QuickFix engine on server side doesn't send nothing.. Why..? Stefano. |
|
From: Caleb E. <cal...@gm...> - 2006-04-10 20:10:12
|
On 4/10/06, Fad <s.f...@gm...> wrote: > > I am developing a clien and a server both includes QuickFix engine. > For many reasons the client side could require old messages, from one > MsgSeqNum to another MsgSeqNum with a "ResendRequest". The QuickFix engi= ne > do this only for his session operation and not every time I ask this > "service". > How can I do? > QuickFIX will respond to each and every ResendRequest it receives. Are you not seeing this behavior? Do you have any sample code and logfiles? -- Caleb Epstein caleb dot epstein at gmail dot com |
|
From: Fad <s.f...@gm...> - 2006-04-10 19:12:20
|
I try to be more explicit. I am developing a clien and a server both includes QuickFix engine. For many reasons the client side could require old messages, from one MsgSeqNum to another MsgSeqNum with a "ResendRequest". The QuickFix engine do this only for his session operation and not every time I ask this "service". How can I do? Thanks, Facchetti Stefano |
|
From: Caleb E. <cal...@gm...> - 2006-04-10 15:03:47
|
On 4/10/06, Fad <s.f...@gm...> wrote: > Upon receipt of a Resend Request, the resender can respond in one of > three ways: > > 1. retransmit the requested messages (in order) with the original > sequence numbers and PossDupFlag set to "Y" > 2. issue a SeqReset-GapFill with PossDupFlag set to "Y" message to > replace the retransmission of administrative and application messages > 3. issue a SeqReset-Reset with PossDupFlag set to "Y" to force sequence > number synchronization > > With QuickFix is not possible implement the first point. Infact, the engi= ne > doesn't allow to send message with MsgSeqNum small as regards the last se= nt > message. QuickFIX implements this logic for you automatically in the Session layer. Are you trying to handle this yourself in your Application?=20 It is not necessary. -- Caleb Epstein caleb dot epstein at gmail dot com |
|
From: Fad <s.f...@gm...> - 2006-04-10 13:47:58
|
In the Fix specification there is written: Upon receipt of a Resend Request, the resender can respond in one of three ways: 1. retransmit the requested messages (in order) with the original sequence numbers and PossDupFlag set to "Y" 2. issue a SeqReset-GapFill with PossDupFlag set to "Y" message to replace the retransmission of administrative and application messages 3. issue a SeqReset-Reset with PossDupFlag set to "Y" to force sequence number synchronization With QuickFix is not possible implement the first point. Infact, the engine doesn't allow to send message with MsgSeqNum small as regards the last sent message. Thanks. |
|
From: Fad <s.f...@gm...> - 2006-04-10 13:26:28
|
In the Fix specification there is written: Upon receipt of a Resend Request, the resender can respond in one of three ways: 1. retransmit the requested messages (in order) with the original sequence numbers and PossDupFlag set to "Y" 2. issue a SeqReset-GapFill with PossDupFlag set to "Y" message to replace the retransmission of administrative and application messages 3. issue a SeqReset-Reset with PossDupFlag set to "Y" to force sequence number synchronization With QuickFix is not possible implement the first point. Infact, the engine doesn't allow to send message with MsgSeqNum small as regards the last sent message. Thanks. |
|
From: Sean K. <sea...@pi...> - 2006-04-08 17:30:42
|
Thanks, Oren. -----Original Message----- From: Oren Miller [mailto:or...@qu...] Sent: Saturday, April 08, 2006 1:29 PM To: Sean Kirkpatrick Cc: qui...@li... Subject: Re: [Quickfix-developers] Database connections not closing This line should be: Connection& connection =3D m_connections[id]; That should have the same effect without needing to do the lookup =20 multiple times. --oren On Apr 8, 2006, at 12:08 PM, Sean Kirkpatrick wrote: > Connection connection =3D m_connections[id]; |
|
From: Oren M. <or...@qu...> - 2006-04-08 17:29:22
|
This line should be: Connection& connection = m_connections[id]; That should have the same effect without needing to do the lookup multiple times. --oren On Apr 8, 2006, at 12:08 PM, Sean Kirkpatrick wrote: > Connection connection = m_connections[id]; |
|
From: Sean K. <sea...@pi...> - 2006-04-08 17:08:22
|
Hello All,
I just recently noticed that when I shut down my engine for the evening =
the connections to the db are not closing out properly. It turns out =
there is an issue in the destroy function of the DatabaseConnectionPool =
class:
bool destroy( T* pConnection )
{
if( !m_poolConnections )
{
delete pConnection;
return true;
}
const DatabaseConnectionID& id =3D pConnection->connectionID();
if( m_connections.find( id ) =3D=3D m_connections.end() )
return false;
Connection connection =3D m_connections[id];
if( connection.first !=3D pConnection )
return false;
connection.second--;
if( connection.second =3D=3D 0 )
{
m_connections.erase( id );
delete pConnection;
}
return true;
}
The issue appears to be decrementing the ref count in the local =
variable. The fix I've applied locally to resolve the issue is:
bool destroy( T* pConnection )
{
if( !m_poolConnections )
{
delete pConnection;
return true;
}
const DatabaseConnectionID& id =3D pConnection->connectionID();
if( m_connections.find( id ) =3D=3D m_connections.end() )
return false;
if( m_connections[id].first !=3D pConnection )
return false;
m_connections[id].second--;
if( m_connections[id].second =3D=3D 0 )
{
m_connections.erase( id );
delete pConnection;
}
return true;
}
Hopefully this is a satisfactory fix for the problem...
Regards,
Sean Kirkpatrick
|
|
From: tony w. <ton...@ya...> - 2006-04-07 20:55:13
|
Oren,
Thank you, I'm now able to compile both quickfix.lib and
quickfix_net.dll Unfortunately I'm not able to get much more info since
I can't step into quickfix.lib. The Call Stack lists this as the new
hanging point:
void stop( bool force )
{ QF_STACK_TRY
m_pUnmanaged->stop( force );
QF_STACK_CATCH
}
Beyond this the call stack only lists this line "[Managed To Native
Transition]", which I am unable to step into.
Tony
Oren Miller wrote:
> Tony,
>
> You need to download the Microsoft Platform SDK. See the December 31
> entry on this page( http://www.geometrictools.com/KnownProblems.html ).
> It gives instructions on how to work around the atlthunk.lib issue. I
> have tried this and have been able to succesfully compile QuickFIX with
> Visual Studio Express.
>
> --oren
>
> On Apr 7, 2006, at 1:09 PM, tony weston wrote:
>
>> Oren,
>>
>> I recently switched to calling logout before stop, thinking this was a
>> cleaner method. I will switch back to just calling stop.
>>
>> Unfortunately I'm using the Express Editions of VS, which doesn't allow
>> me to compile quickfix, due to a atlthunk.lib issue, it seems I need a
>> full copy of VS to compile quickfix. Due to this I can not step into
>> the debugger to find out where exactly it is hanging inside of quickfix.
>> The only thing I can currently see is that it hangs when I call stop.
>>
>> Tony
>>
>> Oren Miller wrote:
>>> First off, stop will call the logout method on all the sessions, so
>>> there is no need to do so yourself (though it wouldn't hurt anything
>>> if you did). Also, stop already has the following loop:
>>> for( int second = 1; second <= 10 && isLoggedOn(); ++second )
>>> process_sleep( 1 );
>>> The only place I can think where it would block is when it joins on
>>> the thread. Can you verify that this is where you the library is
>>> freezing?
>>> --oren
>>> On Apr 7, 2006, at 9:06 AM, Tony Weston wrote:
>>>> QuickFIX Documentation:
>>>> http://www.quickfixengine.org/quickfix/doc/html/index.html
>>>> QuickFIX Support: http://www.quickfixengine.org/services.html
>>>>
>>>> Hi Dave,
>>>>
>>>> Unfortunately, it hangs on the stop call so it will never reach the
>>>> while loop that waits for the logout. I'm not currently waiting for
>>>> a logout before calling stop, so putting this wait in after I call
>>>> logout and before I call stop may fix the problem for me.
>>>>
>>>> Thank you,
>>>> Tony
>>>>
>>>> Dave Linaker wrote:
>>>>> Hi Tony,
>>>>> Rather than calling logout and then stop (stop will logout anyway),
>>>>> have
>>>>> you tried calling stop and then waiting for the logout to complete?
>>>>> e.g:
>>>>> //stop the initiator
>>>>> initiator.stop();
>>>>> //wait for logout
>>>>> while(initiator.isLoggedOn())
>>>>> Thread.Sleep(500);
>>>>> //continue...
>>>>> Cheers
>>>>> Dave
>>>>> -----Original Message-----
>>>>> From: qui...@li...
>>>>> [mailto:qui...@li...] On Behalf Of
>>>>> tony weston
>>>>> Sent: 06 April 2006 19:43
>>>>> To: qui...@li...
>>>>> Subject: [Quickfix-developers] stopping initiator hangs application
>>>>> Hello,
>>>>> I've been using quickfix with great success, although I've came
>>>>> across a
>>>>> problem when trying to stop an initiator in VB .Net 2. When I call
>>>>> "stop" my application will frequently hang on this call. I've tried
>>>>> with version 1.11.1 and with using the automated builds for VS 8 under
>>>>> the developers section of the website, both having the same results.
>>>>> I'm also passing a value of "True" when calling the stop method to
>>>>> force
>>>>> close, but it still occasionally hangs. Before calling stop I call
>>>>> logout on my open session. Is there something that I'm doing
>>>>> incorrectly or another way to get around this problem?
>>>>> Thank you,
>>>>> Tony
>>>>
>>>>
>>>> -------------------------------------------------------
>>>> This SF.Net email is sponsored by xPML, a groundbreaking scripting
>>>> language
>>>> that extends applications into web and mobile media. Attend the live
>>>> webcast
>>>> and join the prime developer group breaking into this new coding
>>>> territory!
>>>> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
>>>>
>>>> _______________________________________________
>>>> Quickfix-developers mailing list
>>>> Qui...@li...
>>>> https://lists.sourceforge.net/lists/listinfo/quickfix-developers
>>>>
>>
>>
>
>
|
|
From: Shawn Y. <sya...@ge...> - 2006-04-07 19:28:28
|
Sounds good to me, thanks. This exchange (CME) is touchy so I'm glad = you found a good solution. Shawn Yarbrough Senior E-Trading Developer Gelber Group, LLC sya...@ge... THE MESSAGES AND DOCUMENTS TRANSMITTED WITH THIS NOTICE CONTAIN = CONFIDENTIAL INFORMATION BELONGING TO THE SENDER. IF YOU ARE NOT THE = INTENDED RECIPIENT OF THIS INFORMATION, YOU ARE HEREBY NOTIFIED THAT ANY = DISCLOSURE, COPYING, DISTRIBUTION OR USE OF THE INFORMATION IS STRICTLY = PROHIBITED. IF YOU HAVE RECEIVED THIS TRANSMISSION IN ERROR, PLEASE = NOTIFY THE SENDER IMMEDIATELY. -----Original Message----- From: Oren Miller [mailto:or...@qu...] Sent: Friday, April 07, 2006 12:08 PM To: Shawn Yarbrough Cc: qui...@li... Subject: Re: QuickFIX for Python I checked in a fix that makes sure the SendingTime and =20 OrigSendingTime will match for SequenceReset messages. The resend =20 functionality is different because there the timestamps can and =20 should be different, but for SequenceResets, the message is being =20 sent for the first time. The only reason there is an OrigSendingTime =20 in the message is that it must accompany and message containing a =20 PossDup field. And the only reason it has a PossDup field is because =20 any message sent as a result of a resend request must contain a =20 PossDup field, even if the message was never sent before. So it is a =20 bit of an anomoly. --oren |
|
From: Dale W. <wil...@oc...> - 2006-04-07 18:20:58
|
Hi, Tony, If you copy the ATL header files from VC7 into the VC8 include directory I think you can build QF with VC8-express (I'm not at work today so I can't check the details.) Dale tony weston wrote: > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > Oren, > > I recently switched to calling logout before stop, thinking this was a > cleaner method. I will switch back to just calling stop. > > Unfortunately I'm using the Express Editions of VS, which doesn't allow > me to compile quickfix, due to a atlthunk.lib issue, it seems I need a > full copy of VS to compile quickfix. Due to this I can not step into > the debugger to find out where exactly it is hanging inside of quickfix. > The only thing I can currently see is that it hangs when I call stop. > > Tony > > Oren Miller wrote: >> First off, stop will call the logout method on all the sessions, so >> there is no need to do so yourself (though it wouldn't hurt anything >> if you did). Also, stop already has the following loop: >> >> for( int second = 1; second <= 10 && isLoggedOn(); ++second ) >> process_sleep( 1 ); >> >> The only place I can think where it would block is when it joins on >> the thread. Can you verify that this is where you the library is >> freezing? >> >> --oren >> >> On Apr 7, 2006, at 9:06 AM, Tony Weston wrote: >> >>> QuickFIX Documentation: >>> http://www.quickfixengine.org/quickfix/doc/html/index.html >>> QuickFIX Support: http://www.quickfixengine.org/services.html >>> >>> Hi Dave, >>> >>> Unfortunately, it hangs on the stop call so it will never reach the >>> while loop that waits for the logout. I'm not currently waiting for >>> a logout before calling stop, so putting this wait in after I call >>> logout and before I call stop may fix the problem for me. >>> >>> Thank you, >>> Tony >>> >>> Dave Linaker wrote: >>>> Hi Tony, >>>> Rather than calling logout and then stop (stop will logout anyway), >>>> have >>>> you tried calling stop and then waiting for the logout to complete? >>>> e.g: >>>> //stop the initiator >>>> initiator.stop(); >>>> //wait for logout >>>> while(initiator.isLoggedOn()) >>>> Thread.Sleep(500); >>>> //continue... >>>> Cheers >>>> Dave >>>> -----Original Message----- >>>> From: qui...@li... >>>> [mailto:qui...@li...] On Behalf Of >>>> tony weston >>>> Sent: 06 April 2006 19:43 >>>> To: qui...@li... >>>> Subject: [Quickfix-developers] stopping initiator hangs application >>>> Hello, >>>> I've been using quickfix with great success, although I've came >>>> across a >>>> problem when trying to stop an initiator in VB .Net 2. When I call >>>> "stop" my application will frequently hang on this call. I've tried >>>> with version 1.11.1 and with using the automated builds for VS 8 under >>>> the developers section of the website, both having the same results. >>>> I'm also passing a value of "True" when calling the stop method to >>>> force >>>> close, but it still occasionally hangs. Before calling stop I call >>>> logout on my open session. Is there something that I'm doing >>>> incorrectly or another way to get around this problem? >>>> Thank you, >>>> Tony >>> >>> >>> ------------------------------------------------------- >>> This SF.Net email is sponsored by xPML, a groundbreaking scripting >>> language >>> that extends applications into web and mobile media. Attend the live >>> webcast >>> and join the prime developer group breaking into this new coding >>> territory! >>> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 >>> >>> _______________________________________________ >>> Quickfix-developers mailing list >>> Qui...@li... >>> https://lists.sourceforge.net/lists/listinfo/quickfix-developers >>> >> >> > > > > ------------------------------------------------------- > This SF.Net email is sponsored by xPML, a groundbreaking scripting > language > that extends applications into web and mobile media. Attend the live > webcast > and join the prime developer group breaking into this new coding > territory! > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers |
|
From: Oren M. <or...@qu...> - 2006-04-07 18:20:48
|
Tony, You need to download the Microsoft Platform SDK. See the December 31 entry on this page( http://www.geometrictools.com/ KnownProblems.html ). It gives instructions on how to work around the atlthunk.lib issue. I have tried this and have been able to succesfully compile QuickFIX with Visual Studio Express. --oren On Apr 7, 2006, at 1:09 PM, tony weston wrote: > Oren, > > I recently switched to calling logout before stop, thinking this was a > cleaner method. I will switch back to just calling stop. > > Unfortunately I'm using the Express Editions of VS, which doesn't > allow > me to compile quickfix, due to a atlthunk.lib issue, it seems I need a > full copy of VS to compile quickfix. Due to this I can not step into > the debugger to find out where exactly it is hanging inside of > quickfix. > The only thing I can currently see is that it hangs when I call stop. > > Tony > > Oren Miller wrote: >> First off, stop will call the logout method on all the sessions, >> so there is no need to do so yourself (though it wouldn't hurt >> anything if you did). Also, stop already has the following loop: >> for( int second = 1; second <= 10 && isLoggedOn(); ++second ) >> process_sleep( 1 ); >> The only place I can think where it would block is when it joins >> on the thread. Can you verify that this is where you the library >> is freezing? >> --oren >> On Apr 7, 2006, at 9:06 AM, Tony Weston wrote: >>> QuickFIX Documentation: http://www.quickfixengine.org/quickfix/ >>> doc/html/index.html >>> QuickFIX Support: http://www.quickfixengine.org/services.html >>> >>> Hi Dave, >>> >>> Unfortunately, it hangs on the stop call so it will never reach >>> the while loop that waits for the logout. I'm not currently >>> waiting for a logout before calling stop, so putting this wait in >>> after I call logout and before I call stop may fix the problem >>> for me. >>> >>> Thank you, >>> Tony >>> >>> Dave Linaker wrote: >>>> Hi Tony, >>>> Rather than calling logout and then stop (stop will logout >>>> anyway), have >>>> you tried calling stop and then waiting for the logout to >>>> complete? e.g: >>>> //stop the initiator >>>> initiator.stop(); >>>> //wait for logout >>>> while(initiator.isLoggedOn()) >>>> Thread.Sleep(500); >>>> //continue... >>>> Cheers >>>> Dave >>>> -----Original Message----- >>>> From: qui...@li... >>>> [mailto:qui...@li...] On >>>> Behalf Of >>>> tony weston >>>> Sent: 06 April 2006 19:43 >>>> To: qui...@li... >>>> Subject: [Quickfix-developers] stopping initiator hangs application >>>> Hello, >>>> I've been using quickfix with great success, although I've came >>>> across a >>>> problem when trying to stop an initiator in VB .Net 2. When I call >>>> "stop" my application will frequently hang on this call. I've >>>> tried >>>> with version 1.11.1 and with using the automated builds for VS 8 >>>> under >>>> the developers section of the website, both having the same >>>> results. >>>> I'm also passing a value of "True" when calling the stop method >>>> to force >>>> close, but it still occasionally hangs. Before calling stop I call >>>> logout on my open session. Is there something that I'm doing >>>> incorrectly or another way to get around this problem? >>>> Thank you, >>>> Tony >>> >>> >>> ------------------------------------------------------- >>> This SF.Net email is sponsored by xPML, a groundbreaking >>> scripting language >>> that extends applications into web and mobile media. Attend the >>> live webcast >>> and join the prime developer group breaking into this new coding >>> territory! >>> http://sel.as-us.falkag.net/sel? >>> cmd=lnk&kid=110944&bid=241720&dat=121642 >>> _______________________________________________ >>> Quickfix-developers mailing list >>> Qui...@li... >>> https://lists.sourceforge.net/lists/listinfo/quickfix-developers >>> > > |
|
From: tony w. <ton...@ya...> - 2006-04-07 18:08:35
|
Oren, I recently switched to calling logout before stop, thinking this was a cleaner method. I will switch back to just calling stop. Unfortunately I'm using the Express Editions of VS, which doesn't allow me to compile quickfix, due to a atlthunk.lib issue, it seems I need a full copy of VS to compile quickfix. Due to this I can not step into the debugger to find out where exactly it is hanging inside of quickfix. The only thing I can currently see is that it hangs when I call stop. Tony Oren Miller wrote: > First off, stop will call the logout method on all the sessions, so > there is no need to do so yourself (though it wouldn't hurt anything if > you did). Also, stop already has the following loop: > > for( int second = 1; second <= 10 && isLoggedOn(); ++second ) > process_sleep( 1 ); > > The only place I can think where it would block is when it joins on the > thread. Can you verify that this is where you the library is freezing? > > --oren > > On Apr 7, 2006, at 9:06 AM, Tony Weston wrote: > >> QuickFIX Documentation: >> http://www.quickfixengine.org/quickfix/doc/html/index.html >> QuickFIX Support: http://www.quickfixengine.org/services.html >> >> Hi Dave, >> >> Unfortunately, it hangs on the stop call so it will never reach the >> while loop that waits for the logout. I'm not currently waiting for a >> logout before calling stop, so putting this wait in after I call >> logout and before I call stop may fix the problem for me. >> >> Thank you, >> Tony >> >> Dave Linaker wrote: >>> Hi Tony, >>> Rather than calling logout and then stop (stop will logout anyway), have >>> you tried calling stop and then waiting for the logout to complete? e.g: >>> //stop the initiator >>> initiator.stop(); >>> //wait for logout >>> while(initiator.isLoggedOn()) >>> Thread.Sleep(500); >>> //continue... >>> Cheers >>> Dave >>> -----Original Message----- >>> From: qui...@li... >>> [mailto:qui...@li...] On Behalf Of >>> tony weston >>> Sent: 06 April 2006 19:43 >>> To: qui...@li... >>> Subject: [Quickfix-developers] stopping initiator hangs application >>> Hello, >>> I've been using quickfix with great success, although I've came across a >>> problem when trying to stop an initiator in VB .Net 2. When I call >>> "stop" my application will frequently hang on this call. I've tried >>> with version 1.11.1 and with using the automated builds for VS 8 under >>> the developers section of the website, both having the same results. >>> I'm also passing a value of "True" when calling the stop method to force >>> close, but it still occasionally hangs. Before calling stop I call >>> logout on my open session. Is there something that I'm doing >>> incorrectly or another way to get around this problem? >>> Thank you, >>> Tony >> >> >> ------------------------------------------------------- >> This SF.Net email is sponsored by xPML, a groundbreaking scripting >> language >> that extends applications into web and mobile media. Attend the live >> webcast >> and join the prime developer group breaking into this new coding >> territory! >> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 >> _______________________________________________ >> Quickfix-developers mailing list >> Qui...@li... >> https://lists.sourceforge.net/lists/listinfo/quickfix-developers >> > > |
|
From: Tony W. <ton...@tr...> - 2006-04-07 18:07:53
|
Oren, I recently switched to calling logout before stop, thinking this was a cleaner method. I will switch back to just calling stop. Unfortunately I'm using the Express Editions of VS, which doesn't allow me to compile quickfix, due to a atlthunk.lib issue, it seems I need a full copy of VS to compile quickfix. Due to this I can not step into the debugger to find out where exactly it is hanging inside of quickfix. The only thing I can currently see is that it hangs when I call stop. Tony Oren Miller wrote: > First off, stop will call the logout method on all the sessions, so > there is no need to do so yourself (though it wouldn't hurt anything if > you did). Also, stop already has the following loop: > > for( int second = 1; second <= 10 && isLoggedOn(); ++second ) > process_sleep( 1 ); > > The only place I can think where it would block is when it joins on the > thread. Can you verify that this is where you the library is freezing? > > --oren > > On Apr 7, 2006, at 9:06 AM, Tony Weston wrote: > >> QuickFIX Documentation: >> http://www.quickfixengine.org/quickfix/doc/html/index.html >> QuickFIX Support: http://www.quickfixengine.org/services.html >> >> Hi Dave, >> >> Unfortunately, it hangs on the stop call so it will never reach the >> while loop that waits for the logout. I'm not currently waiting for a >> logout before calling stop, so putting this wait in after I call >> logout and before I call stop may fix the problem for me. >> >> Thank you, >> Tony >> >> Dave Linaker wrote: >>> Hi Tony, >>> Rather than calling logout and then stop (stop will logout anyway), have >>> you tried calling stop and then waiting for the logout to complete? e.g: >>> //stop the initiator >>> initiator.stop(); >>> //wait for logout >>> while(initiator.isLoggedOn()) >>> Thread.Sleep(500); >>> //continue... >>> Cheers >>> Dave >>> -----Original Message----- >>> From: qui...@li... >>> [mailto:qui...@li...] On Behalf Of >>> tony weston >>> Sent: 06 April 2006 19:43 >>> To: qui...@li... >>> Subject: [Quickfix-developers] stopping initiator hangs application >>> Hello, >>> I've been using quickfix with great success, although I've came across a >>> problem when trying to stop an initiator in VB .Net 2. When I call >>> "stop" my application will frequently hang on this call. I've tried >>> with version 1.11.1 and with using the automated builds for VS 8 under >>> the developers section of the website, both having the same results. >>> I'm also passing a value of "True" when calling the stop method to force >>> close, but it still occasionally hangs. Before calling stop I call >>> logout on my open session. Is there something that I'm doing >>> incorrectly or another way to get around this problem? >>> Thank you, >>> Tony >> >> >> ------------------------------------------------------- >> This SF.Net email is sponsored by xPML, a groundbreaking scripting >> language >> that extends applications into web and mobile media. Attend the live >> webcast >> and join the prime developer group breaking into this new coding >> territory! >> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 >> _______________________________________________ >> Quickfix-developers mailing list >> Qui...@li... >> https://lists.sourceforge.net/lists/listinfo/quickfix-developers >> > > |
|
From: Oren M. <or...@qu...> - 2006-04-07 17:54:02
|
First off, stop will call the logout method on all the sessions, so there is no need to do so yourself (though it wouldn't hurt anything if you did). Also, stop already has the following loop: for( int second = 1; second <= 10 && isLoggedOn(); ++second ) process_sleep( 1 ); The only place I can think where it would block is when it joins on the thread. Can you verify that this is where you the library is freezing? --oren On Apr 7, 2006, at 9:06 AM, Tony Weston wrote: > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/ > html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > Hi Dave, > > Unfortunately, it hangs on the stop call so it will never reach the > while loop that waits for the logout. I'm not currently waiting > for a logout before calling stop, so putting this wait in after I > call logout and before I call stop may fix the problem for me. > > Thank you, > Tony > > Dave Linaker wrote: >> Hi Tony, >> Rather than calling logout and then stop (stop will logout >> anyway), have >> you tried calling stop and then waiting for the logout to >> complete? e.g: >> //stop the initiator >> initiator.stop(); >> //wait for logout >> while(initiator.isLoggedOn()) >> Thread.Sleep(500); >> //continue... >> Cheers >> Dave >> -----Original Message----- >> From: qui...@li... >> [mailto:qui...@li...] On Behalf Of >> tony weston >> Sent: 06 April 2006 19:43 >> To: qui...@li... >> Subject: [Quickfix-developers] stopping initiator hangs application >> Hello, >> I've been using quickfix with great success, although I've came >> across a >> problem when trying to stop an initiator in VB .Net 2. When I call >> "stop" my application will frequently hang on this call. I've tried >> with version 1.11.1 and with using the automated builds for VS 8 >> under >> the developers section of the website, both having the same results. >> I'm also passing a value of "True" when calling the stop method to >> force >> close, but it still occasionally hangs. Before calling stop I call >> logout on my open session. Is there something that I'm doing >> incorrectly or another way to get around this problem? >> Thank you, >> Tony > > > ------------------------------------------------------- > This SF.Net email is sponsored by xPML, a groundbreaking scripting > language > that extends applications into web and mobile media. Attend the > live webcast > and join the prime developer group breaking into this new coding > territory! > http://sel.as-us.falkag.net/sel? > cmd=lnk&kid=110944&bid=241720&dat=121642 > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |
|
From: Oren M. <or...@qu...> - 2006-04-07 17:08:16
|
I checked in a fix that makes sure the SendingTime and OrigSendingTime will match for SequenceReset messages. The resend functionality is different because there the timestamps can and should be different, but for SequenceResets, the message is being sent for the first time. The only reason there is an OrigSendingTime in the message is that it must accompany and message containing a PossDup field. And the only reason it has a PossDup field is because any message sent as a result of a resend request must contain a PossDup field, even if the message was never sent before. So it is a bit of an anomoly. --oren On Apr 5, 2006, at 9:10 PM, Shawn Yarbrough wrote: > Hi, > > I saw what I think is a rare timing bug, I think located in > Session.cpp, in the "Session::generateSequenceReset" function. > > If the clock increments at exactly the *wrong* time, then the > SendingTime(52) in the Sequence Reset message can be 1 millisecond > off from the OrigSendingTime(122). The exchange I care about (CME) > rejects the message due to the 1 millisecond difference and the > session fails horribly. > > Or maybe I'm misinterpreting the evidence, see for yourself: > > > The exchange error I saw (thru an exchange report somewhere): > > We received a SequenceReset(4) message, but it had the > following errors: > Field OrigSendingTime: we expected '20060406-01:34:15.082', but > we received '20060406-01:34:15.081' > > > The relevant messages from the QuickFIX log: > > 8=FIX.4.2|9=76|35=2|49=CME|56=???|52=20060406-01:34:14|34=5| > 369=6|50=G|57=???|7=1|16=0|10=161| > > 8=FIX.4.2|9=113|35=4|34=1|43=Y|49=???|50=???| > 52=20060406-01:34:15.082|56=CME|57=G|122=20060406-01:34:15.081| > 142=3|36=3|123=Y|10=007| > > > I see similar code in the "Session::resend" function, but it > handles the timestamp correctly there. Maybe the code can be > copied into "Session::generateSequenceReset". The > insertOrigSendingTime() call needs to not default the second > parameter. That second parameter should be the timestamp taken > from SendingTime. > > > Shawn Yarbrough > Senior E-Trading Developer > Gelber Group, LLC > sya...@ge... > > > THE MESSAGES AND DOCUMENTS TRANSMITTED WITH THIS NOTICE CONTAIN > CONFIDENTIAL INFORMATION BELONGING TO THE SENDER. IF YOU ARE NOT > THE INTENDED RECIPIENT OF THIS INFORMATION, YOU ARE HEREBY NOTIFIED > THAT ANY DISCLOSURE, COPYING, DISTRIBUTION OR USE OF THE > INFORMATION IS STRICTLY PROHIBITED. IF YOU HAVE RECEIVED THIS > TRANSMISSION IN ERROR, PLEASE NOTIFY THE SENDER IMMEDIATELY. > |
|
From: Tony W. <ton...@tr...> - 2006-04-07 14:05:34
|
Hi Dave, Unfortunately, it hangs on the stop call so it will never reach the while loop that waits for the logout. I'm not currently waiting for a logout before calling stop, so putting this wait in after I call logout and before I call stop may fix the problem for me. Thank you, Tony Dave Linaker wrote: > Hi Tony, > > Rather than calling logout and then stop (stop will logout anyway), have > you tried calling stop and then waiting for the logout to complete? e.g: > > //stop the initiator > initiator.stop(); > //wait for logout > while(initiator.isLoggedOn()) > Thread.Sleep(500); > //continue... > > Cheers > Dave > > -----Original Message----- > From: qui...@li... > [mailto:qui...@li...] On Behalf Of > tony weston > Sent: 06 April 2006 19:43 > To: qui...@li... > Subject: [Quickfix-developers] stopping initiator hangs application > > > Hello, > > I've been using quickfix with great success, although I've came across a > problem when trying to stop an initiator in VB .Net 2. When I call > "stop" my application will frequently hang on this call. I've tried > with version 1.11.1 and with using the automated builds for VS 8 under > the developers section of the website, both having the same results. > I'm also passing a value of "True" when calling the stop method to force > close, but it still occasionally hangs. Before calling stop I call > logout on my open session. Is there something that I'm doing > incorrectly or another way to get around this problem? > > Thank you, > Tony > > |
|
From: Dave L. <dav...@ma...> - 2006-04-07 07:04:18
|
Hi Tony,
Rather than calling logout and then stop (stop will logout anyway), have
you tried calling stop and then waiting for the logout to complete? e.g:
//stop the initiator
initiator.stop();
//wait for logout
while(initiator.isLoggedOn())
Thread.Sleep(500);
//continue...
Cheers
Dave
-----Original Message-----
From: qui...@li...
[mailto:qui...@li...] On Behalf Of
tony weston
Sent: 06 April 2006 19:43
To: qui...@li...
Subject: [Quickfix-developers] stopping initiator hangs application
Hello,
I've been using quickfix with great success, although I've came across a
problem when trying to stop an initiator in VB .Net 2. When I call
"stop" my application will frequently hang on this call. I've tried
with version 1.11.1 and with using the automated builds for VS 8 under
the developers section of the website, both having the same results.
I'm also passing a value of "True" when calling the stop method to force
close, but it still occasionally hangs. Before calling stop I call
logout on my open session. Is there something that I'm doing
incorrectly or another way to get around this problem?
Thank you,
Tony
|
|
From: Dale W. <wil...@oc...> - 2006-04-06 21:16:17
|
We're seeing a similar problem in C++ version 1.10.2, but we haven't finished tracking it down. What we're seeing is m_stop in ThreadedSocketInitiator is false, but we're trying to join the thread in ThreadedSocketInitiator::onStop having just set m_stop to true! Still trying to figure out where the race condition is (must be a race condition, right?) Dale tony weston wrote: > Hello, > > I've been using quickfix with great success, although I've came across > a problem when trying to stop an initiator in VB .Net 2. When I call > "stop" my application will frequently hang on this call. I've tried > with version 1.11.1 and with using the automated builds for VS 8 under > the developers section of the website, both having the same results. > I'm also passing a value of "True" when calling the stop method to > force close, but it still occasionally hangs. Before calling stop I > call logout on my open session. Is there something that I'm doing > incorrectly or another way to get around this problem? > > Thank you, > Tony |
|
From: tony w. <ton...@ya...> - 2006-04-06 18:43:23
|
Hello, I've been using quickfix with great success, although I've came across a problem when trying to stop an initiator in VB .Net 2. When I call "stop" my application will frequently hang on this call. I've tried with version 1.11.1 and with using the automated builds for VS 8 under the developers section of the website, both having the same results. I'm also passing a value of "True" when calling the stop method to force close, but it still occasionally hangs. Before calling stop I call logout on my open session. Is there something that I'm doing incorrectly or another way to get around this problem? Thank you, Tony |
|
From: Shawn Y. <sya...@ge...> - 2006-04-06 02:07:08
|
Hi,
I saw what I think is a rare timing bug, I think located in Session.cpp, =
in the "Session::generateSequenceReset" function.
If the clock increments at exactly the *wrong* time, then the =
SendingTime(52) in the Sequence Reset message can be 1 millisecond off =
from the OrigSendingTime(122). The exchange I care about (CME) rejects =
the message due to the 1 millisecond difference and the session fails =
horribly.
Or maybe I'm misinterpreting the evidence, see for yourself:
The exchange error I saw (thru an exchange report somewhere):
We received a SequenceReset(4) message, but it had the following =
errors:=20
Field OrigSendingTime: we expected '20060406-01:34:15.082', but we =
received '20060406-01:34:15.081'
The relevant messages from the QuickFIX log:
=
8=3DFIX.4.2|9=3D76|35=3D2|49=3DCME|56=3D???|52=3D20060406-01:34:14|34=3D5=
|369=3D6|50=3DG|57=3D???|7=3D1|16=3D0|10=3D161|
=
8=3DFIX.4.2|9=3D113|35=3D4|34=3D1|43=3DY|49=3D???|50=3D???|52=3D20060406-=
01:34:15.082|56=3DCME|57=3DG|122=3D20060406-01:34:15.081|142=3D3|36=3D3|1=
23=3DY|10=3D007|
I see similar code in the "Session::resend" function, but it handles the =
timestamp correctly there. Maybe the code can be copied into =
"Session::generateSequenceReset". The insertOrigSendingTime() call =
needs to not default the second parameter. That second parameter should =
be the timestamp taken from SendingTime.
Shawn Yarbrough
Senior E-Trading Developer
Gelber Group, LLC
sya...@ge...
THE MESSAGES AND DOCUMENTS TRANSMITTED WITH THIS NOTICE CONTAIN =
CONFIDENTIAL INFORMATION BELONGING TO THE SENDER. IF YOU ARE NOT THE =
INTENDED RECIPIENT OF THIS INFORMATION, YOU ARE HEREBY NOTIFIED THAT ANY =
DISCLOSURE, COPYING, DISTRIBUTION OR USE OF THE INFORMATION IS STRICTLY =
PROHIBITED. IF YOU HAVE RECEIVED THIS TRANSMISSION IN ERROR, PLEASE =
NOTIFY THE SENDER IMMEDIATELY.
|
|
From: Scott R. <sri...@fo...> - 2006-04-05 19:08:38
|
I see what's going on now. Thanks. =20 ________________________________ From: Oren Miller [mailto:or...@qu...]=20 Sent: Wednesday, April 05, 2006 11:39 AM To: Scott Riopelle; qui...@li... Subject: Re: [Quickfix-developers] changing conditionally required fields =20 Y and N are the only options. There isn't a specific setting for conditionally required because it isn't enough information. There is no codification in the spec (at least in a machine readable way) what the conditions are for conditionally required fields. So conditionally required is treated the same as required in the spec. =20 The reason you are sending the rejects is because you are trying to pull out the conditionally required field without checking for its presence. You need to first do a isSetField before pulling it out. Otherwise if you pull it out and it's not there, an exception will get thrown resulting in the reject. =20 --oren ----- Original Message -----=20 From: Scott Riopelle <mailto:sri...@fo...> =20 To: qui...@li...=20 Sent: Wednesday, April 05, 2006 8:55 AM Subject: [Quickfix-developers] changing conditionally required fields =20 I am trying to change some required fields to be conditionally required. First, I was attempting to just add the fields in fromApp(), but they weren't showing up in the log file. =09 quickfix.field.AvgPx val =3D new AvgPx(0); message.setField(val); =20 Then, I decided to just edit the xml file to match the changes to FIX that my counterparty made. In the xml file (FIX42.xml) the only values I see for required are "Y" and "N". I set all the necessary conditional fields to "N", but am still sending business rejections back to my counterparty with "Conditionally required Field missing". Is there somewhere else I need to set conditions? =09 - Scott Riopelle |
|
From: Oren M. <or...@qu...> - 2006-04-05 15:43:43
|
The other option is to lobby our governments to get rid of the daylight savings concept. Just in case our suggestion is denied, we'll work on support for localtime. --oren ----- Original Message ----- From: "Martin Tanguay" <mta...@ho...> To: <qui...@li...> Cc: <mta...@ho...> Sent: Wednesday, April 05, 2006 7:45 AM Subject: [Quickfix-developers] QuickFix, GMT and Summer Time > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > Hi, > > We are based in Quebec(Canada) and since last weekend, the clock is set to > summer time. So the gap between our local time and UTC is only 4 hours > instead of 5 hours. That make our quickfix sessions being started one > hour later. Is there a way for quickfix to automatically handle the > summer time? Otherwise I would have to make the modification in all of our > initiator and acceptor config files. > > Thank you. > Martin > > > > > ------------------------------------------------------- > This SF.Net email is sponsored by xPML, a groundbreaking scripting > language > that extends applications into web and mobile media. Attend the live > webcast > and join the prime developer group breaking into this new coding > territory! > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |
|
From: Oren M. <or...@qu...> - 2006-04-05 15:39:25
|
Y and N are the only options. There isn't a specific setting for =
conditionally required because it isn't enough information. There is no =
codification in the spec (at least in a machine readable way) what the =
conditions are for conditionally required fields. So conditionally =
required is treated the same as required in the spec.
The reason you are sending the rejects is because you are trying to pull =
out the conditionally required field without checking for its presence. =
You need to first do a isSetField before pulling it out. Otherwise if =
you pull it out and it's not there, an exception will get thrown =
resulting in the reject.
--oren
----- Original Message -----=20
From: Scott Riopelle=20
To: qui...@li...=20
Sent: Wednesday, April 05, 2006 8:55 AM
Subject: [Quickfix-developers] changing conditionally required fields
I am trying to change some required fields to be conditionally =
required.
First, I was attempting to just add the fields in fromApp(), but they =
weren't showing up in the log file.
quickfix.field.AvgPx val =3D new AvgPx(0);
message.setField(val);
=20
Then, I decided to just edit the xml file to match the changes to FIX =
that my counterparty made.
In the xml file (FIX42.xml) the only values I see for required are "Y" =
and "N". I set all the necessary conditional fields to "N", but am =
still sending business rejections back to my counterparty with =
"Conditionally required Field missing". Is there somewhere else I need =
to set conditions?
=
- Scott Riopelle
|