Support Board
Date/Time: Fri, 14 Mar 2025 12:27:45 +0000
No graceful failure when running out-of-memory
View Count: 192
[2024-12-27 18:04:05] |
User512353 - Posts: 62 |
SC2726 Linux/wine When loading a chartbook that loads so much data, that the operating system is running out-of-memory, under Linux/wine the whole user session is cancelled. It seems that SC is not catching exceptions for memory allocation failures!? It would be good programming practice to catch these exceptions, immediately close and free already allocated memory for the malignant chartbook, and write some useful error message to the log. Or do you maybe see other reasons for the destructive behavior? |
[2024-12-27 19:24:20] |
Sierra_Chart Engineering - Posts: 18778 |
We do not know why you have this problem. It is not within our control. If there is a memory allocation failure, data stops loading for a chart. And the chart is placed into a disabled state. It is all gracefully handled. It always has been. And this includes all categories of data: The basic bar data, the volume by price data, the market depth data. All of this is gracefully handled and always has been. And of course there is detailed logging of all of this within the Sierra Chart Message Log. We have to double check, but if there is a memory allocation failure and the chart is disabled, existing allocations are released. Sierra Chart is one of the few programs in the world, that has nearly 100% graceful memory allocation failure handling. And any large memory allocations are always gracefully handled. We strongly disagree with the use of exceptions, when there is a memory allocation failure. This is of the utmost stupidity and we do not care, if every other programmer disagrees with us. Do not care at all. It is simply plain dumb/stupid to the maximum. We do not agree with exceptions at all. Simply return a value of zero. Not throwing some wild unknown exception transferring control to some unknown place, or terminating the program. Throwing exceptions is like monkey programming (will explain that term sometime later). Like monkeys wildly swinging from tree to tree. The reason we say nearly 100% is because exceptions are used within STL containers (complete absolute stupidity) and inevitably there may be a few small areas where exceptions are not caught because of an oversight but in general they are caught everywhere. Even doing something as simple as inserting an integer, into a vector which will contain a small number of elements, exceptions are caught. Also to answer your question as to the reason for the problem, is simply because Wine is unreliable. And it is also very inefficient. Sierra Chart Support - Engineering Level Your definitive source for support. Other responses are from users. Try to keep your questions brief and to the point. Be aware of support policy: https://www.sierrachart.com/index.php?l=PostingInformation.php#GeneralInformation For the most reliable, advanced, and zero cost futures order routing, use the Teton service: Sierra Chart Teton Futures Order Routing Date Time Of Last Edit: 2024-12-29 19:27:49
|
To post a message in this thread, you need to log in with your Sierra Chart account: