Join the 80,000 other DTN customers who enjoy the fastest, most reliable data available. There is no better value than DTN!

(Move your cursor to this area to pause scrolling)




"For anyone considering using DTN.IQ for a data feed, my experience with the quality of data and the tech support has been very positive." - Comment from Public Forum
"I "bracket trade" all major news releases and I have not found one lag or glitch with DTN.IQ feed. I am very comfortable with their feed under all typical news conditions (Fed releases, employment numbers, etc)." - Comment from Public Forum
"Boy, probably spent a thousand hours trying to get ******* API to work right. And now two hours to have something running with IQFeed. Hmmm, guess I was pretty stupid to fight rather than switch all this time. And have gotten more customer service from you guys already than total from them… in five years." - Comment from Jim
"There is no doubt that IQFeed is the best data provider. I am very satisfied with your services. And IQFeed is the only one that I would recommend to my friends. Now, most of them are using your product in China." - Comment from Zhezhe
"Excellent datafeed !!!" - Comment from Arely
"IQ feed is brilliant. The support is mind-bending. What service!" - Comment from Public Forum Post
"I've been using IQFeed 4 in a multi-threaded situation for the last week or two on 2600 symbols or so with 100 simultaneous daily charts, and I have had 100% responsiveness." - Comment from Scott
"The service is great, I see a noticeable improvement in my volume profiles over [broker]'s data feed" - Comment from Larry
"Version 4.0.0.2 has been working well for me and I appreciate that it is now a much tighter client to work with. I feel I can go to press with my own application and rely on a stable platform" - Comment from David in IA.
"Interactive Brokers tick data was inconsistent, so I have switched to using DTN exclusively. It is great to no longer have to worry about my datafeed all day long." - Comment from Philippe
Home  Search  Register  Login  Recent Posts

Information on DTN's Industries:
DTN Oil & Gas | DTN Trading | DTN Agriculture | DTN Weather
Follow DTNMarkets on Twitter
DTN.IQ/IQFeed on Twitter
DTN News and Analysis on Twitter
»Forums Index »Archive (2017 and earlier) »IQFeed Developer Support »IQConnect.exe 5.2.1.0 (and 5.1.1.3) hangs on connect for multiple connections
Author Topic: IQConnect.exe 5.2.1.0 (and 5.1.1.3) hangs on connect for multiple connections (5 messages, Page 1 of 1)

dk_brad
-Interested User-
Posts: 12
Joined: May 11, 2014


Posted: Mar 30, 2016 03:54 AM          Msg. 1 of 5
I have come across a critical problem with the IQConnect software when establishing multiple connections in quick succession.

Steps to reproduce:
1 - launch client, login
2 - for i = 1 to 15 {
create new socket on port 9100
send set protocol command
sleep x
}
3 - wait
4 - close all sockets

For values of x < ~15ms, the threads for each socket in the iqconnect process seem to enter some sort of race condition, and ramp up to 100% CPU (core) usage. This will typically happen to all 15 connections, but is sometimes limited to fewer (e.g 3 IQConnect threads running at 100% on 3 cores).

During failures:
- IQConnect threads are running at 100% on all 8 cores of my machine (although sometimes fewer as mentioned above).
- There is no response on the socket to any commands sent, including the initial set protocol.
- There are no entries in the IQConnectLog after "LOOKUP SOCKET ACCEPTED i - " for each connection.

Log files are attached.

Configuration:

This occurs on versions 5.1.1.3 and 5.2.1.0 (didn't test others). I am connecting from Java using standard java.net / java.io libraries

OS tested:
- Debian 8 64-bit (kernel 4.5.0 x86_64)
- Debian 7 32-bit (kernel 4.5.0 x86),

JVM tested:
- 1.7.0_80-b15 (32 bit)
- 1.8.0_77 (32 and 64-bit)

Wine tested:
- 1.6.2
- 1.9.6

Interestingly, I couldn't reproduce the problem using wine 1.4.1, but I suspect that's because 1.4.1 is slower to create and connect the sockets rather than wine being the problem. This issue only became evident because I am staging newer wine versions.

I couldn't reproduce the issue with the same code on Windows 7.

I would guess that the most likely explanation is a subtle concurrency bug in the IQConnect.exe connection code that is only evident when multiple connections are made almost simultaneously on a machine with many cores, but it is surprising that it hasn't been seen before.

I can provide test code (Java) if required.
 
 



File Attached: IQConnectLogAll-fail.txt (downloaded 1396 times)

dk_brad
-Interested User-
Posts: 12
Joined: May 11, 2014


Posted: Mar 30, 2016 04:12 AM          Msg. 2 of 5
Example screenshot showing partial (4 connections) hang.



File Attached: partial-lockup-example.png (downloaded 1199 times)

DTN_Robert_Carrillo
-Interested User-
Posts: 6
Joined: Apr 25, 2007

-DTN Technical Support-


Posted: Mar 30, 2016 04:17 AM          Msg. 3 of 5
Thank you for your post. Developer Support will respond ASAP.

Robert Carrillo

support@iqfeed.net

support@dtniq.com

support@prophetx.com

Trading Markets Customer Service

1-800-397-7000

dk_brad
-Interested User-
Posts: 12
Joined: May 11, 2014


Posted: Mar 30, 2016 06:34 AM          Msg. 4 of 5
For reference, here's a log of the same code running when the issue doesn't occur.



File Attached: IQConnectLogAll-succeed.txt (downloaded 1409 times)

DTN_Tim Walter
-DTN Guru-
Posts: 1238
Joined: Apr 25, 2006


Posted: Mar 30, 2016 08:36 AM          Msg. 5 of 5
This was a known issue in 5.1, but we have had good results with releases since and so far on 5.2, but we will take a look into it and see what we can come up with.

Tim
 

 

Time: Fri May 24, 2024 12:19 PM CFBB v1.2.0 15 ms.
© AderSoftware 2002-2003