Login Page - Create Account

Support Board


Date/Time: Mon, 21 Sep 2026 15:55:14 +0000



n_ACSIL::s_TradeStatistics: Stack corruption on 2954

View Count: 36

[2026-09-21 10:27:46]
User907968 - Posts: 884
ACSIL studies compiled against an earlier version (2911 in this case) can cause stack corruption when run in Sierra Chart version 2954 if they use n_ACSIL::s_TradeStatistics.

The layout of s_TradeStatistics changed, existing quantity-related members were changed from int32_t to double.
A study compiled against the older, smaller struct can therefore provide insufficient storage when the newer Sierra Chart executable writes the current struct layout.

The newer Sierra Chart code writes data using the newer, larger s_TradeStatistics layout into memory allocated by the older DLL for the smaller layout.
Debug build: Stack corruption is detected quickly and the process terminates.
Release build: The issue may not terminate immediately, but the out-of-bounds write still occurs.

I've reverted to version 2947, as s_TradeStatistics is compatible in that version.

Please consider some solution for this, even if that solution is locking out earlier dlls and forcing recompilation.
[2026-09-21 15:16:40]
User719512 - Posts: 477
Unclear why s_TradeStatistics didn't get the same guards as other changes in v2954 headers with:
#ifdef CHART_ARRAYS_AS_DOUBLE

Good catch @User907968

To post a message in this thread, you need to log in with your Sierra Chart account:

Login

Login Page - Create Account