IQFeed error popup: Hashtable insert failed
Author: kazuna
Creation Date: 9/4/2020 4:22 PM
profile picture

kazuna

#1
I got this IQFeed dialog poped up number of times this morning.
Any idea what was going wrong?

IQFeed v2020.09.02 is installed on this WLD.

QUOTE:
Hashtable insert failed. Load factor too high. The most common cause is multiple threads writing to the Hashtable simultaneously.

profile picture

Cone

#2
It's not coming from our side. If you give me an idea of how you're using it (number of streaming symbols, chart requests, when it occurred, etc.) I'll ping our IQFeed contacts to ask what might be causing it.

Aside from the popup, is it interrupting operation?
profile picture

kazuna

#3
I had 26 streaming chart symbols and one in the strategy monitor that was running with a data set consisting 51 symbols.
They are all 1 minute data scale and 1 week data range.

It occurred for the first hour since the market opened and I eventually restarted WLD because I was also getting "Thread was being aborted." dialog pop ups and the chart wasn't executing the strategy.
profile picture

superticker

#4
QUOTE:
... because I was also getting "Thread was being aborted."
That's normal. I get that error all the time too. Read Posts# 15, 17, and the bottom of 20 at IQFeed-v2020-08-26-Beta-Updated. There's a race condition because of an asynchronous I/O scheduling problem in the on-demand code that's only reproducible on some machines. Your problem likely related to this thread safety problem as well.

Try unchecking the on-demand checkbox in Data Manager to see if you can get this problem to go away.
profile picture

Cone

#5
Okay. I'm going to work on supporting the S. Monitor with streaming bars. Currently you're only getting serial round-trip requests, which is slow. Give me a week or two and we'll get the streaming bars working ;)
profile picture

kazuna

#6
QUOTE:
Try unchecking the on-demand checkbox in Data Manager to see if you can get this problem to go away.

I never enable On-Demand update but I'm still getting those thread errors all the time.
Especially I get those thread errors after the market close and when I restart WLD while IQSeed seems getting after-market bar data even though I elect Regular Session Only option.
profile picture

superticker

#7
QUOTE:
I never enable On-Demand update but I'm still getting those thread errors
Interesting. I rarely get the thread abort errors unless on-demand data is enabled. This sounds like there are thread safety issues with both the streaming and on-demand code. I didn't know that.

QUOTE:
Especially I get those thread [abort] errors after the market close and when I restart WLD ...
I agree. For me, that's typically in the morning when I first fire up WLD before the market opens. But I can get them throughout the day too if on-demand updates are enabled. I've gotten use to it.

I wonder what's "special" about our strategy code that brings out these thread safety issues? I'm calling GetExternalSymbol() a great deal, which is a major factor.
profile picture

kazuna

#8
I'm calling GetExternalSymbol() within intra-day code to get the daily data.
profile picture

superticker

#9
QUOTE:
GetExternalSymbol() within intraday code
I am too. So the thread safety collisions occur when two "get Bars" requests (one for the primary symbol and the other for external Bars) are made in rapid succession. That's a good clue!

I'll assume if you remove the GetExternalSymbol() from your strategy, the thread abort errors go away.
This website uses cookies to improve your experience. We'll assume you're ok with that, but you can opt-out if you wish (Read more).