quickfix-developers Mailing List for QuickFIX (Page 287)
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
|
From: Oren M. <ore...@ya...> - 2003-03-26 19:23:20
|
Thanks for your input on these. I'm sure that as we begin getting more and more input like this on how QF is commonly used, we will begin to see some patterns develop. It would be interesting to hear from more people as to how QF is integrated into different applications and what sort of integration challenges they have. For the short term I think that we will focus on getting rid of onRun and making the start call asynchronous. Then we should revisit any other major architectural changes and see if we will want to work them in to a 2.0 release. The biggest challenge here is keeping all the API's (C++, java and .NET) in synch. Before making to many significant changes to the architecture I want to make sure that all of these are fully synchronized. I also think it is long overdue to put together a testsuite for Java and .NET like we have for C++. We are going to be adding more and more API's, so we need to have an automated system to verify that they all work in the same manner. David Monheit <Dav...@mo...> wrote:Hi guys, Continuing to learn the system. I agree with getting rid of onRun!!! I was wondering, Oren, if it does not pay to think of quickfix in terms of something like JMS (just an analogy). Basically you have some class which, when started, generates callbacks on some known interface and to which you can send messages ( quickfixObject.Sessions(SessionID).send(...) ) when so desired. The main app would be responsible for instantiating the Manager and starting (and perhaps pausing/stopping) it at will (as you mentioned below). This would allow quickfix to have all kinds of goodies hidden from the main app. For instance the threading model (ie single, thread per Session or pool). In the current library, the basic app derives from Application etc. If a manager is used, we can refactor the code in Application into the said Manager and just have the main app register listeners (which implement the basic onApp, toApp etc interface). Another thing that would be nice is for the quickfix class to accept multiple listeners for a given Session. It then becomes very easy to write classes which do different things to the same set of messsages. For instance main registers some basic trading class (perhaps based on market data which it gets from somewhere), another class performs limit monitoring and publishes it to the network on its own thread, another class can send alerts to some trading desk etc etc etc. Each listener may or may not have its own thread. The Manager will call all registered listeners (for a given Session) upon each callback... Anyways, my 5 pence worth. Thanks David PS Turns out that I just need to send my encrypted password as an MD5 digest during logon. I don't think that it will contains NULL or 0x01... Thanks. Oren Miller wrote: Yeah. This behavior is probably going to change soon. QuickFIX was originally designed with a certain type of application in mind, and is very good for quickly building thos kinds of applications (event based servers). More and more people are using it for other things, so a better approach is needed. Here is how it currently works. When you call start(), the acceptor or initiator will use the current thread to drive the socket events, and then spawns a new thread to call onRun. In retrospect, doing it the other way around probably would have made more sense. The original intent was that the start() thread would drive the fix engine (or spawn off a series of threads to drive it), and the onRun thread would drive non-FIX related events. Unfortunately, in the context of a larger application (such as GUIs), this is rather constrictive and forces you to do some architectural workarounds. The way that I want it to work is to get rid of the entire onRun concept, and make start() and asynchronous call. Then we could also provide a symetrical stop() call. I was planning on putting this into the 1.5 release. I'm debating whether to change over, or have a version that supports the new and old systems, and marking the old onRun as deprecated. Rob Kulseth <ro...@ri...> wrote: I am creating a GUI application to forward orders to a counterparty, from another counterparty. Everything is working fine, I just have one question. My application creates both an Acceptor and an Initiator. I noticed that when I tried to start the Acceptor with Acceptor.start() my application would hang. I soon realized that the start method claims the thread you use to call the method. To fix that I spawned another thread to invoke the start method. my GUI began to behave properly, but the thread that began looping in the onRun was not the same thread that I used to invoke the start method. Am I missing some basic concept here, or is this how it is supposed to work. I just don't want random threads laying around doing nothing. ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Quickfix-developers mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-developers --------------------------------- Do you Yahoo!? Yahoo! Platinum - Watch CBS' NCAA March Madness, live on your desktop! -- NOTICE: If received in error, please destroy and notify sender. Sender does not waive confidentiality or privilege, and use is prohibited. --------------------------------- Do you Yahoo!? Yahoo! Platinum - Watch CBS' NCAA March Madness, live on your desktop! |
From: <OM...@th...> - 2003-03-26 16:24:35
|
See the CheckLatency and MaxLatency configuration settings. You can set CheckLatency=N to turn off this validation, or use MaxLatency to increase the offset from 120 seconds. See the validation configuration settings for full descriptions: http://quickfix.thoughtworks.com/documentation/configuration.html --oren |---------+-----------------------------------------------> | | Nicholas Palmer | | | <nic...@sl...> | | | Sent by: | | | qui...@li...ur| | | ceforge.net | | | | | | | | | 03/26/2003 02:39 AM | | | | |---------+-----------------------------------------------> >----------------------------------------------------------------------------------------------| | | | To: qui...@li... | | cc: | | Subject: Re: [Quickfix-developers] Server Thread | >----------------------------------------------------------------------------------------------| -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 I am attempting to get a connection going from my QuickFIX application to another vendor. The problem I am having is that all messages from the other vendor are being rejected with the message: (Message # Rejected: SendingTime accuracy problem) The clock on their machine seems to be about four and one half minutes slow. We are using NTP, so I am pretty damn sure our time is right. Is there any way to disable this feature of QuickFIX in the config if they won't fix the clock on their machine? Thanks, - -Nick -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQE+gWdWR42/Somtp0QRAnTtAJsF0+dkcgkNpLLLasBWIox30o+aLwCdEo+3 249AjhcQNpmoxsAzSv4zxFQ= |
From: Nicholas P. <nic...@sl...> - 2003-03-26 08:40:00
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 I am attempting to get a connection going from my QuickFIX application to another vendor. The problem I am having is that all messages from the other vendor are being rejected with the message: (Message # Rejected: SendingTime accuracy problem) The clock on their machine seems to be about four and one half minutes slow. We are using NTP, so I am pretty damn sure our time is right. Is there any way to disable this feature of QuickFIX in the config if they won't fix the clock on their machine? Thanks, - -Nick -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQE+gWdWR42/Somtp0QRAnTtAJsF0+dkcgkNpLLLasBWIox30o+aLwCdEo+3 249AjhcQNpmoxsAzSv4zxFQ= =i/Of -----END PGP SIGNATURE----- |
From: David M. <Dav...@mo...> - 2003-03-25 09:40:52
|
Hi guys, Continuing to learn the system. I agree with getting rid of onRun!!! I was wondering, Oren, if it does not pay to think of quickfix in terms of something like JMS (just an analogy). Basically you have some class which, when started, generates callbacks on some known interface and to which you can send messages ( quickfixObject.Sessions(SessionID).send(...) ) when so desired. The main app would be responsible for instantiating the Manager and starting (and perhaps pausing/stopping) it at will (as you mentioned below). This would allow quickfix to have all kinds of goodies hidden from the main app. For instance the threading model (ie single, thread per Session or pool). In the current library, the basic app derives from Application etc. If a manager is used, we can refactor the code in Application into the said Manager and just have the main app register listeners (which implement the basic onApp, toApp etc interface). Another thing that would be nice is for the quickfix class to accept multiple listeners for a given Session. It then becomes very easy to write classes which do different things to the same set of messsages. For instance main registers some basic trading class (perhaps based on market data which it gets from somewhere), another class performs limit monitoring and publishes it to the network on its own thread, another class can send alerts to some trading desk etc etc etc. Each listener may or may not have its own thread. The Manager will call all registered listeners (for a given Session) upon each callback... Anyways, my 5 pence worth. Thanks David PS Turns out that I just need to send my encrypted password as an MD5 digest during logon. I don't think that it will contains NULL or 0x01... Thanks. Oren Miller wrote: > Yeah. This behavior is probably going to change soon. QuickFIX was > originally designed with a certain type of application in mind, and is > very good for quickly building thos kinds of applications (event based > servers). More and more people are using it for other things, so a > better approach is needed. Here is how it currently works. > > When you call start(), the acceptor or initiator will use the current > thread to drive the socket events, and then spawns a new thread to > call onRun. In retrospect, doing it the other way around probably > would have made more sense. > > The original intent was that the start() thread would drive the fix > engine (or spawn off a series of threads to drive it), and the onRun > thread would drive non-FIX related events. Unfortunately, in the > context of a larger application (such as GUIs), this is rather > constrictive and forces you to do some architectural workarounds. > > The way that I want it to work is to get rid of the entire onRun > concept, and make start() and asynchronous call. Then we could also > provide a symetrical stop() call. I was planning on putting this into > the 1.5 release. I'm debating whether to change over, or have a > version that supports the new and old systems, and marking the old > onRun as deprecated. > > Rob Kulseth <ro...@ri...> wrote: > > I am creating a GUI application to forward orders to a > counterparty, from another counterparty. Everything is > working fine, I just have one question. My application > creates both an Acceptor and an Initiator. I noticed that > when I tried to start the Acceptor with Acceptor.start() my > application would hang. I soon realized that the start > method claims the thread you use to call the method. To fix > that I spawned another thread to invoke the start method. my > GUI began to behave properly, but the thread that began > looping in the onRun was not the same thread that I used to > invoke the start method. Am I missing some basic concept > here, or is this how it is supposed to work. I just don't > want random threads laying around doing nothing. > > > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > Welcome to geek heaven. > http://thinkgeek.com/sf > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listi > fo/quickfix-developers > > > ----------------------------------------------------------------------- > Do you Yahoo!? > Yahoo! Platinum - Watch CBS' NCAA March Madness, live on your desktop! -- NOTICE: If received in error, please destroy and notify sender. Sender does not waive confidentiality or privilege, and use is prohibited. |
From: Rob K. <ro...@ri...> - 2003-03-25 01:27:29
|
How do you remove a field from a QuickFIX message in Dot Net. I looked = at the documentation and the only thing I found was the = Message::setString() method. If I wanted, I could extract the string = representation, cut out the field I want to remove and then set the = sring back. However, it dosen't look like the setString() method is = exposed in the Dot Net wrapper. Is there any reason for this? Is it = that the third parameter is a pointer? Is there anyway to do this? |
From: Oren M. <ore...@ya...> - 2003-03-24 22:53:30
|
Yeah. This behavior is probably going to change soon. QuickFIX was originally designed with a certain type of application in mind, and is very good for quickly building thos kinds of applications (event based servers). More and more people are using it for other things, so a better approach is needed. Here is how it currently works. When you call start(), the acceptor or initiator will use the current thread to drive the socket events, and then spawns a new thread to call onRun. In retrospect, doing it the other way around probably would have made more sense. The original intent was that the start() thread would drive the fix engine (or spawn off a series of threads to drive it), and the onRun thread would drive non-FIX related events. Unfortunately, in the context of a larger application (such as GUIs), this is rather constrictive and forces you to do some architectural workarounds. The way that I want it to work is to get rid of the entire onRun concept, and make start() and asynchronous call. Then we could also provide a symetrical stop() call. I was planning on putting this into the 1.5 release. I'm debating whether to change over, or have a version that supports the new and old systems, and marking the old onRun as deprecated. Rob Kulseth <ro...@ri...> wrote:I am creating a GUI application to forward orders to a counterparty, from another counterparty. Everything is working fine, I just have one question. My application creates both an Acceptor and an Initiator. I noticed that when I tried to start the Acceptor with Acceptor.start() my application would hang. I soon realized that the start method claims the thread you use to call the method. To fix that I spawned another thread to invoke the start method. my GUI began to behave properly, but the thread that began looping in the onRun was not the same thread that I used to invoke the start method. Am I missing some basic concept here, or is this how it is supposed to work. I just don't want random threads laying around doing nothing. ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Quickfix-developers mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-developers --------------------------------- Do you Yahoo!? Yahoo! Platinum - Watch CBS' NCAA March Madness, live on your desktop! |
From: Oren M. <ore...@ya...> - 2003-03-24 22:53:29
|
Yeah. This behavior is probably going to change soon. QuickFIX was originally designed with a certain type of application in mind, and is very good for quickly building thos kinds of applications (event based servers). More and more people are using it for other things, so a better approach is needed. Here is how it currently works. When you call start(), the acceptor or initiator will use the current thread to drive the socket events, and then spawns a new thread to call onRun. In retrospect, doing it the other way around probably would have made more sense. The original intent was that the start() thread would drive the fix engine (or spawn off a series of threads to drive it), and the onRun thread would drive non-FIX related events. Unfortunately, in the context of a larger application (such as GUIs), this is rather constrictive and forces you to do some architectural workarounds. The way that I want it to work is to get rid of the entire onRun concept, and make start() and asynchronous call. Then we could also provide a symetrical stop() call. I was planning on putting this into the 1.5 release. I'm debating whether to change over, or have a version that supports the new and old systems, and marking the old onRun as deprecated. Rob Kulseth <ro...@ri...> wrote:I am creating a GUI application to forward orders to a counterparty, from another counterparty. Everything is working fine, I just have one question. My application creates both an Acceptor and an Initiator. I noticed that when I tried to start the Acceptor with Acceptor.start() my application would hang. I soon realized that the start method claims the thread you use to call the method. To fix that I spawned another thread to invoke the start method. my GUI began to behave properly, but the thread that began looping in the onRun was not the same thread that I used to invoke the start method. Am I missing some basic concept here, or is this how it is supposed to work. I just don't want random threads laying around doing nothing. ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Quickfix-developers mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-developers --------------------------------- Do you Yahoo!? Yahoo! Platinum - Watch CBS' NCAA March Madness, live on your desktop! |
From: Rob K. <ro...@ri...> - 2003-03-24 22:23:51
|
I am creating a GUI application to forward orders to a counterparty, = from another counterparty. Everything is working fine, I just have one = question. My application creates both an Acceptor and an Initiator. I = noticed that when I tried to start the Acceptor with Acceptor.start() my = application would hang. I soon realized that the start method claims = the thread you use to call the method. To fix that I spawned another = thread to invoke the start method. my GUI began to behave properly, but = the thread that began looping in the onRun was not the same thread that = I used to invoke the start method. Am I missing some basic concept = here, or is this how it is supposed to work. I just don't want random = threads laying around doing nothing. |
From: Oren M. <ore...@ya...> - 2003-03-21 20:04:03
|
We have a new build machine configured with RedHat linux and gcc 3.2.7. This is in addition to the Mandrake configuration with pgcc 2.95.3. Build results are available from the developers page: http://quickfix.thoughtworks.com/developers.html __________________________________________________ Do you Yahoo!? Yahoo! Platinum - Watch CBS' NCAA March Madness, live on your desktop! http://platinum.yahoo.com |
From: Gene G. <mus...@ya...> - 2003-03-19 15:55:22
|
The question is whether this is the same crash as Sergey's. If your stack is the same as reported by Sergey, chances are that it is, and that you missed something in the examples rebuild process (patch, make, make install, examples/make). If this is a different problem you may try other patches which I posted. If this also fails, as Oren suggests you can try putting tracing printf's in the code, or you will have to debug. To do that edit configure.in, add "-g -O0" to "CFLAGS", run configure and make again and then run gdb (I prefer a bit friendlier ddd shell) against java process. If you post stack that is reported it will give further clues to what is wrong. Gene --- David Monheit <Dav...@mo...> wrote: > Hi Gene, > > I have applied both your patches and rebuilt all. > Unfortunately, I still get > the core dump :-( I also made sure that the host > names (and tried ip addresses > as well) were sensisble. > > How does one debug a jni lib? By attaching to the > running java code with gdb? > > Thanks and regards > David > > Gene Gorokhovsky wrote: > > > This, as Sergey discovered the hard way, is what > > happens on Linux when the initiator's > > SocketConnectHost is invalid. The reason is that > > Quickfix Utility.cpp and SocketConnector.cpp > ignore > > bad return from gethostbyname. This is easily > > reproducible on Linux by changing > SocketConnectHost in > > cfg/tradeclient.cfg and banzai.cfg to something > > random. Both C++ and JNI client will fail with > > segfaults when session connect will be attempted. > > > > The chain of events is as follows: > > Invalid host name is specified in call to > > socket_createConnector > > socket_createConnector calls socket_hostname > > socket_hostname calls gethostbyname which returns > > NULL > > socket_hostname in turn returns NULL, which gets > > passes as an argument to inet_addr > > inet_addr calls inet_aton internally, which > crashes > > because its parameter is NULL instead of required > > pointer. > > > > Here is the two patches that fix this problem. > > > > Stylistically there is some code overlap between > > Utility.cpp and SocketConnector.cpp, which in the > best > > of worlds should be eliminated, but I prefer my > > patches to be minimally invasive. > > > > Gene > > --- Sergey Gribov <se...@se...> wrote: > > > Hello, > > > > > > We have the following problem while working from > > > Java: > > > at a start time the Java application which uses > the > > > quickfix > > > version 1.3.2 it fails with the following > exception: > > > > > > > > > An unexpected exception has been detected in > native > > > code outside the VM. > > > Unexpected Signal : 11 occurred at PC=0x40149C73 > > > Function=inet_aton+0x3F > > > Library=/lib/libc.so.6 > > > > > > Current Java thread: > > > at > > > org.quickfix.SocketInitiator.doStart(Native > Method) > > > at > > > org.quickfix.SocketInitiator.start(Unknown > Source) > > > ..... > > > > > > Anybody saw something like this? > > > Some other quickfix Java applications seems to > be > > > working fine... > > > > > > Any idea what can cause it? > > > > > > Thanks in advance, > > > > > > -- > > > > > > //========================================================================\\ > > > Sergey Gribov | A > > > specialist is someone who > > > E-Mail: se...@se... | learns > more > > > and more about less > > > WWW: http://www.sergey.com/ | and > less, > > > and ends up knowing > > > Phone: (617)7101683 | > everything > > > about nothing... > > > > > > \\========================================================================// > > > > > > > > > > > > > > > ------------------------------------------------------- > > > This SF.net email is sponsored by:Crypto > Challenge > > > is now open! > > > Get cracking and register here for some mind > > > boggling fun and > > > the chance of winning an Apple iPod: > > > > > > http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0031en > > > _______________________________________________ > > > Quickfix-developers mailing list > > > Qui...@li... > > > > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > > > > __________________________________________________ > > Do you Yahoo!? > > Yahoo! Platinum - Watch CBS' NCAA March Madness, > live on your desktop! > > http://platinum.yahoo.com > > > > > ------------------------------------------------------------------------ > > --- Utility.cpp Tue Mar 18 17:23:17 2003 > > +++ /home/geneg/tmp/Utility.cpp Thu Feb 20 > 00:34:31 2003 > > @@ -112,13 +112,9 @@ > > { > > int socket = ::socket( PF_INET, SOCK_STREAM, > IPPROTO_TCP ); > > - const char * num_dot_addr = socket_hostname( > address ); > > - if (num_dot_addr == 0) > > - return -1; > > > > sockaddr_in addr; > > addr.sin_family = PF_INET; > > addr.sin_port = htons( port ); > > - addr.sin_addr.s_addr = inet_addr(num_dot_addr); > > - > > + addr.sin_addr.s_addr = inet_addr( > socket_hostname( address ) ); > > > > int result = connect( socket, reinterpret_cast > < sockaddr* > ( &addr ), > > > > > ------------------------------------------------------------------------ > > --- SocketConnector.cpp Tue Mar 18 21:11:01 2003 > > +++ /home/geneg/tmp/SocketConnector.cpp Tue Mar 18 > 21:08:13 2003 > > @@ -107,12 +107,8 @@ > > int sock = socket( PF_INET, SOCK_STREAM, > IPPROTO_TCP ); > > > > - const char * num_dot_addr = socket_hostname( > address.c_str() ); > > - if (num_dot_addr == 0) > > - return 0; > > - > > sockaddr_in addr; > > addr.sin_family = PF_INET; > > addr.sin_port = htons( port ); > > - addr.sin_addr.s_addr = inet_addr(num_dot_addr > ); > > + addr.sin_addr.s_addr = inet_addr( > socket_hostname( address.c_str() ) ); > > > > int result = ::connect( sock, reinterpret_cast > < sockaddr* > ( &addr ), > > -- > NOTICE: If received in error, please destroy and > notify sender. Sender does not waive > confidentiality or privilege, and use is prohibited. > > > __________________________________________________ Do you Yahoo!? Yahoo! Platinum - Watch CBS' NCAA March Madness, live on your desktop! http://platinum.yahoo.com |
From: Oren M. <ore...@ya...> - 2003-03-19 15:07:21
|
You need to attach the java process itself to the debugger. If you want to debug, you should compile the C++ and the Java code with the -g option. Then you can call "gdb java" and set your arguments to call banzai. You can only set breakpoints in quickfix_jni.so after it is loaded by System.loadLibrary. This is usually a pain, since it requires a rebuild of QuickFIX with the debug options. Inserting trace statements where the problem is occuring (SocketInitiator.cpp), may help you track the problem down quicker. --- David Monheit <Dav...@mo...> wrote: > Hi Gene, > > I have applied both your patches and rebuilt all. > Unfortunately, I still get > the core dump :-( I also made sure that the host > names (and tried ip addresses > as well) were sensisble. > > How does one debug a jni lib? By attaching to the > running java code with gdb? > > Thanks and regards > David > > Gene Gorokhovsky wrote: > > > This, as Sergey discovered the hard way, is what > > happens on Linux when the initiator's > > SocketConnectHost is invalid. The reason is that > > Quickfix Utility.cpp and SocketConnector.cpp > ignore > > bad return from gethostbyname. This is easily > > reproducible on Linux by changing > SocketConnectHost in > > cfg/tradeclient.cfg and banzai.cfg to something > > random. Both C++ and JNI client will fail with > > segfaults when session connect will be attempted. > > > > The chain of events is as follows: > > Invalid host name is specified in call to > > socket_createConnector > > socket_createConnector calls socket_hostname > > socket_hostname calls gethostbyname which returns > > NULL > > socket_hostname in turn returns NULL, which gets > > passes as an argument to inet_addr > > inet_addr calls inet_aton internally, which > crashes > > because its parameter is NULL instead of required > > pointer. > > > > Here is the two patches that fix this problem. > > > > Stylistically there is some code overlap between > > Utility.cpp and SocketConnector.cpp, which in the > best > > of worlds should be eliminated, but I prefer my > > patches to be minimally invasive. > > > > Gene > > --- Sergey Gribov <se...@se...> wrote: > > > Hello, > > > > > > We have the following problem while working from > > > Java: > > > at a start time the Java application which uses > the > > > quickfix > > > version 1.3.2 it fails with the following > exception: > > > > > > > > > An unexpected exception has been detected in > native > > > code outside the VM. > > > Unexpected Signal : 11 occurred at PC=0x40149C73 > > > Function=inet_aton+0x3F > > > Library=/lib/libc.so.6 > > > > > > Current Java thread: > > > at > > > org.quickfix.SocketInitiator.doStart(Native > Method) > > > at > > > org.quickfix.SocketInitiator.start(Unknown > Source) > > > ..... > > > > > > Anybody saw something like this? > > > Some other quickfix Java applications seems to > be > > > working fine... > > > > > > Any idea what can cause it? > > > > > > Thanks in advance, > > > > > > -- > > > > > > //========================================================================\\ > > > Sergey Gribov | A > > > specialist is someone who > > > E-Mail: se...@se... | learns > more > > > and more about less > > > WWW: http://www.sergey.com/ | and > less, > > > and ends up knowing > > > Phone: (617)7101683 | > everything > > > about nothing... > > > > > > \\========================================================================// > > > > > > > > > > > > > > > ------------------------------------------------------- > > > This SF.net email is sponsored by:Crypto > Challenge > > > is now open! > > > Get cracking and register here for some mind > > > boggling fun and > > > the chance of winning an Apple iPod: > > > > > > http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0031en > > > _______________________________________________ > > > Quickfix-developers mailing list > > > Qui...@li... > > > > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > > > > __________________________________________________ > > Do you Yahoo!? > > Yahoo! Platinum - Watch CBS' NCAA March Madness, > live on your desktop! > > http://platinum.yahoo.com > > > > > ------------------------------------------------------------------------ > > --- Utility.cpp Tue Mar 18 17:23:17 2003 > > +++ /home/geneg/tmp/Utility.cpp Thu Feb 20 > 00:34:31 2003 > > @@ -112,13 +112,9 @@ > > { > > int socket = ::socket( PF_INET, SOCK_STREAM, > IPPROTO_TCP ); > > - const char * num_dot_addr = socket_hostname( > address ); > > - if (num_dot_addr == 0) > > - return -1; > > > > sockaddr_in addr; > > addr.sin_family = PF_INET; > > addr.sin_port = htons( port ); > > - addr.sin_addr.s_addr = inet_addr(num_dot_addr); > > - > > + addr.sin_addr.s_addr = inet_addr( > socket_hostname( address ) ); > > > > int result = connect( socket, reinterpret_cast > < sockaddr* > ( &addr ), > > > > > ------------------------------------------------------------------------ > > --- SocketConnector.cpp Tue Mar 18 21:11:01 2003 > > +++ /home/geneg/tmp/SocketConnector.cpp Tue Mar 18 > 21:08:13 2003 > > @@ -107,12 +107,8 @@ > > int sock = socket( PF_INET, SOCK_STREAM, > IPPROTO_TCP ); > > > > - const char * num_dot_addr = socket_hostname( > address.c_str() ); > > - if (num_dot_addr == 0) > > - return 0; > > - > > sockaddr_in addr; > > addr.sin_family = PF_INET; > > addr.sin_port = htons( port ); > > - addr.sin_addr.s_addr = inet_addr(num_dot_addr > ); > > + addr.sin_addr.s_addr = inet_addr( > socket_hostname( address.c_str() ) ); > > > > int result = ::connect( sock, reinterpret_cast > < sockaddr* > ( &addr ), > > -- > NOTICE: If received in error, please destroy and > notify sender. Sender does not waive > confidentiality or privilege, and use is prohibited. > > > __________________________________________________ Do you Yahoo!? Yahoo! Platinum - Watch CBS' NCAA March Madness, live on your desktop! http://platinum.yahoo.com |
From: David M. <Dav...@mo...> - 2003-03-19 14:30:09
|
Hi Gene, I have applied both your patches and rebuilt all. Unfortunately, I still get the core dump :-( I also made sure that the host names (and tried ip addresses as well) were sensisble. How does one debug a jni lib? By attaching to the running java code with gdb? Thanks and regards David Gene Gorokhovsky wrote: > This, as Sergey discovered the hard way, is what > happens on Linux when the initiator's > SocketConnectHost is invalid. The reason is that > Quickfix Utility.cpp and SocketConnector.cpp ignore > bad return from gethostbyname. This is easily > reproducible on Linux by changing SocketConnectHost in > cfg/tradeclient.cfg and banzai.cfg to something > random. Both C++ and JNI client will fail with > segfaults when session connect will be attempted. > > The chain of events is as follows: > Invalid host name is specified in call to > socket_createConnector > socket_createConnector calls socket_hostname > socket_hostname calls gethostbyname which returns > NULL > socket_hostname in turn returns NULL, which gets > passes as an argument to inet_addr > inet_addr calls inet_aton internally, which crashes > because its parameter is NULL instead of required > pointer. > > Here is the two patches that fix this problem. > > Stylistically there is some code overlap between > Utility.cpp and SocketConnector.cpp, which in the best > of worlds should be eliminated, but I prefer my > patches to be minimally invasive. > > Gene > --- Sergey Gribov <se...@se...> wrote: > > Hello, > > > > We have the following problem while working from > > Java: > > at a start time the Java application which uses the > > quickfix > > version 1.3.2 it fails with the following exception: > > > > > > An unexpected exception has been detected in native > > code outside the VM. > > Unexpected Signal : 11 occurred at PC=0x40149C73 > > Function=inet_aton+0x3F > > Library=/lib/libc.so.6 > > > > Current Java thread: > > at > > org.quickfix.SocketInitiator.doStart(Native Method) > > at > > org.quickfix.SocketInitiator.start(Unknown Source) > > ..... > > > > Anybody saw something like this? > > Some other quickfix Java applications seems to be > > working fine... > > > > Any idea what can cause it? > > > > Thanks in advance, > > > > -- > > > //========================================================================\\ > > Sergey Gribov | A > > specialist is someone who > > E-Mail: se...@se... | learns more > > and more about less > > WWW: http://www.sergey.com/ | and less, > > and ends up knowing > > Phone: (617)7101683 | everything > > about nothing... > > > \\========================================================================// > > > > > > > > > ------------------------------------------------------- > > This SF.net email is sponsored by:Crypto Challenge > > is now open! > > Get cracking and register here for some mind > > boggling fun and > > the chance of winning an Apple iPod: > > > http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0031en > > _______________________________________________ > > Quickfix-developers mailing list > > Qui...@li... > > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > > __________________________________________________ > Do you Yahoo!? > Yahoo! Platinum - Watch CBS' NCAA March Madness, live on your desktop! > http://platinum.yahoo.com > > ------------------------------------------------------------------------ > --- Utility.cpp Tue Mar 18 17:23:17 2003 > +++ /home/geneg/tmp/Utility.cpp Thu Feb 20 00:34:31 2003 > @@ -112,13 +112,9 @@ > { > int socket = ::socket( PF_INET, SOCK_STREAM, IPPROTO_TCP ); > - const char * num_dot_addr = socket_hostname( address ); > - if (num_dot_addr == 0) > - return -1; > > sockaddr_in addr; > addr.sin_family = PF_INET; > addr.sin_port = htons( port ); > - addr.sin_addr.s_addr = inet_addr(num_dot_addr); > - > + addr.sin_addr.s_addr = inet_addr( socket_hostname( address ) ); > > int result = connect( socket, reinterpret_cast < sockaddr* > ( &addr ), > > ------------------------------------------------------------------------ > --- SocketConnector.cpp Tue Mar 18 21:11:01 2003 > +++ /home/geneg/tmp/SocketConnector.cpp Tue Mar 18 21:08:13 2003 > @@ -107,12 +107,8 @@ > int sock = socket( PF_INET, SOCK_STREAM, IPPROTO_TCP ); > > - const char * num_dot_addr = socket_hostname( address.c_str() ); > - if (num_dot_addr == 0) > - return 0; > - > sockaddr_in addr; > addr.sin_family = PF_INET; > addr.sin_port = htons( port ); > - addr.sin_addr.s_addr = inet_addr(num_dot_addr ); > + addr.sin_addr.s_addr = inet_addr( socket_hostname( address.c_str() ) ); > > int result = ::connect( sock, reinterpret_cast < sockaddr* > ( &addr ), -- NOTICE: If received in error, please destroy and notify sender. Sender does not waive confidentiality or privilege, and use is prohibited. |
From: David M. <Dav...@mo...> - 2003-03-19 09:04:38
|
Hi Oren Thanks a lot for the replies. Makes good sense. I started going through the samples in detail so that should help. Shame about the archives :-( Do you have any stats at all about engine throughput, both single and multi threaded? Interesting thought about using a fix session for admin. I had not thought of that... I guess that I think in terms of all applications having this not just a fix engine :-) I see now why you are worried about security, as an external connection to the engine could create havoc with admin... We could create a list of valid host addresses or domains which can log in as admin... No worries. Is encryption in the cards? Thanks a million for the help, David Oren Miller wrote: > Oh, and concerning admin. No there isn't anything built in to do > this. You could implement these features in your application or > create an admin FIX session that does this. Part of the reason we > have nott done this is that we have not done a release with encryption > yet. It would be dangerous to have such a feature without encryption. > > > ----------------------------------------------------------------------- > Do you Yahoo!? > Yahoo! Platinum - Watch CBS' NCAA March Madness, live on your desktop! -- NOTICE: If received in error, please destroy and notify sender. Sender does not waive confidentiality or privilege, and use is prohibited. |
From: Gene G. <mus...@ya...> - 2003-03-19 07:12:59
|
Attached is another patch which deals with XML parsing. DataDictionary did not ignore empty nodes which were siblings of "value" correctly. I have also made exceptions text a tad more informative here and there. Gene --- Gene Gorokhovsky <mus...@ya...> wrote: > LIBXML implementation of DOMDocument has a problem: > it > skips over every second node. I am not sure whether > the idea was to skip over newlines or some such, but > the end-result is that on my configuration (Redhat > Linux AS 2.1, libxml 2.4.24. gcc 3.21) only half of > the spec xml gets read into memory. This leads to > disasterous consequences -- acceptor cannot even be > created with half of the fields definitions missing. > I have attached a patch; fixed code does not skip > nodes. > > If the reasoning behind double-step was indeed to > skip > useless newline nodes (and not a plain oversight), > check out xmlKeepBlanksDefault () in libxml2. > > Gene > > __________________________________________________ > Do you Yahoo!? > Yahoo! Platinum - Watch CBS' NCAA March Madness, > live on your desktop! > http://platinum.yahoo.com> --- /home/geneg/tmp/LIBXML_DOMDocument.cpp Wed Mar > 19 01:11:51 2003 > +++ LIBXML_DOMDocument.cpp Wed Mar 19 01:13:44 2003 > @@ -72,6 +72,5 @@ > DOMNodePtr LIBXML_DOMNode::getFirstChildNode() > { > - if( !m_pNode->children ) return DOMNodePtr(); > - xmlNodePtr pNode = m_pNode->children->next; > + xmlNodePtr pNode = m_pNode->children; > if( pNode == NULL ) return DOMNodePtr(); > return DOMNodePtr(new LIBXML_DOMNode(pNode)); > @@ -80,6 +79,5 @@ > DOMNodePtr LIBXML_DOMNode::getNextSiblingNode() > { > - if( !m_pNode->next ) return DOMNodePtr(); > - xmlNodePtr pNode = m_pNode->next->next; > + xmlNodePtr pNode = m_pNode->next; > if( pNode == NULL ) return DOMNodePtr(); > return DOMNodePtr(new LIBXML_DOMNode(pNode)); > __________________________________________________ Do you Yahoo!? Yahoo! Platinum - Watch CBS' NCAA March Madness, live on your desktop! http://platinum.yahoo.com |
From: Gene G. <mus...@ya...> - 2003-03-19 06:41:26
|
LIBXML implementation of DOMDocument has a problem: it skips over every second node. I am not sure whether the idea was to skip over newlines or some such, but the end-result is that on my configuration (Redhat Linux AS 2.1, libxml 2.4.24. gcc 3.21) only half of the spec xml gets read into memory. This leads to disasterous consequences -- acceptor cannot even be created with half of the fields definitions missing. I have attached a patch; fixed code does not skip nodes. If the reasoning behind double-step was indeed to skip useless newline nodes (and not a plain oversight), check out xmlKeepBlanksDefault () in libxml2. Gene __________________________________________________ Do you Yahoo!? Yahoo! Platinum - Watch CBS' NCAA March Madness, live on your desktop! http://platinum.yahoo.com |
From: Gene G. <mus...@ya...> - 2003-03-19 02:35:52
|
This, as Sergey discovered the hard way, is what happens on Linux when the initiator's SocketConnectHost is invalid. The reason is that Quickfix Utility.cpp and SocketConnector.cpp ignore bad return from gethostbyname. This is easily reproducible on Linux by changing SocketConnectHost in cfg/tradeclient.cfg and banzai.cfg to something random. Both C++ and JNI client will fail with segfaults when session connect will be attempted. The chain of events is as follows: Invalid host name is specified in call to socket_createConnector socket_createConnector calls socket_hostname socket_hostname calls gethostbyname which returns NULL socket_hostname in turn returns NULL, which gets passes as an argument to inet_addr inet_addr calls inet_aton internally, which crashes because its parameter is NULL instead of required pointer. Here is the two patches that fix this problem. Stylistically there is some code overlap between Utility.cpp and SocketConnector.cpp, which in the best of worlds should be eliminated, but I prefer my patches to be minimally invasive. Gene --- Sergey Gribov <se...@se...> wrote: > Hello, > > We have the following problem while working from > Java: > at a start time the Java application which uses the > quickfix > version 1.3.2 it fails with the following exception: > > > An unexpected exception has been detected in native > code outside the VM. > Unexpected Signal : 11 occurred at PC=0x40149C73 > Function=inet_aton+0x3F > Library=/lib/libc.so.6 > > Current Java thread: > at > org.quickfix.SocketInitiator.doStart(Native Method) > at > org.quickfix.SocketInitiator.start(Unknown Source) > ..... > > Anybody saw something like this? > Some other quickfix Java applications seems to be > working fine... > > Any idea what can cause it? > > Thanks in advance, > > -- > //========================================================================\\ > Sergey Gribov | A > specialist is someone who > E-Mail: se...@se... | learns more > and more about less > WWW: http://www.sergey.com/ | and less, > and ends up knowing > Phone: (617)7101683 | everything > about nothing... > \\========================================================================// > > > > ------------------------------------------------------- > This SF.net email is sponsored by:Crypto Challenge > is now open! > Get cracking and register here for some mind > boggling fun and > the chance of winning an Apple iPod: > http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0031en > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers __________________________________________________ Do you Yahoo!? Yahoo! Platinum - Watch CBS' NCAA March Madness, live on your desktop! http://platinum.yahoo.com |
From: Oren M. <ore...@ya...> - 2003-03-18 20:35:14
|
Oh, and concerning admin. No there isn't anything built in to do this. You could implement these features in your application or create an admin FIX session that does this. Part of the reason we have nott done this is that we have not done a release with encryption yet. It would be dangerous to have such a feature without encryption. --------------------------------- Do you Yahoo!? Yahoo! Platinum - Watch CBS' NCAA March Madness, live on your desktop! |
From: Oren M. <ore...@ya...> - 2003-03-18 20:14:44
|
Well the number of threads making calls depends on the variety of Initiator or Acceptor you use. The two types currently available are the SocketInitiator/Acceptor and the ThreadedSocketInitiator/Acceptor. The SocketInitiator/Acceptor manages all events in one thread, while the ThreadedSocketInitiator/Acceptor uses a different thread for each session. In the future, other Initiators and Acceptors may be added that use different threading models. If you do not know for sure which Acceptor or Initiator your Application will be passed to, then you must assume that it is possible multiple threads will access the same callbacks at the same time. This means you can handle multiple requests concurrently, but you must also take care to synchronize your shared resources. Unfortunately, I do not know of any way to download the mailing list archive. __________________________________________________ Do you Yahoo!? Yahoo! Platinum - Watch CBS' NCAA March Madness, live on your desktop! http://platinum.yahoo.com |
From: <ap...@ds...> - 2003-03-18 17:03:46
|
Hi Oren, Quoting Oren Miller <ore...@ya...>: > > > I am just getting to learn more about quickfix. I > > have built it > > (quickfix-1.4.0) on Linux (RedhLinux version > > 2.4.9-e.8enterprise > > (bhc...@da...) (gcc version 2.96 > > 20000731 (Red Hat Linux 7.2 > > 2.96-108.1)) using gcc 2.95.3 and both java 1.3.1 > > and 1.4. > > One thing, be careful compiling with gcc 2.9.6. > Please see the warning on our download page pertaining > to this: > http://quickfix.thoughtworks.com/download.html > > There are known problems with this compiler, and known > problems when compiling QuickFIX with it. I actually compiled with gcc-2.95.3! The kernel was built with 2.96! > > > - had to set the LTCONFIG_VERSION env variable to > > 3.??? (can't remember by > > heart, I will look it up). I had never used > > libtool, etc, so it took me a while > > to figure this out. > > Usually problems like this can be resolved by just > running the ./bootstrap script before running > ./configure. Unfortunately the autotools generated > scripts arn't always compatible with every system and > regenerating them is often the bost option. > Did not try that! Will do again to verify my build. > > - Had to use the notestxml option. Could not get it > > to see my libxml lib. > > This is ussually a result of an incomplete > installation of libxml2. You may want to check to see > if that installation was done properly. > I did not install the libxml at this server. I guess that is the problem. > > - Had to modify some makefiles (ie. > > executor/C++/Makefile) to see the include > > and lib dirs for quickfix (basically to add > > -Ixxx/quickfix-1.4.0/include) etc. > > Hmmm. How did your directory structure end up like > that? The tar file should set up the directory to be > quickfix/include, not quickfix-1.4.0/include. > What happened is that I ran configure with --prefix=xxx/quickfix-1.4.0 When I tried to build the java stuff, it failed. I then added the above (which was the target of the "make install" runs... The tree is actually /quickfix/examples/executor/java. I think that since I gave a prefix, it should have added it to the Makefile? > > - Had to build the src/java directory separately, > > i.e., it was not built during > > the main make. Threw me off trying to build the > > samples first :-( > > This would happen if the build script is unable to > detect the presenct of JNI. Is your JAVA_HOME > environment set up correctly? > > > > > Otherwise, great stuff! > > > > I enclose the single nasty problem I could not > > resolve, ie, whenever I run the > > run_banzai script I get the sessions showing up on > > the console, the gui's main > > frame shows up blank and then an fatal jni > > execption, whose log I enclose. This > > did not happen when I ran the run_executor_java > > script! > > Don't know the answer to this straight away. Will > have to investigate this. No problem. Thanks. > > > > > I have several questions about the architecture of > > quickfix (ie threading, > > resilience (I have seen some mails in the archive > > about it and I am digesting > > them), administration etc). Is this the right forum > > to ask them? > > Yes, it is. > > Let me have a play with the examples. But to start, what is the threading model. Basically, an app derives from a base class and implements an interface which gets called on different fix events. How many threads (if any) are making these callbacks? Is there a thread per Fix Session or a pool? What is the synchronization scheme? Do the callbacks have to be re-entrant? Is there a way to connect to the application to issue admin commands (ie the app listens on a command port to which I can connect to and get a list of available admin commands such as "list sessions", "kill session", "connect", or whatever? I saw something about Admins but did not get a chance to read further. Can my app have its own pool of threads for handling events? Can the app receive (and process) another fix message (from a different session) while I am handling a callback, ie, more than one thread...? Anyways, just a question or two? ;-) Is there a way to download all the archives for "homework"? Thanks David PS I am being rude! My name is David Monheit and I work for Morgan Stanley IT, based in London, UK. I will be replying to mails from this (my personal email account) and/or the office account (dav...@mo...). > __________________________________________________ > Do you Yahoo!? > Yahoo! Platinum - Watch CBS' NCAA March Madness, live on your desktop! > http://platinum.yahoo.com > |
From: Oren M. <ore...@ya...> - 2003-03-18 16:39:06
|
> I am just getting to learn more about quickfix. I > have built it > (quickfix-1.4.0) on Linux (RedhLinux version > 2.4.9-e.8enterprise > (bhc...@da...) (gcc version 2.96 > 20000731 (Red Hat Linux 7.2 > 2.96-108.1)) using gcc 2.95.3 and both java 1.3.1 > and 1.4. One thing, be careful compiling with gcc 2.9.6. Please see the warning on our download page pertaining to this: http://quickfix.thoughtworks.com/download.html There are known problems with this compiler, and known problems when compiling QuickFIX with it. > - had to set the LTCONFIG_VERSION env variable to > 3.??? (can't remember by > heart, I will look it up). I had never used > libtool, etc, so it took me a while > to figure this out. Usually problems like this can be resolved by just running the ./bootstrap script before running ./configure. Unfortunately the autotools generated scripts arn't always compatible with every system and regenerating them is often the bost option. > - Had to use the notestxml option. Could not get it > to see my libxml lib. This is ussually a result of an incomplete installation of libxml2. You may want to check to see if that installation was done properly. > - Had to modify some makefiles (ie. > executor/C++/Makefile) to see the include > and lib dirs for quickfix (basically to add > -Ixxx/quickfix-1.4.0/include) etc. Hmmm. How did your directory structure end up like that? The tar file should set up the directory to be quickfix/include, not quickfix-1.4.0/include. > - Had to build the src/java directory separately, > i.e., it was not built during > the main make. Threw me off trying to build the > samples first :-( This would happen if the build script is unable to detect the presenct of JNI. Is your JAVA_HOME environment set up correctly? > > Otherwise, great stuff! > > I enclose the single nasty problem I could not > resolve, ie, whenever I run the > run_banzai script I get the sessions showing up on > the console, the gui's main > frame shows up blank and then an fatal jni > execption, whose log I enclose. This > did not happen when I ran the run_executor_java > script! Don't know the answer to this straight away. Will have to investigate this. > > I have several questions about the architecture of > quickfix (ie threading, > resilience (I have seen some mails in the archive > about it and I am digesting > them), administration etc). Is this the right forum > to ask them? Yes, it is. __________________________________________________ Do you Yahoo!? Yahoo! Platinum - Watch CBS' NCAA March Madness, live on your desktop! http://platinum.yahoo.com |
From: Oren M. <ore...@ya...> - 2003-03-18 16:22:40
|
I've searched around and saw some reports about inet_aton causing segmentation faults on some systems. This would possibly manifest itself this way running under the JVM. What I havn't found is a good explanation about what causes this segmentation fault. Anything you can share about your operating system, gcc version, and libc version, as well as the port you are trying to create might be helpful. --- Sergey Gribov <se...@se...> wrote: > Hello, > > We have the following problem while working from > Java: > at a start time the Java application which uses the > quickfix > version 1.3.2 it fails with the following exception: > > > An unexpected exception has been detected in native > code outside the VM. > Unexpected Signal : 11 occurred at PC=0x40149C73 > Function=inet_aton+0x3F > Library=/lib/libc.so.6 > > Current Java thread: > at > org.quickfix.SocketInitiator.doStart(Native Method) > at > org.quickfix.SocketInitiator.start(Unknown Source) > ..... > > Anybody saw something like this? > Some other quickfix Java applications seems to be > working fine... > > Any idea what can cause it? > > Thanks in advance, > > -- > //========================================================================\\ > Sergey Gribov | A > specialist is someone who > E-Mail: se...@se... | learns more > and more about less > WWW: http://www.sergey.com/ | and less, > and ends up knowing > Phone: (617)7101683 | everything > about nothing... > \\========================================================================// > > > > ------------------------------------------------------- > This SF.net email is sponsored by:Crypto Challenge > is now open! > Get cracking and register here for some mind > boggling fun and > the chance of winning an Apple iPod: > http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0031en > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers __________________________________________________ Do you Yahoo!? Yahoo! Platinum - Watch CBS' NCAA March Madness, live on your desktop! http://platinum.yahoo.com |
From: Oren M. <ore...@ya...> - 2003-03-18 16:18:36
|
We don't really have a complete list. We did begin the certification process with the CBOE, but stopped due to time constraints. We did go through the session level tests, and at least the order entry portion of the application level tests. I would like to start collecting data from users about which systems they have succefully connected against. I have yet to see anyone post on the mailing list that they were unable to connect to a particular exchange. I do know there have been occasions where people needed to make minor changes to the code which have generally been rolled into a later release. --- Peter Krause <kra...@ho...> wrote: > > Hi! > > Is there a list of different implementations of FIX > that QuickFix is > compliant with: For example, is the CBOE's > implementation of FIX close > enough to the standard to be seamlessly compatible > with QF? > > > Thanks, > > Peter > > _________________________________________________________________ > MSN 8 with e-mail virus protection service: 2 months > FREE* > http://join.msn.com/?page=features/virus > > > > ------------------------------------------------------- > This SF.net email is sponsored by:Crypto Challenge > is now open! > Get cracking and register here for some mind > boggling fun and > the chance of winning an Apple iPod: > http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0031en > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers __________________________________________________ Do you Yahoo!? Yahoo! Platinum - Watch CBS' NCAA March Madness, live on your desktop! http://platinum.yahoo.com |
From: <ap...@ds...> - 2003-03-18 15:31:09
|
Hi, Firstly thanks for quickfix! I am very interested in FIX and I can't wait to try it out! I am just getting to learn more about quickfix. I have built it (quickfix-1.4.0) on Linux (RedhLinux version 2.4.9-e.8enterprise (bhc...@da...) (gcc version 2.96 20000731 (Red Hat Linux 7.2 2.96-108.1)) using gcc 2.95.3 and both java 1.3.1 and 1.4. It works fine. I am at least able to fire up the examples, though I have not had yet a chance to really go through them. A couple of points: I had difficulty building (probably my ignorance!). These is what I had to do to get it all to compile: - had to set the LTCONFIG_VERSION env variable to 3.??? (can't remember by heart, I will look it up). I had never used libtool, etc, so it took me a while to figure this out. - Had to use the notestxml option. Could not get it to see my libxml lib. - Used the STLPort - Had to modify some makefiles (ie. executor/C++/Makefile) to see the include and lib dirs for quickfix (basically to add -Ixxx/quickfix-1.4.0/include) etc. - Had to build the src/java directory separately, i.e., it was not built during the main make. Threw me off trying to build the samples first :-( Otherwise, great stuff! I enclose the single nasty problem I could not resolve, ie, whenever I run the run_banzai script I get the sessions showing up on the console, the gui's main frame shows up blank and then an fatal jni execption, whose log I enclose. This did not happen when I ran the run_executor_java script! I would be gratefull if you could spare it a glance. I have several questions about the architecture of quickfix (ie threading, resilience (I have seen some mails in the archive about it and I am digesting them), administration etc). Is this the right forum to ask them? I send you my best regards and many thanks. David |
From: Mike H. <mi...@an...> - 2003-03-18 08:53:58
|
Hi Kevin,=20 thanks for that. i think i've got it sorted now. i had to create a manifest file specifying the Class-Path to the jar file associated with the jni.so. i *think* this ensures the same classloader for my MBean and the library. thanks for your help Cheers=20 Mike=20 On Mon, 2003-03-17 at 17:15, Kevin Conner wrote:=20 > > the libray appears to load, but when i go to use the library for the > > first time though, i get a java.lang.UnsatisfiedLinkError for=20 > > the method > > invocation. >=20 > It means that the library does not contain the exact method you are > calling (the signature may be different). >=20 > > i have set the runtime java.library.path and $LD_LIBRAY_PATH to ensure > > the library is visible to my MBean but still no joy. an ldd on the > > shared object shows no unresolved errors; >=20 > Run 'nm -g' on the .so and look for names in the text section > that begin with Java_. These are mangled java names (class + > method + parameters + return type). See if the one for your > method is present. >=20 > You can also try truss'ing the executable and make sure that > it is loading the correct version of the .so. >=20 > HTH, > Kev >=20 > Kevin Conner > This is a personal e-mail. Any views or opinions presented are=20 > solely those of the author and do not necessarily represent those=20 > of Orchard Information Systems Ltd. --=20 ___________________________________________________________________ Mike Hepburn Phone: +44 (0)207 749 7900 Anvil Software Limited Fax: +44 (0)207 749 7916 51-53 Rivington Street E-mail: mi...@an... London EC2A 3SE ef...@ho... |
From: Sergey G. <se...@se...> - 2003-03-17 23:51:03
|
Hello, We have the following problem while working from Java: at a start time the Java application which uses the quickfix version 1.3.2 it fails with the following exception: An unexpected exception has been detected in native code outside the VM. Unexpected Signal : 11 occurred at PC=0x40149C73 Function=inet_aton+0x3F Library=/lib/libc.so.6 Current Java thread: at org.quickfix.SocketInitiator.doStart(Native Method) at org.quickfix.SocketInitiator.start(Unknown Source) ..... Anybody saw something like this? Some other quickfix Java applications seems to be working fine... Any idea what can cause it? Thanks in advance, -- //========================================================================\\ Sergey Gribov | A specialist is someone who E-Mail: se...@se... | learns more and more about less WWW: http://www.sergey.com/ | and less, and ends up knowing Phone: (617)7101683 | everything about nothing... \\========================================================================// |