default 20:28:26.180333 -0500 assertiond [Project1:7693] Activate assertion: <BKProcessAssertion: 0x12b0102c0; "com.apple.UIKit.KeyboardManagement.message" (finishTask:180s); id:…8EA7F5E94DD5>
default 20:28:26.180542 -0500 assertiond [Project1:7693] Setting jetsam priority to 10 [0x10108]
default 20:28:26.182151 -0500 assertiond [Project1:7693] Deactivate assertion: <BKProcessAssertion: 0x12b0102c0; "com.apple.UIKit.KeyboardManagement.message" (finishTask:180s); id:…8EA7F5E94DD5>
default 20:28:26.182312 -0500 assertiond [Project1:7693] Setting jetsam priority to 10 [0x10100]
default 20:28:26.183307 -0500 assertiond [Project1:7693] Remove assertion: <BKProcessAssertion: 0x12b0102c0; "com.apple.UIKit.KeyboardManagement.message" (finishTask:180s); id:…8EA7F5E94DD5>
default 20:28:32.609723 -0500 Project1 Received memory warning.
Then a short time later the app crashes and i see the following console message:
default 20:28:45.881914 -0500 kernel EXC_RESOURCE -> Project1[7693] exceeded mem limit: ActiveHard 1400 MB (fatal).
My crash test app is a simple Firemonkey app built in C++ Builder 10.3.2 (attached).
A) Put a TPanel on the form (Panel1).
B) Put a TScrollBox on Panel1 (ScrollBox1). Set its align to Contents.
C) Put a TLayout on ScrollBox1 (Layout1). Set its align to None. Set its width to 2100.
D) Put a TChart on Layout1. Set its height to 200, width 7300. Set its align to None.
E) Add a TToolBar to Form1 and put a TButton on it.
F) Then put this code in the TButton's click event:
Code: Select all
Form1->Layout1->Position->X = 0;
Form1->ChartTest->Position->Y = 0;
Form1->ChartTest->Position->X = 0;
TLineSeries *series1 = new TLineSeries(Form1);
TLineSeries *series2 = new TLineSeries(Form1);
TLineSeries *series3 = new TLineSeries(Form1);
TLineSeries *series4 = new TLineSeries(Form1);
series1->Color = claBlue; //https://qiita.com/7of9/items/987a519f7e4679440230
series2->Color = claRed;
series3->Color = claBlueviolet;
series4->Color = claAqua;
double x, y;
for (int i = 0; i < 1000; i++) {
x = i;
y = Random(5000);
series1->AddXY(x,y);
y = Random(5000);
series2->AddXY(x,y);
y = Random(5000);
series3->AddXY(x,y);
y = Random(5000);
series4->AddXY(x,y);
}
Form1->ChartTest->AddSeries(series1);
Form1->ChartTest->AddSeries(series2);
Form1->ChartTest->AddSeries(series3);
Form1->ChartTest->AddSeries(series4);
The memory leak is in the TeeChart most likely, maybe in the TScrollBox? I've zipped up the entire directory of my test project and attached it.
thanks,
russ