quickfix-developers Mailing List for QuickFIX (Page 189)
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: Oren M. <or...@qu...> - 2005-08-15 17:21:49
|
The only way to do this right now is to generate a stream in memory in the same format as the configuration file and pass that in. Not entirely convenient, but it does allow you to populate the class programatically. --oren ----- Original Message ----- From: "Andrei Goldchleger" <an...@gm...> To: <qui...@li...> Sent: Wednesday, August 10, 2005 4:07 PM Subject: [Quickfix-developers] Fill SessionSettings programmatically? QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html QuickFIX Support: http://www.quickfixengine.org/services.html Hi all, Is there any way to programmatically populate a SessionSettings object? That is, I would like to configure my Initiator without resorting to the configuration file. Can this be accomplished in any way? Thanks, Andrei Goldchleger ------------------------------------------------------- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf _______________________________________________ Quickfix-developers mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-developers |
|
From: Oren M. <or...@qu...> - 2005-08-15 17:20:53
|
It's probably just not exposed. We'll be sure to add in support for =
this access. I would imagine that QuickFIX/J already exposes access to =
default settings out of necessity.
--oren
----- Original Message -----=20
From: Sol=20
To: qui...@li...=20
Sent: Wednesday, August 10, 2005 2:04 PM
Subject: Re: [Quickfix-developers] how to access default configuration =
settings?
Sorry, I should have mentioned that I am using the Java/JNI version of =
QuickFix. This version of SessionSettings does not have a get() method.=20
Instead, it has the following getters:
public native String getString( SessionID sessionID, String key ) =
throws ConfigError, FieldConvertError;
public native long getLong( SessionID sessionID, String key ) =
throws ConfigError, FieldConvertError;
public native double getDouble( SessionID sessionID, String key ) =
throws ConfigError, FieldConvertError;
public native boolean getBool( SessionID sessionID, String key ) =
throws ConfigError, FieldConvertError;
-sol
----- Original Message -----=20
From: Dale Wilson=20
To: Sol=20
Cc: qui...@li...=20
Sent: Wednesday, August 10, 2005 11:46 AM
Subject: Re: [Quickfix-developers] how to access default =
configuration settings?
Hi Sol,
Sol wrote:=20
SessionSettings allows access to settings, using the sessionId and =
setting key. How are default properties accessed when no sessionId is =
available?
For example, while initializing the application I would like to =
read the default property "ConnectionType" in order to determine whether =
to create a SocketAcceptor or a SocketInitiator.
As part of initializing Quickfix you created a FIX::SessionSettings
The get() method on that object gives you a reference to a =
dictionary of the default settings.
Dale
-sol
--=20
-----------------------------------------------------
Dale Wilson, Senior Software Engineer =20
Object Computing, Inc. (OCI)
http://www.ociweb.com/ http://www.theaceorb.com/
---------------------------------------------------- |
|
From: amit s. <aam...@gm...> - 2005-08-12 12:11:09
|
Hi everyone,
This mail is for Tarandeep Singhji.I read that you
configured quickfix on AIX5.1 successfully.cud you just help me out in
doing the same on AIX5.3.
Thanks in advance.
Amit K.Sharma
India
9820781407
|
|
From: Alexey Z. <ale...@in...> - 2005-08-11 21:12:20
|
Hi,
I use the latest release and I've just noted that Session::send gets
string not by reference
but creates a new object on a stack: Session::send( const std::string
string )
Is there a reason for that?
I use FIX::Session::sendToTarget to send messages:
FIX::Session::sendToTarget(msg, m_SessionID)
...
bool Session::sendRaw( Message& message, int num )
....
std::string messageString;
...
message.toString( messageString );
...
result = send( messageString ); => Creates a new object on the stack
...
socket_send( int s, const char* msg, int length ) => system call
Thanks.
--
Regards,
Alexey Zubko
Infinium Capital Corporation
(416) 360-7000 ext. 305
|
|
From: Joerg T. <Joe...@ma...> - 2005-08-11 14:25:58
|
Hi Michael,
> Hi, i have a question about using custom defined classes with Session
> initiators. I am trying to host multiple connections on one process for
> order entry and If i generate classes from an XML spec file it will only
> seem to want to use that at the session level if that class package is named
> quickfix.fix42 or quickfix.fix43 but it i name it quickfix.fix42.custom and
> try to cast a logon to a custom.logon i will get a classs cast exception, is
> there any way to tell the session which package to use or does it just go by
> what the begin string is called?
Actually, the XML generation is neither bullet-proof nor complete at the moment.
I guess you are using Java so you might give QuickFIX/J a try where the class
generation using XML is more complete.
If I understood you right, you want to tell QF that if it receives a string of the form
"BeginString=FIX.4.2|...|35=A|..."
then it should create an object with the class quickfix.fix42.custom.Logon instead of
quickfix.fix42.Logon. Here you could use a MessageFactory. Have a look at the code of the
DefaultMessageFactory for Java, and create your own one. If you setup the QF application,
you can specify your message factory.
On the other hand, if you need just one or two extra fields in the custom message, it may
be simpler to pull them out using message.getField(SomeField.FIELD), where SomeField could
a Field already defined by QF or a custom field.
Cheers, Jörg
--
Joerg Thoennes
http://macd.com
Tel.: +49 (0)241 44597-24 Macdonald Associates GmbH
Fax : +49 (0)241 44597-10 Lothringer Str. 52, D-52070 Aachen
|
|
From: Michael L. <mly...@gm...> - 2005-08-11 12:58:51
|
Hi, i have a question about using custom defined classes with Session=20 initiators. I am trying to host multiple connections on one process for=20 order entry and If i generate classes from an XML spec file it will only=20 seem to want to use that at the session level if that class package is name= d=20 quickfix.fix42 or quickfix.fix43 but it i name it quickfix.fix42.custom and= =20 try to cast a logon to a custom.logon i will get a classs cast exception, i= s=20 there any way to tell the session which package to use or does it just go b= y=20 what the begin string is called? On 8/10/05, qui...@li... < qui...@li...> wrote: >=20 > Send Quickfix-developers mailing list submissions to > qui...@li... >=20 > To subscribe or unsubscribe via the World Wide Web, visit > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > or, via email, send a message with subject or body 'help' to > qui...@li... >=20 > You can reach the person managing the list at > qui...@li... >=20 > When replying, please edit your Subject line so it is more specific > than "Re: Contents of Quickfix-developers digest..." >=20 >=20 > QuickFIX Documentation:=20 > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX FAQ: http://www.quickfixengine.org/wikifix/index.php?QuickFixFAQ > QuickFIX Support: http://www.quickfixengine.org/services.html >=20 >=20 >=20 > Today's Topics: >=20 > 1. Fill SessionSettings programmatically? (Andrei Goldchleger) >=20 > --__--__-- >=20 > Message: 1 > Date: Wed, 10 Aug 2005 18:07:48 -0300 > From: Andrei Goldchleger <an...@gm...> > To: qui...@li... > Subject: [Quickfix-developers] Fill SessionSettings programmatically? >=20 > Hi all, >=20 > Is there any way to programmatically populate a SessionSettings > object? That is, I would like to configure my Initiator without > resorting to the configuration file. Can this be accomplished in any > way? >=20 > Thanks, >=20 > Andrei Goldchleger >=20 >=20 >=20 > --__--__-- >=20 > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers >=20 >=20 > End of Quickfix-developers Digest >=20 --=20 Michael Lyszczek 1 North End Ave Suite 1321 New York, NY, 10282 NEW EMAIL : ml...@fl... |
|
From: Tarandeep S. <tar...@ef...> - 2005-08-11 12:56:14
|
Hi, Is there any way to disable the automatic resetting of session at time specified by 'StartTime' in the configuration file? Instead of fix session getting reset at a specified period I want to control that manually i.e the user resets the session only by explicitly calling Session::reset() and not at some scheduled time period. How can I do that? Thanks and Regards, Tarandeep Singh |
|
From: Tarandeep S. <tar...@ef...> - 2005-08-11 11:03:24
|
Hi all, I was finally able to install QuickFIX on AIX using gcc 3.3.2. The issues which I was facing are related to AIX machine and they can be resolved by installing the following two packages: APAR IY25528 (AIX 5.1) - Fixes problem with assembler. APAR IY54774 (AIX 5.1) - Fixes problem with linker. Hope this helps anyone out there trying to port Quickfix to AIX. Regards, Tarandeep Singh > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX FAQ: http://www.quickfixengine.org/wikifix/index.php?QuickFix= FAQ > QuickFIX Support: http://www.quickfixengine.org/services.html > > Hi, > Although Orens response fixed that issue but still its not working. I > am doing it in following way. > 1. Downloaded quickfix-1.10.2 > > 2. Installed GNU Make 3.80 > > 3. Ran configure using > > configure --prefix=3D/home/tuli/local/quickfix > --with-xml-prefix=3D/home/tuli/local/libxml2 CXXFLAGS=3D"-g -qrtti=3Da= ll > -qstaticinline" > > qrtti=3Dall: To get rid of a warning about missing runtime type inform= ation > qstaticinline: To get rid of a lot of linker warnings. > > 4. Following modifications were made to get quickfix xlC > > src/C++/test/MessgaesTestCase.cpp: > Some template<> declarators were added. > Revision 1.34 in the CVS already has this included after someone > reported problems with gcc 4.0. xlC also requires the template <> > declarators. > > src/C++/DataDictionary.h: > Added forward declaration. > class Message; > > src/C++/Acceptor.h: > Added forward declaration. > class Session; > > src/C++/Initiator.h: > Added forward declaration. > class Session; > > src/C++/Makefile > Renamed bash to sh > > src/C++/copy.sh > Renamed bash to sh > > 5. Some warnings were issued during the build process: > > xlC_r -g -qrtti=3Dall -qstaticinline > -I/home/tuli/local/libxml2/include/libxml2 -o .libs/ordermatch > ordermatch.o Application.o Market.o -L../../src/C++/.libs -lquickfix > -L/home/tuli/local/libxml2/lib -lc_r > -L/home/tuli/test/library/libxml2/lib -lxml2 -ldl -lpthread -liconv > -lm > -blibpath:/home/tuli/local/quickfix/lib:/home/tuli/test/library/libxml= 2/lib:/usr/vac/lib:/usr/lib/threads:/usr/vacpp/lib:/usr/lib:/lib > > ld: 0711-224 WARNING: Duplicate symbol: > std::num_put<char,std::ostreambuf_iterator<char,std::char_traits<char>= > > >::id > ld: 0711-224 WARNING: Duplicate symbol: std::_Tidyfac<std::ctype<char>= > >::_Facsav > ld: 0711-224 WARNING: Duplicate symbol: > std::_Tidyfac<std::num_put<char,std::ostreambuf_iterator<char,std::cha= r_traits<char> > > > >::_Facsav > ld: 0711-224 WARNING: Duplicate symbol: std::numpunct<char>::id > ld: 0711-224 WARNING: Duplicate symbol: > std::_Tidyfac<std::numpunct<char> >::_Facsav > ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more > information. > creating ordermatch > > 6. run_ordermatch yields > > $ ./run_ordermatch > Configuration failed: not defined > > 7. Added some simple logging of the BEGINSTRING string: > > In examples/ordermatch/ordermatch.cpp: > Added > std::cout << "1. BEGINSTRING=3D" << FIX::BEGINSTRING << std::endl; > before > FIX::SessionSettings settings( file ); > > In src/C++/SessionSettings.cpp: Added > std::cout << "2. BEGINSTRING=3D" << BEGINSTRING << std::endl; > before > section =3D settings.get( "SESSION" ); > in the function std::istream& operator>>( std::istream& stream, > SessionSettings& s ) > > 8. Running run_ordermatch now yields > > $ ./run_ordermatch > 1. BEGINSTRING=3DBeginString > 2. BEGINSTRING=3D > Configuration failed: not defined > > This output suggests that the definition of BEGINSTRING is somehow > corrupted > in the SessionSettings.cpp module. > > Any ideas how this is possible? > Regards, > Tarandeep Singh > >> Tarandeep Singh wrote: >> >>> I am trying to compile quickfix-1.10.2 on AIX 5.1 with compiler XL >>> C++ v7.0. >> >> >> >> Hi, >> >> please tell us if you finally succeed to compile QuickFIX. I hope >> Orens response fixes your issue. >> >> Cheers, J=F6rg >> > > > > ------------------------------------------------------- > SF.Net email is sponsored by: Discover Easy Linux Migration Strategies > from IBM. Find simple to follow Roadmaps, straightforward articles, > informative Webcasts and more! Get everything you need to get up to > speed, fast. http://ads.osdn.com/?ad_idt77&alloc_id=16492&op=3Dclick > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers |
|
From: Andrei G. <an...@gm...> - 2005-08-10 21:07:51
|
Hi all, Is there any way to programmatically populate a SessionSettings object? That is, I would like to configure my Initiator without resorting to the configuration file. Can this be accomplished in any way? Thanks, Andrei Goldchleger |
|
From: Dale W. <wil...@oc...> - 2005-08-10 20:51:57
|
Sol wrote: > Sorry, I should have mentioned that I am using the Java/JNI version of > QuickFix. This version of SessionSettings does not have a get() method. In that case, I'll have to defer to someone with more experience with the JNI wrappers. Dale > > Instead, it has the following getters: > public native String getString( SessionID sessionID, String key ) > throws ConfigError, FieldConvertError; > public native long getLong( SessionID sessionID, String key ) > throws ConfigError, FieldConvertError; > public native double getDouble( SessionID sessionID, String key ) > throws ConfigError, FieldConvertError; > public native boolean getBool( SessionID sessionID, String key ) > throws ConfigError, FieldConvertError; > -sol > > ----- Original Message ----- > *From:* Dale Wilson <mailto:wil...@oc...> > *To:* Sol <mailto:sol...@ho...> > *Cc:* qui...@li... > <mailto:qui...@li...> > *Sent:* Wednesday, August 10, 2005 11:46 AM > *Subject:* Re: [Quickfix-developers] how to access default > configuration settings? > > Hi Sol, > > Sol wrote: > >> SessionSettings allows access to settings, using the sessionId >> and setting key. How are default properties accessed when no >> sessionId is available? >> >> For example, while initializing the application I would like to >> read the default property "ConnectionType" in order to determine >> whether to create a SocketAcceptor or a SocketInitiator. > > As part of initializing Quickfix you created a FIX::SessionSettings > The get() method on that object gives you a reference to a > dictionary of the default settings. > > Dale > >> >> -sol > > > >-- >----------------------------------------------------- > Dale Wilson, Senior Software Engineer > Object Computing, Inc. (OCI) > http://www.ociweb.com/ http://www.theaceorb.com/ >---------------------------------------------------- > -- ----------------------------------------------------- Dale Wilson, Senior Software Engineer Object Computing, Inc. (OCI) http://www.ociweb.com/ http://www.theaceorb.com/ ---------------------------------------------------- |
|
From: Sol <sol...@ho...> - 2005-08-10 19:04:20
|
Sorry, I should have mentioned that I am using the Java/JNI version of =
QuickFix. This version of SessionSettings does not have a get() method.=20
Instead, it has the following getters:
public native String getString( SessionID sessionID, String key ) =
throws ConfigError, FieldConvertError;
public native long getLong( SessionID sessionID, String key ) throws =
ConfigError, FieldConvertError;
public native double getDouble( SessionID sessionID, String key ) =
throws ConfigError, FieldConvertError;
public native boolean getBool( SessionID sessionID, String key ) =
throws ConfigError, FieldConvertError;
-sol
----- Original Message -----=20
From: Dale Wilson=20
To: Sol=20
Cc: qui...@li...=20
Sent: Wednesday, August 10, 2005 11:46 AM
Subject: Re: [Quickfix-developers] how to access default configuration =
settings?
Hi Sol,
Sol wrote:=20
SessionSettings allows access to settings, using the sessionId and =
setting key. How are default properties accessed when no sessionId is =
available?
For example, while initializing the application I would like to read =
the default property "ConnectionType" in order to determine whether to =
create a SocketAcceptor or a SocketInitiator.
As part of initializing Quickfix you created a FIX::SessionSettings
The get() method on that object gives you a reference to a dictionary =
of the default settings.
Dale
-sol
--=20
-----------------------------------------------------
Dale Wilson, Senior Software Engineer =20
Object Computing, Inc. (OCI)
http://www.ociweb.com/ http://www.theaceorb.com/
---------------------------------------------------- |
|
From: Dale W. <wil...@oc...> - 2005-08-10 18:46:21
|
Hi Sol, Sol wrote: > SessionSettings allows access to settings, using the sessionId and > setting key. How are default properties accessed when no sessionId is > available? > > For example, while initializing the application I would like to read > the default property "ConnectionType" in order to determine whether to > create a SocketAcceptor or a SocketInitiator. As part of initializing Quickfix you created a FIX::SessionSettings The get() method on that object gives you a reference to a dictionary of the default settings. Dale > > -sol -- ----------------------------------------------------- Dale Wilson, Senior Software Engineer Object Computing, Inc. (OCI) http://www.ociweb.com/ http://www.theaceorb.com/ ---------------------------------------------------- |
|
From: Sol <sol...@ho...> - 2005-08-10 18:40:36
|
SessionSettings allows access to settings, using the sessionId and = setting key. How are default properties accessed when no sessionId is = available? For example, while initializing the application I would like to read the = default property "ConnectionType" in order to determine whether to = create a SocketAcceptor or a SocketInitiator. -sol |
|
From: Brian E. <azz...@ya...> - 2005-08-10 15:00:04
|
Not that I could understand any part of your message, but the subject line is familiar. The CME returns "Group state doesn't allow this function" whenever you attempt to send an order, cancel or cancel replace into a market that is currently closed. For instance, sending a Eurodollar order from 4:00 to 4:30 CDT during the week or on a weekend at any time prior to 4:30 CDT Sunday will cause this error to return. - Brian Erst Thynk Software, Inc. |
|
From: Martin T. <mta...@ho...> - 2005-08-10 13:17:52
|
Hi Joerg,
I can't get the stack trace because there is no thrown exception, seems to
be hanging or looping.
I pasted below some part of my code. In the function Disconnect(), it will
hand at m_initiator.stop();.
My QuickFix handling is wrap in a dll, made with C#, it is running under
win2k. The case happen when I connect, and then disconnect. If I only
disconnect, then m_initiator.stop(); does not hang.
I saw that in QF sources, for function stop(), that the code loop for opened
sessions, would there be a problem with my actual session?
Please tell me if there is more info I could provide to you.
Best regards,
Martin
//Here is the initialisation of the initiator:
private void doInit(string file, Int32 intMaxDelayToSend) {
m_sessionSettings = new SessionSettings(filePath);
FileStoreFactory factory = new FileStoreFactory(m_sessionSettings);
ScreenLogFactory logFactory = new ScreenLogFactory(true, true, true);
DefaultMessageFactory messageFactory = new DefaultMessageFactory();
m_initiator = new SocketInitiator(this, factory, m_sessionSettings,
logFactory, messageFactory);
}
// Connects the fIX initiator
public void Connect() { m_initiator.start(); }
// Disconnects the FIX initiator
public void Disconnect()
{
try
{
m_initiator.stop(); //Hang here and QF don't throw any exception.
}
catch(System.Exception ex)
{
Console.WriteLine(ex.StackTrace);
}
m_initiator.__dtor();
}
>From: Joerg Thoennes <Joe...@ma...>
>To: Martin Tanguay <mta...@ho...>
>CC: qui...@li...
>Subject: Re: [Quickfix-developers] Disconnection problem...
>Date: Wed, 10 Aug 2005 10:20:27 +0200
>
>>//Here is my Initiator declaration:
>>public SocketInitiator sokInitiator;
>>
>>When I call sokInitiator.stop(); to disconnect my application, it just
>>hang there until I kill the program. Do you know what could cause it not
>>being able to close the connection?
>
>Martin, please provide more context. Stack trace etc.
>
>Cheers, Jörg
>
>--
>Joerg Thoennes
> http://macd.com
>Tel.: +49 (0)241 44597-24 Macdonald Associates GmbH
>Fax : +49 (0)241 44597-10 Lothringer Str. 52, D-52070 Aachen
|
|
From: Parthosarathi K. <par...@gm...> - 2005-08-10 12:47:51
|
aGkgZnJpZW5kcyAuaW0gZmFpcmx5IG5ldyB0byBxdWlja2ZpeCAscGxlYXNlIGV4Y3VzZSBtZSBm b3IgYW55CmZvb2xpc2ggcXVlc3Rpb25zIC4uCmZvciB0aGUgcGFzdCBmZXcgd2Vla3Mgb3VyIGFw cGxpY2F0aW9uIChjbWUgb3JkZXIgc2VydmVyKSB3b3JrZWQgZmluZQp3ZSB3ZXJlIGFibGUgdG8g cGxhY2UgbmV3IG9yZGVycy4uYnV0IHNpbmNlIHRvZGF5IG1vcm5pbmcgd2UgYXJlCmdldHRpbmcg b3JkZXIgcmVqZWN0IG1zZ3MgZnJvbSBjbWUKSQpOIGZyb20gQ01FIHRvIElOSVRJQVRPUjogOD1G SVguNC4y4pi6OT0zMjPimLozNT044pi6MzQ9NTIx4pi6NDk9Q01F4pi6NTA9R+KYujUyPTIwMDUw ODEwLTEwCjo1NzoxMi40OTLimLo1Nj1INjU1MjRO4pi6MzY5PTQ1NuKYujE9NjA2MDYw4pi6Nj0w 4pi6MTE9MDA4MDAwMDDimLoxND0w4pi6MTc9MDAwMDEzMjAwNTA4MTAwNTUKNzEy4pi6MjA9MOKY ujM3PTIwMDUwODEwMDAwMDAw4pi6Mzg9MjDimLozOT044pi6NDA9MuKYujQxPTDimLo0ND05NjAy 4pi6NDg9Q01FMDA4MDk1MDAy4pi6NTQ9MeKYujU1PQpHReKYujU4PUdyb3VwIHN0YXRlIGRvZXNu J3QgYWxsb3cgdGhpcyBmdW5jdGlvbuKYujU5PTDimLo2MD0yMDA1MDgxMC0xMDo1NzoxMuKYujEw Mz0wMDEwCjAz4pi6MTA3PUdFVTXimLoxNTA9OOKYujE1MT0w4pi6MTY3PUZVVOKYujQzMj0yMDA1 MDgxMOKYujEwPTAxNOKYugoKY3VkIGFueW9uZSBwbGVhc2UgdGVsbCBtZSB0aGUgcmVhc29uIENN RSBzZW5kcyB0aGUgZm9sbG93aW5nIHRleHQKIjU4PUdyb3VwIHN0YXRlIGRvZXNuJ3QgYWxsb3cg dGhpcyBmdW5jdGlvbiIgKGFwcGxpY2F0aW9uIGVycm9yCm1lc3NhZ2VzKSBhbmQgYWxzbyB0aGUg c29sdXRpb24gZm9yIHRoZSBvcmRlIHJlamVjdGVkCgpyZWdhcmRzCi0gUGFydGhvCg== |
|
From: Joerg T. <Joe...@ma...> - 2005-08-10 08:20:40
|
> //Here is my Initiator declaration:
> public SocketInitiator sokInitiator;
>
> When I call sokInitiator.stop(); to disconnect my application, it just
> hang there until I kill the program. Do you know what could cause it
> not being able to close the connection?
Martin, please provide more context. Stack trace etc.
Cheers, Jörg
--
Joerg Thoennes
http://macd.com
Tel.: +49 (0)241 44597-24 Macdonald Associates GmbH
Fax : +49 (0)241 44597-10 Lothringer Str. 52, D-52070 Aachen
|
|
From: Martin T. <mta...@ho...> - 2005-08-09 18:51:09
|
Hi, //Here is my Initiator declaration: public SocketInitiator sokInitiator; When I call sokInitiator.stop(); to disconnect my application, it just hang there until I kill the program. Do you know what could cause it not being able to close the connection? Regards, Martin |
|
From: Caleb E. <cal...@gm...> - 2005-08-09 18:07:59
|
On 8/9/05, Joerg Thoennes <Joe...@ma...> wrote: > Now I have the following issue and wonder whether this patch fixes it. Lo= oking at the > source code I am not absolutely sure: >=20 > After a connection failure the client connects to the QF server, and they= start resend > processing, ie QF requests to resend a couple of message. Now the followi= ng happens: >=20 > client resends message N > QF processes the queued message N > client send SequenceReset to N+2 (skipping N+2) > QF processes the queued message N+1, ignoring the SequenceReset > client resends message N+3 > QF detects that it is missing messsage N+2 > QF send ResendRequest N+1 to INFINITY >=20 > Now we get into a loop. Ouch. This looks like a slight variation on another issue I raised w/r/t reconnects and resend processing. I've never seen the infinite loop you illustrate above but I am sure it could happen. Here's the end of a thread from April where I raised this issue: http://sourceforge.net/mailarchive/message.php?msg_id=3D11573843 Basically, the problem is that QF is queueing ADMIN-type messages, which may be skipped over in the process of dealing with ResendRequests. Because QuickFIX and at least one other FIX engine can end up "invalidating" one of these enqueued messages courtesy of a SequenceResetGapFill, it is dangerous for QuickFIX to hold onto copies of them as they were originally sent. I am doubtful that many (any?) engines would GapFill over messages other than ADMIN-type messages, but is there anything in the specs that makes it invalid to do so? If not, the defensive approach is to just never enqueue *anything*. Just let the counterparty resend the message (or GapFill over it) as part of the normal ResendRequest processing. Making this change should be simple, but it will require a corresponding change to the code in Session.cpp that throttles ResendRequests. It makes use of the fact that a message came from the Session's queue to know that it has reached the end of a ResendRequest. So if messages are no longer enqueued there need to be a different way to detect the end-of-resend-request processing condition. This shouldn't be too hard to do. > Your patch line >=20 > if (!queued) > nextQueued(); >=20 > forces QF to consider the next incoming message instead the next message = from the queue. >=20 > Therefore, I guess your patch also addresses this kind of behaviour. If y= ou could make a > *quick* check, this would be very kind of you. Otherwise, I will investig= ate further. I don't think the ResendRequest throttling will fix this. The "if" you highlight it just to keep from stack overflow. If messages are coming from the queue, they'll keep coming from the queue because ::next was being called by ::nextQueued (which passes the queued argument =3D true). This just prevents a deep recursion of next -> nextQueued -> next -> nextQueued -> next -> etc. The correct fix for this is to either get rid of the internal queue in the Session or at least not put ADMIN messages onto it. I think the former approach is safer, and ends up simplifying Session as a result. I wonder, how does QFJ handle gaps? I hope it doesn't have this same bug. --=20 Caleb Epstein caleb dot epstein at gmail dot com |
|
From: Francis G. <fr...@at...> - 2005-08-09 17:20:11
|
I posted this July 26 and it doesn't appear in the list archives so here it is again. I have uploaded a C# test application to reproduce bug #88 at http://www.quickfixengine.org/bugtracker/bug.php?op=show <http://www.quickfixengine.org/bugtracker/bug.php?op=show&bugid=88&pos=9> &bugid=88&pos=9 Can someone try it and confirm the issue? If you need an executable just let me know. Unfortunately I am not comfortable enough in C++ to debug this myself. Thanks, Francis Gingras |
|
From: Sathyanarayana N. <sam...@ya...> - 2005-08-05 13:23:39
|
Hi, We did quite a few cross checks like changing the database driver etc but in vain. This exception is thrown only when we integrate the App with database. As an extension to the previous error, the error now points to the quickfix_jni.dll as the library when the exception has occured. We use MySQL 4, and Connector/J 3.1.1, QuickFIX 1.10 ---------------------------------------------------- The error is as follows: An unexpected exception has been detected in native code outside the VM. Unexpected Signal : EXCEPTION_ACCESS_VIOLATION (0xc0000005) occurred at PC=0x2D162E9 Function=[Unknown.] Library=E:\Malibu-WorkChkout\Malibu\lib\quickfix_jni.dll NOTE: We are unable to locate the function name symbol for the error just occurred. Please refer to release documentation for possible reason and solutions. Current Java thread: at quickfix.Session.sendToTarget(Native Method) at com.dsl.fcc.ordermatch.MalibuApplication.updateOrder(Unknown Source) at com.dsl.fcc.ordermatch.MalibuApplication.acceptOrder(Unknown Source) at com.dsl.fcc.ordermatch.MalibuApplication.onMessage(Unknown Source) at quickfix.fix42.MessageCracker.crack42(Unknown Source) at quickfix.fix42.MessageCracker.crack(Unknown Source) at com.dsl.fcc.ordermatch.MalibuApplication.fromApp(Unknown Source) Dynamic libraries: 0x00400000 - 0x00406000 C:\j2sdk1.4.2_04\bin\java.exe 0x7C900000 - 0x7C9B0000 C:\WINDOWS\system32\ntdll.dll and so on... -regards Sathya __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com |
|
From: Oren M. <or...@qu...> - 2005-08-04 15:57:28
|
Looks like an oversight in the .NET API. Add these methods to the Header
class in Messages.h in the .NET library and you should be ok:
void addGroup( Group* group )
{ QF_STACK_TRY
m_pUnmanaged->addGroup( group->unmanaged() );
QF_STACK_CATCH
}
Group* getGroup( unsigned num, Group* group ) throw( FieldNotFound* )
{ QF_STACK_TRY
try
{
m_pUnmanaged->getGroup( num, group->unmanaged() );
return group;
}
catch ( FIX::FieldNotFound & e )
{
throw new FieldNotFound( e.field );
}
QF_STACK_CATCH
}
----- Original Message -----
From: "Andrei Goldchleger" <an...@gm...>
To: <qui...@li...>
Sent: Thursday, August 04, 2005 9:13 AM
Subject: [Quickfix-developers] Re: Setting Repeating Groups in header?
QuickFIX Documentation:
http://www.quickfixengine.org/quickfix/doc/html/index.html
QuickFIX Support: http://www.quickfixengine.org/services.html
On 8/3/05, Andrei Goldchleger <an...@gm...> wrote:
> Hi there,
>
> How can i add a Repeating Group to the message header? For example,
> how can I add a "NoHops" group to the message header? I am currently
> using QuickFix 1.9.4.
Ok, maybe my question seems like I haven't RTFM, so here is a better
description: I am using the library in the .NET framework and although
I see that addGroup is defined for FieldMap in the C++ source, for
some strange reason I cannot clall addGroup in C# land. For example:
QuickFix44.NewOrderSingle newOrder = new QuickFix44.NewOrderSingle();
newOrder.getHeader().addGroup(new QuickFix.NoHops());
Produces the following error in VS:
C:\agoldchleger\VisualStudio\AuctionPrototype\FixClient\FixClientLauncher.cs(202):
'QuickFix.Message.Header' does not contain a definition for 'addGroup'
Regards,
Andrei
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
Quickfix-developers mailing list
Qui...@li...
https://lists.sourceforge.net/lists/listinfo/quickfix-developers
|
|
From: Alvin W. <AW...@FF...> - 2005-08-04 14:52:52
|
HI,
If the logout message was due to out-of-sync seq number in the
corresponding logon message, it will not trigger fromAdmin method. I
thought this has been fixed in QF 1.10. Do I miss anything?
thanks
Alvin
**********************************************************************
This e-mail message is intended solely for the use of the addressee.
The message may contain information that is privileged and confidential.
Disclosure to anyone other than the intended recipient is
prohibited. If you are not the intended recipient, please do not
disseminate, distribute or copy this communication, by e-mail or
otherwise. Instead, please notify us immediately by return e-mail
(including the original message with your reply) and then delete
and discard all copies of the message. We have taken precautions to
minimize the risk of transmitting software viruses but nevertheless
advise you to carry out your own virus checks on any attachment to
this message. We accept no liability for any loss or damage caused
by software viruses.
**********************************************************************
|
|
From: Andrei G. <an...@gm...> - 2005-08-04 14:14:05
|
On 8/3/05, Andrei Goldchleger <an...@gm...> wrote: > Hi there, >=20 > How can i add a Repeating Group to the message header? For example, > how can I add a "NoHops" group to the message header? I am currently > using QuickFix 1.9.4. Ok, maybe my question seems like I haven't RTFM, so here is a better description: I am using the library in the .NET framework and although I see that addGroup is defined for FieldMap in the C++ source, for some strange reason I cannot clall addGroup in C# land. For example: QuickFix44.NewOrderSingle newOrder =3D=09=09=09=09=09=09=09=09new QuickFix4= 4.NewOrderSingle(); newOrder.getHeader().addGroup(new QuickFix.NoHops()); Produces the following error in VS: C:\agoldchleger\VisualStudio\AuctionPrototype\FixClient\FixClientLauncher.c= s(202): 'QuickFix.Message.Header' does not contain a definition for 'addGroup' Regards, Andrei |
|
From: Oren M. <or...@qu...> - 2005-08-04 04:55:44
|
There have not been any reported issues to this effect. Most of the library makes use of STL, so traditional buffer overflow issues wouldn't likely be present in those areas. If there were any buffer overflow vulnerabilities, the most likely area of concern in my opinion might be in the field conversion (and perhaps message parsing) code since much of this uses lower level buffers now due to performance optimizations. We do have a significant set of unit tests which check boundary conditions. As I said, no overflow vulnerabilities have been reported for any version of the library and we have no particular reason to believe they exist. This is based on four years of production use by many companies out in the field. However, to my knowledge, no one has done a comprehensive security audit. --oren On Aug 3, 2005, at 6:45 PM, Sol wrote: > Are there any known security issues with quickfix, whether fixed or > not? Such as buffer overflow vulnerability, etc. > > Our network security guys want confirmation that somebody has > looked for these problems, and hopefully addressed them, before our > system can be approved for deployment. > > -sol > |