quickfix-users Mailing List for QuickFIX (Page 5)
Brought to you by:
orenmnero
You can subscribe to this list here.
2002 |
Jan
|
Feb
(4) |
Mar
(6) |
Apr
(2) |
May
(4) |
Jun
(1) |
Jul
(1) |
Aug
(2) |
Sep
(11) |
Oct
(3) |
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(7) |
Feb
(3) |
Mar
(10) |
Apr
(40) |
May
(63) |
Jun
(12) |
Jul
(26) |
Aug
(13) |
Sep
(6) |
Oct
(13) |
Nov
(17) |
Dec
(28) |
2004 |
Jan
(13) |
Feb
(6) |
Mar
(9) |
Apr
(20) |
May
(15) |
Jun
(29) |
Jul
(22) |
Aug
(11) |
Sep
(32) |
Oct
(34) |
Nov
(22) |
Dec
(33) |
2005 |
Jan
(17) |
Feb
(8) |
Mar
(3) |
Apr
(20) |
May
(19) |
Jun
(29) |
Jul
(30) |
Aug
(10) |
Sep
(24) |
Oct
|
Nov
(17) |
Dec
(11) |
2006 |
Jan
(32) |
Feb
(54) |
Mar
(34) |
Apr
(43) |
May
(14) |
Jun
(11) |
Jul
(10) |
Aug
(43) |
Sep
(37) |
Oct
(44) |
Nov
(16) |
Dec
(11) |
2007 |
Jan
(26) |
Feb
(5) |
Mar
(23) |
Apr
(3) |
May
(22) |
Jun
(17) |
Jul
(22) |
Aug
(34) |
Sep
(17) |
Oct
(18) |
Nov
(4) |
Dec
(8) |
2008 |
Jan
(28) |
Feb
(28) |
Mar
(23) |
Apr
(37) |
May
(53) |
Jun
(20) |
Jul
(30) |
Aug
(12) |
Sep
(19) |
Oct
(16) |
Nov
(15) |
Dec
(10) |
2009 |
Jan
(19) |
Feb
(8) |
Mar
(21) |
Apr
(8) |
May
(15) |
Jun
(22) |
Jul
(34) |
Aug
(18) |
Sep
(23) |
Oct
(26) |
Nov
(16) |
Dec
(13) |
2010 |
Jan
(38) |
Feb
(17) |
Mar
(39) |
Apr
(34) |
May
(5) |
Jun
(15) |
Jul
(7) |
Aug
(18) |
Sep
(4) |
Oct
(16) |
Nov
(3) |
Dec
(17) |
2011 |
Jan
(28) |
Feb
(12) |
Mar
(36) |
Apr
(9) |
May
(26) |
Jun
(27) |
Jul
(6) |
Aug
(10) |
Sep
(6) |
Oct
(1) |
Nov
(1) |
Dec
|
2012 |
Jan
(3) |
Feb
(4) |
Mar
|
Apr
(7) |
May
(9) |
Jun
(4) |
Jul
(2) |
Aug
(1) |
Sep
|
Oct
(9) |
Nov
(10) |
Dec
(8) |
2013 |
Jan
(3) |
Feb
(2) |
Mar
(7) |
Apr
(2) |
May
|
Jun
(7) |
Jul
(22) |
Aug
(5) |
Sep
(3) |
Oct
(3) |
Nov
(3) |
Dec
(2) |
2014 |
Jan
(4) |
Feb
|
Mar
(7) |
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(7) |
Sep
(1) |
Oct
|
Nov
|
Dec
(1) |
2015 |
Jan
|
Feb
|
Mar
(3) |
Apr
|
May
|
Jun
(3) |
Jul
|
Aug
|
Sep
|
Oct
(4) |
Nov
(4) |
Dec
|
2016 |
Jan
(1) |
Feb
|
Mar
(3) |
Apr
|
May
|
Jun
|
Jul
(5) |
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
2017 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(2) |
Jul
(1) |
Aug
|
Sep
(1) |
Oct
(5) |
Nov
(1) |
Dec
|
2019 |
Jan
|
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2020 |
Jan
|
Feb
|
Mar
(3) |
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(1) |
Sep
(1) |
Oct
|
Nov
|
Dec
|
2023 |
Jan
|
Feb
|
Mar
(4) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: aupadras <ani...@ya...> - 2013-07-02 22:28:42
|
Hi Mike, We installed visual studio 2012 and try to build the quick fix vs2010 solution in vs2012. But, it gave the following errors. It will be appreciated if you could shed some light. 1>------ Build started: Project: quickfix_net_messages_vs10, Configuration: Debug Any CPU ------ 2>------ Build started: Project: UnitTest++_vs10, Configuration: Debug Win32 ------ 1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.CPP.UpgradeFromVC71.props : error MSB4025: The project file could not be loaded. Root element is missing. 3>------ Build started: Project: example_executor_csharp_vs10, Configuration: Debug Any CPU ------ 4>------ Build started: Project: example_executor_vbnet_vs10, Configuration: Debug Any CPU ------ 5>------ Build started: Project: test_performance_net_vs10, Configuration: Debug Any CPU ------ 6>------ Build started: Project: test_unit_net_vs10, Configuration: Debug Any CPU ------ 7>------ Build started: Project: test_acceptance_net_vs10, Configuration: Debug Any CPU ------ 5>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.CPP.UpgradeFromVC71.props : error MSB4025: The project file could not be loaded. Root element is missing. 7>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.CPP.UpgradeFromVC71.props : error MSB4025: The project file could not be loaded. Root element is missing. 2> XmlTestReporter.cpp 2> TimeConstraint.cpp 2> TestRunner.cpp 2> TestResults.cpp 2> TestReporterStdout.cpp 2> TestReporter.cpp 2> TestList.cpp 2> TestDetails.cpp 2> Test.cpp 2> ReportAssert.cpp 2> MemoryOutStream.cpp 2> DeferredTestResult.cpp 2> DeferredTestReporter.cpp 2> CurrentTest.cpp 2> Checks.cpp 2> AssertException.cpp 2> TimeHelpers.cpp 2> Generating Code... 2> UnitTest++_vs10.vcxproj -> C:\quickfix\lib\debug\UnitTest++_vs10.lib ========== Build: 1 succeeded, 6 failed, 0 up-to-date, 0 skipped ========== Also, Instead of running the quick fix solution in VS 2012.., can we use the existing VS2010 quick fix .lib and associated .h and .cpp files in VS 2012 projects? Note, we installed previously the quick fix in different computer. Thanks in Advance aupadras -- View this message in context: http://quickfix.13857.n7.nabble.com/Visual-2012-tp6511p6515.html Sent from the QuickFIX - User mailing list archive at Nabble.com. |
From: aupadras <ani...@ya...> - 2013-07-02 07:21:40
|
Ok Thanks Mike.., We are migrating Visual Studio from 2010 to 2012 and I will keep you posted if we have any issues with quick fix. Thanks, aupadras. -- View this message in context: http://quickfix.13857.n7.nabble.com/Visual-2012-tp6511p6513.html Sent from the QuickFIX - User mailing list archive at Nabble.com. |
From: Mike G. <mg...@co...> - 2013-07-01 01:54:55
|
Should be no problem -- I did it awhile back for a project and I don't recall having any issues. |
From: aupadras <ani...@ya...> - 2013-06-30 17:29:39
|
Hello, Can VS2010 ( C++ ) examples and quick fix projects can easily be migrated to VS 2012 ? Also, let us know of any migrating issues of quick fix from 2010 from 2012. Thanks, aupadras. -- View this message in context: http://quickfix.13857.n7.nabble.com/Visual-2012-tp6511.html Sent from the QuickFIX - User mailing list archive at Nabble.com. |
From: aupadras <ani...@ya...> - 2013-06-18 14:54:02
|
Hi Mike, Thanks for your response. It seems the issue was resolved. I changed some of the settings in the config file and the data dictionary that solved the socket error and other issues. As expected I am resetting the the MsgNo to 1 every night and increment the seq no every time a new message was sent back and forth. Currently, I am working on the execution report to receive the fill back after the order is completely executed. Please address the following questions and let me know if I am not on the right track. Questions : a) Currently, I am logging the create and message log using the filefactory settings. This current setting does not distinguish the incoming and outbound messages. I only see what I am sending on my side. How can I see or view the logs of my counter party messages (in my case the acceptor messages) ? Is something already existing in quick fix to log incoming/outbound messages or do we need to write the logic using toApp, fromApp and toadmin and fromadmin event handlers? b) What is the quickest way in quick-FIX to retrieve the execution report ? writing it to csv or to the data base (SQL Server). However, we would like to have the complete execution of split fills to the database by the end of the day. c) Also, currently I designed system for new Single Order as provided in the examples initiator start and initiator stop. We trade particular set of markets at particular time of the day, my question is whether the design will be robust if I send the multiple orders at 1 PM i.e.., for "n" orders sending the "n" separate new single Order type messages (with initiator start and stop) at 1 PM. How does this work in terms of session IDs, msg seq nos and conflicts in getting the filled split fills) d) Is there any efficient way using quick fix to send multiple orders in one shot rather than sending it multiple times as new single order messages ? If so, what are the pros and cons in implementing the (c) vs (d). Any input or information or suggestion is highly appreciated. Thanks, aupadras. -- View this message in context: http://quickfix.13857.n7.nabble.com/Msg-Seq-No-tp6492p6500.html Sent from the QuickFIX - User mailing list archive at Nabble.com. |
From: Mike G. <mg...@co...> - 2013-06-13 14:26:22
|
On Wed, Jun 12, 2013 at 6:57 AM, aupadras <ani...@ya...> wrote: > 8=FIX.4.2 9=102 35=3 34=36 49=alpha 52=20130612-06:55:53.427 56=broker > 45=24 58=Required > tag missing 371=58 372=5 373=1 10=204 > You are sending the broker a Reject (35=3) because you are expecting the Text field (tag 58) to be present in his Logout message, and it is not. If you are using a DataDictionary, make sure the Logout message has: <field name='Text' required='N' /> And make sure your code does not try to do a get() or getField() on tag 58 without a try/catch for FIX::FieldNotFound. Because of this Reject, you are likely never getting a clean logout, so you are always going to have seqnum issues at Logon. Which also explains this: > Socket Error: Connection reset by peer. > 20130611-16:28:21 : Disconnecting > The broker is closing the socket on you because as far as it is concerned, it has logged out. However, you are keeping the socket open because you Rejected the broker Logout message. -- Mike Gatny Connamara Systems, LLC |
From: aupadras <ani...@ya...> - 2013-06-12 11:58:04
|
Hi, I am newbie.., I am having following problem: I am able to send the orders to the broker couple of times in a day when there is a sycn in message sequence numbers, but most of the time I am having different issues by not synching with the MsgSeqNo. My understanding going through little bit of session.cpp, is it was unable to establish the connection between the client and server as seqNo is not matching and finally, sending a reject message. Please suggest me what I suppose to do to solve this issue: config settings: ConnectionType=initiator ReconnectInterval=20 StartTime=00:01:00 EndTime=23:55:00 MsgSeqNum=1 UseLocalTime=Y ResetOnDisconnect=N ResetOnLogon=N ResetOnLogout=N SendResetSeqNumFlag=N RefreshOnLogon=Y PersistMessages=Y MillisecondsInTimeStamp=Y UseDataDictionary=Y HeartBtInt=30 Session Log: 20130612-06:55:49.942 : Created session 20130612-06:55:51.411 : Connecting to xx.x.xxx on port 2013 20130612-06:55:51.521 : Initiated logon request 20130612-06:55:51.583 : Received logon response 20130612-06:55:51.583 : MsgSeqNum too high, expecting 21 but received 22 20130612-06:55:51.630 : Sent ResendRequest FROM: 21 TO: 0 20130612-06:55:51.646 : Received ResendRequest FROM: 29 TO: 0 20130612-06:55:51.661 : Resending Message: 29 20130612-06:55:51.802 : Sent SequenceReset TO: 33 20130612-06:55:51.802 : Resending Message: 33 20130612-06:55:51.817 : Sent SequenceReset TO: 35 20130612-06:55:51.833 : ResendRequest for messages FROM: 21 TO: 21 has been satisfied. 20130612-06:55:51.849 : Received SequenceReset FROM: 21 TO: 24 20130612-06:55:53.396 : Initiated logout request 20130612-06:55:53.411 : Message 24 Rejected: Required tag missing:58 20130612-06:55:55.411 : Timed out waiting for logout response 20130612-06:55:55.411 : Disconnecting Message Log : 20130612-06:55:51.521 : 8=FIX.4.29=6535=A34=3249=alpha52=20130612-06:55:51.41156=broker98=0108=3010=238 20130612-06:55:51.521 : 8=FIX.4.29=6135=A49=broker56=alpha34=2252=20130612-06:55:5198=0108=3010=037 20130612-06:55:51.630 : 8=FIX.4.29=6335=234=3449=alpha52=20130612-06:55:51.59956=broker7=2116=010=132 20130612-06:55:51.630 : 8=FIX.4.29=5935=249=broker56=alpha34=2352=20130612-06:55:517=2916=010=186 20130612-06:55:51.661 : 8=FIX.4.29=22435=D34=2943=Y49=alpha52=20130612-06:55:51.64656=broker57=STAGE122=20130612-06:42:39.6621=TEST11=alpha1011121=138=7540=144=1638.2554=155=/ESM359=060=20130612-06:42:39114=Y167=FUT200=201306205=30231=10010=101 20130612-06:55:51.802 : 8=FIX.4.29=9635=434=3043=Y49=alpha52=20130612-06:55:51.70856=broker122=20130612-06:55:51.70836=33123=Y10=017 20130612-06:55:51.802 : 8=FIX.4.29=22435=D34=3343=Y49=alpha52=20130612-06:55:51.66156=broker57=STAGE122=20130612-06:55:51.5211=TEST11=alpha1011121=138=7540=144=1638.2554=155=/ESM359=060=20130612-06:55:51114=Y167=FUT200=201306205=30231=10010=083 20130612-06:55:51.817 : 8=FIX.4.29=9635=434=3443=Y49=alpha52=20130612-06:55:51.80256=broker122=20130612-06:55:51.80236=35123=Y10=013 20130612-06:55:51.833 : 8=FIX.4.29=6635=449=broker56=alpha34=2143=Y52=20130612-06:55:51123=Y36=2410=059 20130612-06:55:53.411 : 8=FIX.4.29=5335=534=3549=alpha52=20130612-06:55:53.39656=broker10=215 20130612-06:55:53.411 : 8=FIX.4.29=4935=549=broker56=alpha34=2452=20130612-06:55:5310=010 20130612-06:55:53.458 : 8=FIX.4.29=10235=334=3649=alpha52=20130612-06:55:53.42756=broker45=2458=Required tag missing371=58372=5373=110=204 Also, previous to this I had following error: Socket Error: Connection reset by peer. 20130611-16:28:21 : Disconnecting I believe all these issues are caused by message seq No not matching. Please suggest me some solution to resolve this issue or let me know if I am completely off in resolving the issue. Appreciated for any help. Thanks, aupadras. -- View this message in context: http://quickfix.13857.n7.nabble.com/Msg-Seq-No-tp6492.html Sent from the QuickFIX - User mailing list archive at Nabble.com. |
From: Daniel M. <dmo...@ya...> - 2013-06-07 13:21:05
|
Thanks. I have clients attempting to connect to my listener port with bad logon tags and my App does not get any invocation that such attempt was done. I need to log either at the Quickfix level or at my application that a message was received and it was rejected. This could apply to any messages - Orders. I am using C++ quickfix-1.13.3 library. -- View this message in context: http://quickfix.13857.n7.nabble.com/FileLogFactory-Need-more-logging-information-tp6484p6487.html Sent from the QuickFIX - User mailing list archive at Nabble.com. |
From: Hei C. <str...@ya...> - 2013-06-06 22:35:44
|
For connection failure, you have to figure out yourself. It is pretty much impossible for quickfix to figure the issue. For instance, how your counterparty responds to your "malformed" logon message (e.g. missing field) is up to your counterparty. ________________________________ From: Daniel Mounessa <dmo...@ya...> To: qui...@li... Sent: Thursday, June 6, 2013 12:46 PM Subject: [Quickfix-users] FileLogFactory - Need more logging information QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html QuickFIX Support: http://www.quickfixengine.org/services.html I have got the FileLogFactory to work and I am getting the following in the log files. Question -- Is there a way to go more detail that these a) Log Session ID b) Log why the connection failed? --- Here is what I get ---- GLOBAL.event.current.log: 130606-19:39:13.458 : Connection failed 20130606-19:39:43.514 : Connection failed 20130606-19:40:13.570 : Connection failed 20130606-19:40:43.625 : Connection failed 20130606-19:41:13.681 : Connection failed 20130606-19:41:43.736 : Connection failed 20130606-19:42:13.791 : Connection failed And Nothing in GLOBAL.messages.current.log And in Initiator session - FIX.4.2-DM-DM_SELL.event.current.log I get the following 20130606-19:40:13.569 : Connecting to devvm04 on port 20615 20130606-19:40:43.625 : Connecting to devvm04 on port 20615 20130606-19:41:13.680 : Connecting to devvm04 on port 20615 20130606-19:41:43.736 : Connecting to devvm04 on port 20615 20130606-19:42:13.791 : Connecting to devvm04 on port 20615 20130606-19:42:43.847 : Connecting to devvm04 on port 20615 20130606-19:43:13.902 : Connecting to devvm04 on port 20615 AND FIX.4.2-DM-DM_SELL.messages.current.log is empty -- View this message in context: http://quickfix.13857.n7.nabble.com/FileLogFactory-Need-more-logging-information-tp6484.html Sent from the QuickFIX - User mailing list archive at Nabble.com. ------------------------------------------------------------------------------ How ServiceNow helps IT people transform IT departments: 1. A cloud service to automate IT design, transition and operations 2. Dashboards that offer high-level views of enterprise services 3. A single system of record for all IT processes http://p.sf.net/sfu/servicenow-d2d-j _______________________________________________ Quickfix-users mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-users |
From: Daniel M. <dmo...@ya...> - 2013-06-06 19:46:58
|
I have got the FileLogFactory to work and I am getting the following in the log files. Question -- Is there a way to go more detail that these a) Log Session ID b) Log why the connection failed? --- Here is what I get ---- GLOBAL.event.current.log: 130606-19:39:13.458 : Connection failed 20130606-19:39:43.514 : Connection failed 20130606-19:40:13.570 : Connection failed 20130606-19:40:43.625 : Connection failed 20130606-19:41:13.681 : Connection failed 20130606-19:41:43.736 : Connection failed 20130606-19:42:13.791 : Connection failed And Nothing in GLOBAL.messages.current.log And in Initiator session - FIX.4.2-DM-DM_SELL.event.current.log I get the following 20130606-19:40:13.569 : Connecting to devvm04 on port 20615 20130606-19:40:43.625 : Connecting to devvm04 on port 20615 20130606-19:41:13.680 : Connecting to devvm04 on port 20615 20130606-19:41:43.736 : Connecting to devvm04 on port 20615 20130606-19:42:13.791 : Connecting to devvm04 on port 20615 20130606-19:42:43.847 : Connecting to devvm04 on port 20615 20130606-19:43:13.902 : Connecting to devvm04 on port 20615 AND FIX.4.2-DM-DM_SELL.messages.current.log is empty -- View this message in context: http://quickfix.13857.n7.nabble.com/FileLogFactory-Need-more-logging-information-tp6484.html Sent from the QuickFIX - User mailing list archive at Nabble.com. |
From: Mike G. <mg...@co...> - 2013-04-15 13:48:14
|
Aha! Thanks for posting a follow-up. |
From: Marcin G. <mar...@ar...> - 2013-04-14 16:34:13
|
Hi Mike, it took a while but thanks a lot! In our case SIGPROF was the case. M. ----- Oryginalna wiadomość ----- Od: "Mike Gatny" <mg...@co...> Do: "Marcin Giedz" <mar...@ar...> DW: qui...@li... Wysłane: wtorek, 26 marzec 2013 20:50:17 Temat: Re: [Quickfix-users] ThreadedSocketInitiator/Acceptor + Application - occasional socket errors What signal this can be? I did simple tests with such sigaction: Maybe SIGALRM, SIGPIPE? I'm not sure that sigaction is sufficient to solve this. You need to block all signals before starting QF or any other threads -- I usually do something like this right away in main(): <blockquote> sigset_t blockSigs; sigemptyset(&blockSigs); sigaddset(&blockSigs, SIGINT); sigaddset(&blockSigs, SIGALRM); sigaddset(&blockSigs, SIGTERM); sigaddset(&blockSigs, SIGPIPE); int ret = pthread_sigmask(SIG_BLOCK, &blockSigs, 0); </blockquote> ...then spawn a signal-catching thread that calls sigwait() for the sigset I want to handle. -- Mike Gatny Connamara Systems, LLC -- Pozdrawiam Marcin Giedz Wiceprezes Zarządu ARISE Sp. z o.o. mob. +48 502 537 157 mail: mar...@ar... Al. Solidarności 117 00-140 Warszawa tel. +48 (22) 440 56 20 fax +48 (22) 440 56 22 http://www.arise.pl ARISE Sp. z o.o. z siedzibą w Warszawie, Al. Solidarności 117, 00-140 Warszawa, zarejestrowana przez Sąd Rejonowy dla m. st. Warszawy w Warszawie XII Wydział Gospodarczy Krajowego Rejestru Sądowego pod nr KRS 0000316860; REGON 141595449; NIP 527-259-06-10; z pokrytym w całości kapitałem zakładowym wynoszącym 250,000.00 zł. |
From: Mike G. <mg...@co...> - 2013-03-26 20:14:31
|
> > What signal this can be? I did simple tests with such sigaction: Maybe SIGALRM, SIGPIPE? I'm not sure that sigaction is sufficient to solve this. You need to block all signals before starting QF or any other threads -- I usually do something like this right away in main(): sigset_t blockSigs; sigemptyset(&blockSigs); sigaddset(&blockSigs, SIGINT); sigaddset(&blockSigs, SIGALRM); sigaddset(&blockSigs, SIGTERM); sigaddset(&blockSigs, SIGPIPE); int ret = pthread_sigmask(SIG_BLOCK, &blockSigs, 0); ...then spawn a signal-catching thread that calls sigwait() for the sigset I want to handle. -- Mike Gatny Connamara Systems, LLC |
From: Marcin G. <mar...@ar...> - 2013-03-26 18:29:35
|
Hi Mike, What signal this can be? I did simple tests with such sigaction: struct sigaction sa; sa.sa_handler = sigint_handler; sa.sa_flags = 0; sigemptyset(&sa.sa_mask); sigaction(SIGINT, &sa, NULL sigaction(SIGCHLD, &sa, NULL); sigaction(SIGHUP, &sa, NULL); where sigint_handler is void very simple function which is called when I press Ctrl+C however seems like it doesn't handle real INT from qf which causes session logout... any thoughts? Thx M. ----- Oryginalna wiadomość ----- Od: "Mike Gatny" <mg...@co...> Do: "Marcin Giedz" <mar...@ar...> DW: qui...@li... Wysłane: wtorek, 26 marzec 2013 17:16:17 Temat: Re: [Quickfix-users] ThreadedSocketInitiator/Acceptor + Application - occasional socket errors Looks like socket recv/send is returning EINTR, meaning that the thread received a signal during the syscall. Are you intentionally using posix signals in your program? If so, are you taking steps in your main program to block all signals, then explicitly handle them on one thread? Or are you perhaps unintentionally using signals, e.g. by using sleep(3) (from unistd.h) instead of nanosleep? -- Mike Gatny Connamara Systems, LLC |
From: Mike G. <mg...@co...> - 2013-03-26 16:16:45
|
Looks like socket recv/send is returning EINTR, meaning that the thread received a signal during the syscall. Are you intentionally using posix signals in your program? If so, are you taking steps in your main program to block all signals, then explicitly handle them on one thread? Or are you perhaps unintentionally using signals, e.g. by using sleep(3) (from unistd.h) instead of nanosleep? -- Mike Gatny Connamara Systems, LLC |
From: Marcin G. <mar...@ar...> - 2013-03-26 13:02:28
|
Hi, event log: 20130326-12:45:52.075 : Created session 20130326-12:45:52.080 : Connecting to 192.168.89.61 on port 5593 20130326-12:45:52.085 : Initiated logon request 20130326-12:45:52.208 : Received logon response 20130326-12:47:03.227 : Socket Error: Interrupted system call 20130326-12:47:03.227 : Disconnecting 20130326-12:47:22.095 : Connecting to 192.168.89.61 on port 5593 20130326-12:47:22.097 : Initiated logon request 20130326-12:47:22.215 : Received logon response messages.log 20130326-12:45:52.085 : 8=FIX.4.4.9=76.35=A.34=374.49=IPO05_CB.52=20130326-12:45:52.085.56=CEESEG_SIMU.98=0.108=30.10=235. 20130326-12:45:52.200 : 8=FIX.4.4.9=88.35=A.56=IPO05_CB.49=CEESEG_SIMU.52=20130326-12:45:52.180.34=374.58=12.12.04.108=30.98=0.10=027. 20130326-12:46:22.205 : 8=FIX.4.4.9=64.35=0.56=IPO05_CB.49=CEESEG_SIMU.52=20130326-12:46:22.184.34=375.10=189. 20130326-12:46:22.205 : 8=FIX.4.4.9=64.35=0.34=375.49=IPO05_CB.52=20130326-12:46:22.205.56=CEESEG_SIMU.10=183. 20130326-12:46:52.213 : 8=FIX.4.4.9=64.35=0.56=IPO05_CB.49=CEESEG_SIMU.52=20130326-12:46:52.193.34=376.10=193. 20130326-12:46:52.214 : 8=FIX.4.4.9=64.35=0.34=376.49=IPO05_CB.52=20130326-12:46:52.213.56=CEESEG_SIMU.10=186. 20130326-12:47:22.096 : 8=FIX.4.4.9=76.35=A.34=377.49=IPO05_CB.52=20130326-12:47:22.096.56=CEESEG_SIMU.98=0.108=30.10=239. 20130326-12:47:22.214 : 8=FIX.4.4.9=88.35=A.56=IPO05_CB.49=CEESEG_SIMU.52=20130326-12:47:22.194.34=377.58=12.12.04.108=30.98=0.10=034. 20130326-12:47:52.225 : 8=FIX.4.4.9=64.35=0.56=IPO05_CB.49=CEESEG_SIMU.52=20130326-12:47:52.203.34=378.10=188. 20130326-12:47:52.226 : 8=FIX.4.4.9=64.35=0.34=378.49=IPO05_CB.52=20130326-12:47:52.225.56=CEESEG_SIMU.10=192. 20130326-12:48:22.233 : 8=FIX.4.4.9=64.35=0.56=IPO05_CB.49=CEESEG_SIMU.52=20130326-12:48:22.212.34=379.10=187. session conf: [SESSION] BeginString=FIX.4.4 ConnectionType=initiator SenderCompID=IPO05_CB TargetCompID=CEESEG_SIMU SessionIdQualifier=SESXT1 StartTime=05:30:00 Endtime=21:30:00 StartDay=monday EndDay=sunday ResetOnLogout=N RefreshOnLogon=Y PersistMessages=N HeartBtInt=30 Datadictionary=/opt/quickfix-1.13.3/share/quickfix/FIX44CEESEG.xml SocketConnectHost=192.168.89.61 SocketConnectPort=5593 part of the code: if ( lSettingsAcceptor.getSessions().size() > 0 ) { qDebug()<<Q_FUNC_INFO<< "Create Acceptors" << lSettingsAcceptor.getSessions().size(); m_socketAcceptor = new FIX::ThreadedSocketAcceptor( m_fixHubApplication, *lStoreFactory, lSettingsAcceptor, *lLogFactory ); m_socketAcceptor->start(); qDebug()<<Q_FUNC_INFO<<"starting Acceptor"; } if ( lSettingsInitiator.getSessions().size() > 0 ) { qDebug()<<Q_FUNC_INFO<< "Create Initiator" << lSettingsInitiator.getSessions().size(); m_socketInitiator = new FIX::ThreadedSocketInitiator( m_fixHubApplication, *lStoreFactory, lSettingsInitiator, *lLogFactory ); m_socketInitiator->start(); qDebug()<<Q_FUNC_INFO<<"starting Initiator"; } This problem only occure on ThreadedSocketxxx ... what should I check/do next? Thx M. ----- Oryginalna wiadomość ----- Od: "Grant Birchmeier" <gbi...@co...> Do: "Marcin Giedz" <mar...@ar...> DW: qui...@li... Wysłane: wtorek, 26 marzec 2013 0:40:14 Temat: Re: [Quickfix-users] ThreadedSocketInitiator/Acceptor + Application - occasional socket errors I think you'll need to provide more information on your socket errors before anyone can help. On Mon, Mar 25, 2013 at 4:47 PM, Marcin Giedz <mar...@ar...> wrote: > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > > Hi all, > > We're trying to move from SocketInitiator/Accept + Application to ThreadedSocketXXX + Application. However with ThreadedSockets we can observer on every single session random socket errors then logon. It doesn't occure in the same time in all session - it's rather random. I'm running this on Ubuntu 12.04 64bit with qf c++ 1.13.3. Can anyone suggest what can be wrong? > > Thx > M. > > ------------------------------------------------------------------------------ > Own the Future-Intel® Level Up Game Demo Contest 2013 > Rise to greatness in Intel's independent game demo contest. > Compete for recognition, cash, and the chance to get your game > on Steam. $5K grand prize plus 10 genre and skill prizes. > Submit your demo by 6/6/13. http://p.sf.net/sfu/intel_levelupd2d > _______________________________________________ > Quickfix-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-users > -- Grant Birchmeier Connamara Systems, LLC Made-To-Measure Trading Solutions. Exactly what you need. No more. No less. http://connamara.com |
From: Mike G. <mg...@co...> - 2013-03-26 00:58:50
|
Post your cfg file, Quickfix events log, and Quickfix messages log, please. |
From: Grant B. <gbi...@co...> - 2013-03-25 23:40:41
|
I think you'll need to provide more information on your socket errors before anyone can help. On Mon, Mar 25, 2013 at 4:47 PM, Marcin Giedz <mar...@ar...> wrote: > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > > Hi all, > > We're trying to move from SocketInitiator/Accept + Application to ThreadedSocketXXX + Application. However with ThreadedSockets we can observer on every single session random socket errors then logon. It doesn't occure in the same time in all session - it's rather random. I'm running this on Ubuntu 12.04 64bit with qf c++ 1.13.3. Can anyone suggest what can be wrong? > > Thx > M. > > ------------------------------------------------------------------------------ > Own the Future-Intel® Level Up Game Demo Contest 2013 > Rise to greatness in Intel's independent game demo contest. > Compete for recognition, cash, and the chance to get your game > on Steam. $5K grand prize plus 10 genre and skill prizes. > Submit your demo by 6/6/13. http://p.sf.net/sfu/intel_levelupd2d > _______________________________________________ > Quickfix-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-users > -- Grant Birchmeier Connamara Systems, LLC Made-To-Measure Trading Solutions. Exactly what you need. No more. No less. http://connamara.com |
From: Marcin G. <mar...@ar...> - 2013-03-25 22:05:38
|
Hi all, We're trying to move from SocketInitiator/Accept + Application to ThreadedSocketXXX + Application. However with ThreadedSockets we can observer on every single session random socket errors then logon. It doesn't occure in the same time in all session - it's rather random. I'm running this on Ubuntu 12.04 64bit with qf c++ 1.13.3. Can anyone suggest what can be wrong? Thx M. |
From: Hei C. <str...@ya...> - 2013-02-13 02:06:47
|
I ran into the same issue with boost's allocator few years back. I was able to run without any 3rd party pool. I was on gcc 4.1.x and CentOS 5/6. ________________________________ From: grefx <gab...@gm...> To: qui...@li... Sent: Tuesday, February 12, 2013 4:18 PM Subject: Re: [Quickfix-users] boost fast pool alloc memory leak QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html QuickFIX Support: http://www.quickfixengine.org/services.html I'm also seeing memory grow using boost (version 1.50) on RHEL 5 and 6. valgrind reports a lot of "possibly lost" from within the quickfix library. I removed boost allocators as per Vladimir's suggestions, but the other allocators don't even pass the quickfix unit test suite. There's a segfault/crash on what looks like the very first free/dealloc (logon message). Example of stack trace below is using std::allocator, but similarly no luck (same segfault) with the other gnu allocators (mt and pool). I'm on gcc 4.1.2 and libc 2.5. rogram terminated with signal 6, Aborted. #0 0x0000003487e30285 in raise () from /lib64/libc.so.6 (gdb) bt #0 0x0000003487e30285 in raise () from /lib64/libc.so.6 #1 0x0000003487e31d30 in abort () from /lib64/libc.so.6 #2 0x0000003487e6971b in __libc_message () from /lib64/libc.so.6 #3 0x0000003487e711df in _int_free () from /lib64/libc.so.6 #4 0x0000003487e7163b in free () from /lib64/libc.so.6 #5 0x00002ad807e12f89 in destroy_node (this=0x42357888, __x=0x0) at /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/ext/new_allocator.h:94 #6 std::_Rb_tree<int, std::pair<int const, FIX::FieldBase>, std::_Select1st<std::pair<int const, FIX::FieldBase> >, FIX::message_order, std::allocator<std::pair<int const, FIX::FieldBase> > >::_M_erase (this=0x42357888, __x=0x0) at /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/stl_tree.h:1266 #7 0x00002ad807e12f60 in std::_Rb_tree<int, std::pair<int const, FIX::FieldBase>, std::_Select1st<std::pair<int const, FIX::FieldBase> >, FIX::message_order, std::allocator<std::pair<int const, FIX::FieldBase> > >::_M_erase (this=0x42357888, __x=0x15e8a448) at /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/stl_tree.h:1264 #8 0x00002ad807e12f60 in std::_Rb_tree<int, std::pair<int const, FIX::FieldBase>, std::_Select1st<std::pair<int const, FIX::FieldBase> >, FIX::message_order, std::allocator<std::pair<int const, FIX::FieldBase> > >::_M_erase (this=0x42357888, __x=0x15e8a398) at /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/stl_tree.h:1264 #9 0x00002ad807e12f60 in std::_Rb_tree<int, std::pair<int const, FIX::FieldBase>, std::_Select1st<std::pair<int const, FIX::FieldBase> >, FIX::message_order, std::allocator<std::pair<int const, FIX::FieldBase> > >::_M_erase (this=0x42357888, __x=0x15e8a2e8) at /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/stl_tree.h:1264 #10 0x00002ad807e65542 in clear (this=0x42357880) at /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/stl_tree.h:692 #11 clear (this=0x42357880) at /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/stl_multimap.h:461 #12 FIX::FieldMap::clear (this=0x42357880) at FieldMap.cpp:167 #13 0x00002ad807e6601c in FIX::FieldMap::~FieldMap (this=0x4763, __in_chrg=<value optimized out>) at FieldMap.cpp:35 #14 0x00002ad807b92044 in FIX::Message::~Message (this=0x42357800, __in_chrg=<value optimized out>) at /usr/local/effex/vendor/quickfix/1.13.3-reuters/include/quickfix/Message.h:58 #15 0x00002ad807dfda28 in FIX::Session::lookupSession (string=<value optimized out>, reverse=144) at Session.cpp:1772 #16 0x00002ad807e42d40 in FIX::ThreadedSocketConnection::setSession (this=0x15ead180, msg= "8=FIX.4.4\001\071=85\001\063\065=A\001\063\064=1\001\064\071=TestClient1\001\065\062=20130212-20:53:45.101\001\065\066=UatQuotes\001\071\070=0\001\061\060\070=4\001\061\064\061=Y\001\061\060=186\001") at ThreadedSocketConnection.cpp:185 #17 0x00002ad807e42f82 in FIX::ThreadedSocketConnection::processStream (this=0x15ead180) at ThreadedSocketConnection.cpp:162 #18 0x00002ad807e4320f in FIX::ThreadedSocketConnection::read (this=0x15ead180) at ThreadedSocketConnection.cpp:116 #19 0x00002ad807e3bc6c in FIX::ThreadedSocketAcceptor::socketConnectionThread (p=<value optimized out>) at ThreadedSocketAcceptor.cpp:281 #20 0x0000003488a0677d in start_thread () from /lib64/libpthread.so.0 #21 0x0000003487ed3c1d in clone () from /lib64/libc.so.6 vpervouchine wrote: > > There is a bug in QuickFIX library; it uses boost::fast_pool_allocator > (and boost::pool_allocator) incorrectly. Those allocators never actually > deallocate memory unless release_memory() or purge_memory() is called, and > QuickFIX never calls those. > > The reason there is no memory leak with older versions of boost (e.g. > 1.33) is that in this: > File: boost/pool/pool_alloc.hpp > In 1.33: > public: > pool_allocator() { } > > In 1.47: > pool_allocator() > { > // Required to ensure construction of singleton_pool IFF an > // instace of this allocator is constructed during global > // initialization. See ticket #2359 for a complete explaination > // ( http://svn.boost.org/trac/boost/ticket/2359 ) > singleton_pool<pool_allocator_tag, sizeof(T), UserAllocator, Mutex, > NextSize, MaxSize>::is_from(0); > } > > So 1.47 uses singleton_pool, and according to the docs > (http://www.boost.org/doc/libs/1_45_0/libs/pool/doc/interfaces.html): > "Singleton Usage is the method where each Pool is an object with static > duration; that is, it will not be destroyed until program exit. Pool > objects with Singleton Usage may be shared; thus, Singleton Usage implies > thread-safety as well. System memory allocated by Pool objects with > Singleton Usage may be freed through release_memory or purge_memory." > > To fix the bug, I removed checks for boost::pool_allocator and > boost::fast_pool_allocator from configure script. That causes QuickFIX to > use "MT allocator" __gnu_cxx::__mt_alloc. That fixes memory leak. > > Vladimir. > > > > > Nazar Andrienko wrote: >> >> QuickFIX Documentation: >> http://www.quickfixengine.org/quickfix/doc/html/index.html >> QuickFIX Support: http://www.quickfixengine.org/services.html >> >> Hello! >> >> We're using boost fast pool allocator (by defining >> HAVE_BOOST_FAST_POOL_ALLOCATOR) with quickfix. This leads to a memory >> leak >> in our application - even when application is almost idle (but connected >> to >> server with 3 clients) it allocates (and never releases - we're running >> out >> of memory almost every day, since we're serving quite a lot of requests) >> about 12 kilobytes of RAM every heartbeat. >> >> Application is running under Windows Server 2008 Enterprise x86 >> >> We're using threaded initiator, boost 1.43.0 and Visual C++ 2010. >> >> I'm going to upgrade to the latest build of boost to check if it a boost >> library issue - but maybe you'll point me that this behavior is by >> design. >> Thank you. >> >> Rgds, >> Nazar Andrienko >> >> >> >> >> ------------------------------------------------------------------------------ >> Free Software Download: Index, Search & Analyze Logs and other IT data in >> Real-Time with Splunk. Collect, index and harness all the fast moving IT >> data >> generated by your applications, servers and devices whether physical, >> virtual >> or in the cloud. Deliver compliance at lower cost and gain new business >> insights. http://p.sf.net/sfu/splunk-dev2dev >> _______________________________________________ >> Quickfix-users mailing list >> Qui...@li... >> https://lists.sourceforge.net/lists/listinfo/quickfix-users >> >> > -- View this message in context: http://old.nabble.com/boost-fast-pool-alloc-memory-leak-tp31016361p35016030.html Sent from the QuickFIX - User mailing list archive at Nabble.com. ------------------------------------------------------------------------------ Free Next-Gen Firewall Hardware Offer Buy your Sophos next-gen firewall before the end March 2013 and get the hardware for free! Learn more. http://p.sf.net/sfu/sophos-d2d-feb _______________________________________________ Quickfix-users mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-users |
From: grefx <gab...@gm...> - 2013-02-13 00:18:33
|
I'm also seeing memory grow using boost (version 1.50) on RHEL 5 and 6. valgrind reports a lot of "possibly lost" from within the quickfix library. I removed boost allocators as per Vladimir's suggestions, but the other allocators don't even pass the quickfix unit test suite. There's a segfault/crash on what looks like the very first free/dealloc (logon message). Example of stack trace below is using std::allocator, but similarly no luck (same segfault) with the other gnu allocators (mt and pool). I'm on gcc 4.1.2 and libc 2.5. rogram terminated with signal 6, Aborted. #0 0x0000003487e30285 in raise () from /lib64/libc.so.6 (gdb) bt #0 0x0000003487e30285 in raise () from /lib64/libc.so.6 #1 0x0000003487e31d30 in abort () from /lib64/libc.so.6 #2 0x0000003487e6971b in __libc_message () from /lib64/libc.so.6 #3 0x0000003487e711df in _int_free () from /lib64/libc.so.6 #4 0x0000003487e7163b in free () from /lib64/libc.so.6 #5 0x00002ad807e12f89 in destroy_node (this=0x42357888, __x=0x0) at /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/ext/new_allocator.h:94 #6 std::_Rb_tree<int, std::pair<int const, FIX::FieldBase>, std::_Select1st<std::pair<int const, FIX::FieldBase> >, FIX::message_order, std::allocator<std::pair<int const, FIX::FieldBase> > >::_M_erase (this=0x42357888, __x=0x0) at /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/stl_tree.h:1266 #7 0x00002ad807e12f60 in std::_Rb_tree<int, std::pair<int const, FIX::FieldBase>, std::_Select1st<std::pair<int const, FIX::FieldBase> >, FIX::message_order, std::allocator<std::pair<int const, FIX::FieldBase> > >::_M_erase (this=0x42357888, __x=0x15e8a448) at /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/stl_tree.h:1264 #8 0x00002ad807e12f60 in std::_Rb_tree<int, std::pair<int const, FIX::FieldBase>, std::_Select1st<std::pair<int const, FIX::FieldBase> >, FIX::message_order, std::allocator<std::pair<int const, FIX::FieldBase> > >::_M_erase (this=0x42357888, __x=0x15e8a398) at /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/stl_tree.h:1264 #9 0x00002ad807e12f60 in std::_Rb_tree<int, std::pair<int const, FIX::FieldBase>, std::_Select1st<std::pair<int const, FIX::FieldBase> >, FIX::message_order, std::allocator<std::pair<int const, FIX::FieldBase> > >::_M_erase (this=0x42357888, __x=0x15e8a2e8) at /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/stl_tree.h:1264 #10 0x00002ad807e65542 in clear (this=0x42357880) at /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/stl_tree.h:692 #11 clear (this=0x42357880) at /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/stl_multimap.h:461 #12 FIX::FieldMap::clear (this=0x42357880) at FieldMap.cpp:167 #13 0x00002ad807e6601c in FIX::FieldMap::~FieldMap (this=0x4763, __in_chrg=<value optimized out>) at FieldMap.cpp:35 #14 0x00002ad807b92044 in FIX::Message::~Message (this=0x42357800, __in_chrg=<value optimized out>) at /usr/local/effex/vendor/quickfix/1.13.3-reuters/include/quickfix/Message.h:58 #15 0x00002ad807dfda28 in FIX::Session::lookupSession (string=<value optimized out>, reverse=144) at Session.cpp:1772 #16 0x00002ad807e42d40 in FIX::ThreadedSocketConnection::setSession (this=0x15ead180, msg= "8=FIX.4.4\001\071=85\001\063\065=A\001\063\064=1\001\064\071=TestClient1\001\065\062=20130212-20:53:45.101\001\065\066=UatQuotes\001\071\070=0\001\061\060\070=4\001\061\064\061=Y\001\061\060=186\001") at ThreadedSocketConnection.cpp:185 #17 0x00002ad807e42f82 in FIX::ThreadedSocketConnection::processStream (this=0x15ead180) at ThreadedSocketConnection.cpp:162 #18 0x00002ad807e4320f in FIX::ThreadedSocketConnection::read (this=0x15ead180) at ThreadedSocketConnection.cpp:116 #19 0x00002ad807e3bc6c in FIX::ThreadedSocketAcceptor::socketConnectionThread (p=<value optimized out>) at ThreadedSocketAcceptor.cpp:281 #20 0x0000003488a0677d in start_thread () from /lib64/libpthread.so.0 #21 0x0000003487ed3c1d in clone () from /lib64/libc.so.6 vpervouchine wrote: > > There is a bug in QuickFIX library; it uses boost::fast_pool_allocator > (and boost::pool_allocator) incorrectly. Those allocators never actually > deallocate memory unless release_memory() or purge_memory() is called, and > QuickFIX never calls those. > > The reason there is no memory leak with older versions of boost (e.g. > 1.33) is that in this: > File: boost/pool/pool_alloc.hpp > In 1.33: > public: > pool_allocator() { } > > In 1.47: > pool_allocator() > { > // Required to ensure construction of singleton_pool IFF an > // instace of this allocator is constructed during global > // initialization. See ticket #2359 for a complete explaination > // ( http://svn.boost.org/trac/boost/ticket/2359 ) > singleton_pool<pool_allocator_tag, sizeof(T), UserAllocator, Mutex, > NextSize, MaxSize>::is_from(0); > } > > So 1.47 uses singleton_pool, and according to the docs > (http://www.boost.org/doc/libs/1_45_0/libs/pool/doc/interfaces.html): > "Singleton Usage is the method where each Pool is an object with static > duration; that is, it will not be destroyed until program exit. Pool > objects with Singleton Usage may be shared; thus, Singleton Usage implies > thread-safety as well. System memory allocated by Pool objects with > Singleton Usage may be freed through release_memory or purge_memory." > > To fix the bug, I removed checks for boost::pool_allocator and > boost::fast_pool_allocator from configure script. That causes QuickFIX to > use "MT allocator" __gnu_cxx::__mt_alloc. That fixes memory leak. > > Vladimir. > > > > > Nazar Andrienko wrote: >> >> QuickFIX Documentation: >> http://www.quickfixengine.org/quickfix/doc/html/index.html >> QuickFIX Support: http://www.quickfixengine.org/services.html >> >> Hello! >> >> We're using boost fast pool allocator (by defining >> HAVE_BOOST_FAST_POOL_ALLOCATOR) with quickfix. This leads to a memory >> leak >> in our application - even when application is almost idle (but connected >> to >> server with 3 clients) it allocates (and never releases - we're running >> out >> of memory almost every day, since we're serving quite a lot of requests) >> about 12 kilobytes of RAM every heartbeat. >> >> Application is running under Windows Server 2008 Enterprise x86 >> >> We're using threaded initiator, boost 1.43.0 and Visual C++ 2010. >> >> I'm going to upgrade to the latest build of boost to check if it a boost >> library issue - but maybe you'll point me that this behavior is by >> design. >> Thank you. >> >> Rgds, >> Nazar Andrienko >> >> >> >> >> ------------------------------------------------------------------------------ >> Free Software Download: Index, Search & Analyze Logs and other IT data in >> Real-Time with Splunk. Collect, index and harness all the fast moving IT >> data >> generated by your applications, servers and devices whether physical, >> virtual >> or in the cloud. Deliver compliance at lower cost and gain new business >> insights. http://p.sf.net/sfu/splunk-dev2dev >> _______________________________________________ >> Quickfix-users mailing list >> Qui...@li... >> https://lists.sourceforge.net/lists/listinfo/quickfix-users >> >> > -- View this message in context: http://old.nabble.com/boost-fast-pool-alloc-memory-leak-tp31016361p35016030.html Sent from the QuickFIX - User mailing list archive at Nabble.com. |
From: Evans, J. <JF...@he...> - 2013-01-28 15:02:42
|
This is how I do it in VB. My "message" would be your "tcr". Basically, you make an instance of NoSides and then ask the TCR to "fill it in" by using the "getGroup" method. Dim NoSides As New QuickFix44.TradeCaptureReport.NoSides message.getGroup(1, NoSides) -----Original Message----- From: Anthony Edwards [mailto:ant...@al...] Sent: Monday January 28, 2013 7:56 AM To: qui...@li... Subject: Re: [Quickfix-users] TradeCaptureReport / NoSides / Side in C# QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html QuickFIX Support: http://www.quickfixengine.org/services.html This e-mail and any attachments are for the sole use of the intended recipient(s) and may contain information that is confidential. If you are not the intended recipient(s) and have received this e-mail in error, please immediately notify the sender by return e-mail and delete this e-mail from your computer. Any distribution, disclosure or the taking of any other action by anyone other than the intended recipient(s) is strictly prohibited . |
From: Anthony E. <ant...@al...> - 2013-01-28 12:55:44
|
Ive been looking at this for ages. The documentation doesnt seem clear to me at all about how to do this. I fully appreciate the concept of the groups but dont understand how to get something like ... TradeCaptureReport tcr = ... tcr.getNoSides(1).getParties(1).PartyID; I’m sure its all really obvious, but I just dont get the syntax side of it .... From: Anthony Edwards Sent: Monday, January 28, 2013 12:12 PM To: qui...@li... Subject: [Quickfix-users] TradeCaptureReport / NoSides / Side in C# QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html QuickFIX Support: http://www.quickfixengine.org/services.html -------------------------------------------------------------------------------- Hello Ive been reading all the documentation I can find and am still confused about how to get the âSideâ fields for TradeCaptureReport in C#. I know I need to get the first NoSides group but cant get the syntax to work in Visual Studio. How do I get from ... QuickFix.Message msg = ... QuickFix44.TradeCaptureReport tcr = (QuickFix44.TradeCaptureReport)msg; int msgNum = 1; ... int side_of_first = ... // 1=Buy, 2=Sell The intellisense doesnt seem to pick much up and ive tried loads of combinations but cant get anything to work. Any help would be greatly appreciated. Thanks â Tony -------------------------------------------------------------------------------- ------------------------------------------------------------------------------ Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft MVPs and experts. ON SALE this month only -- learn more at: http://p.sf.net/sfu/learnnow-d2d -------------------------------------------------------------------------------- _______________________________________________ Quickfix-users mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-users |
From: Anthony E. <ant...@al...> - 2013-01-28 12:40:02
|
Hello Ive been reading all the documentation I can find and am still confused about how to get the ‘Side’ fields for TradeCaptureReport in C#. I know I need to get the first NoSides group but cant get the syntax to work in Visual Studio. How do I get from ... QuickFix.Message msg = ... QuickFix44.TradeCaptureReport tcr = (QuickFix44.TradeCaptureReport)msg; int msgNum = 1; ... int side_of_first = ... // 1=Buy, 2=Sell The intellisense doesnt seem to pick much up and ive tried loads of combinations but cant get anything to work. Any help would be greatly appreciated. Thanks – Tony |
From: Peter H. <pet...@ya...> - 2012-12-18 23:30:14
|
I need realtime analysis, the socket buffer size increases as needed. During high-traffic times, I can see the message latency increasing, sometimes the application will hang up for a few seconds, which is unacceptable. So I'm finding ways to accurately see what's going on under the hood. I'm surprised there is no easy way to do this. The closest thing I've found is that SocketInitiator keeps track of all its connections, but none of it is publicly accessible. I may resort to altering the quickfix code, but I'll troll around some more before I do. ________________________________ From: Hei Chan <str...@ya...> To: Peter Handel <pet...@ya...> Cc: "qui...@li..." <qui...@li...> Sent: Tuesday, December 18, 2012 3:18 PM Subject: Re: [Quickfix-users] Getting a SocketConnection handle You can configure the socket buffer size starting from 1.13.x I believe. So you don't have to query it (unless you want to do analysis in realtime without knowing the corresponding configuration). Maybe you can monitor your network queue at the OS level instead? ________________________________ From: Grant Birchmeier <gbi...@co...> To: Peter Handel <pet...@ya...> Cc: "qui...@li..." <qui...@li...> Sent: Tuesday, December 18, 2012 2:54 PM Subject: Re: [Quickfix-users] Getting a SocketConnection handle QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html QuickFIX Support: http://www.quickfixengine.org/services.html Ah, right, carry on. (Sorry I can't help with the actual question.) On Tue, Dec 18, 2012 at 4:37 PM, Peter Handel <pet...@ya...> wrote: > >I want the socket file descriptor to do things like get the socket buffer size, get the number of unread bytes, etc. I want these for doing diagnostics in case the system gets overloaded. > > > > >________________________________ > From: Grant Birchmeier <gbi...@co...> > > > > >I'm not sure how. More importantly, why do you need to get that pointer? Offhand, I can't think of why you'd need it. > > > >Just asking in case you are inadvertently doing something unorthodox. > > > > > > > > >On Tue, Dec 18, 2012 at 3:13 PM, Peter Handel <pet...@ya...> wrote: > >QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html >>QuickFIX Support: http://www.quickfixengine.org/services.html >> >> >> >> >> >>Given a FIX:Session pointer, how can I get a pointer to the SocketConnection its using? The only thing I see is that a FIX::Session has a private pointer to a FIX::Responder, but no access to it. >> >> >> >>------------------------------------------------------------------------------ >>LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial >>Remotely access PCs and mobile devices and provide instant support >>Improve your efficiency, and focus on delivering more value-add services >>Discover what IT Professionals Know. Rescue delivers >>http://p.sf.net/sfu/logmein_12329d2d >>_______________________________________________ >>Quickfix-users mailing list >>Qui...@li... >>https://lists.sourceforge.net/lists/listinfo/quickfix-users >> >> > > >-- > >Grant Birchmeier > >Connamara Systems, LLC > >Made-To-Measure Trading Solutions. >Exactly what you need. No more. No less. > >http://connamara.com/ > > > > -- Grant Birchmeier Connamara Systems, LLC Made-To-Measure Trading Solutions. Exactly what you need. No more. No less. http://connamara.com ------------------------------------------------------------------------------ LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial Remotely access PCs and mobile devices and provide instant support Improve your efficiency, and focus on delivering more value-add services Discover what IT Professionals Know. Rescue delivers http://p.sf.net/sfu/logmein_12329d2d _______________________________________________ Quickfix-users mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-users |