Details
Description
Hello,
I am trying to visualize some Data using QtDataVisualization. My dataset is pretty large (> 10000x400x3 floats). Therefore i am loading that data in another thread, passing the results through signals back to the main thread to display.
I am attaching a "minimal working example" (turned out to be over 100 lines )
Essentially i am building a large array of QScatterDataItems in a loop over my data (numpy array with sometimes nans in some positions).
Everytime the program crashes it end without any notification. It just drops back to the command line. The only information i can get is from the windows event logs. There it says that shiboken2.abi3.dll had the exception code 0xc0000005: (sorry for the german logs)
Name der fehlerhaften Anwendung: python.exe, Version: 3.9.2150.1013, Zeitstempel: 0x6031e975
Name des fehlerhaften Moduls: shiboken2.abi3.dll, Version: 0.0.0.0, Zeitstempel: 0x5fad6579
Ausnahmecode: 0xc0000005
Fehleroffset: 0x0000000000015bfb
ID des fehlerhaften Prozesses: 0x4b1c
Startzeit der fehlerhaften Anwendung: 0x01d72001347fe3e0
Pfad der fehlerhaften Anwendung: C:\Users\myuser\anaconda3\envs\side2\python.exe
Pfad des fehlerhaften Moduls: C:\Users\myuser\anaconda3\envs\side2\lib\site-packages\shiboken2\shiboken2.abi3.dll
Berichtskennung: 553dd9ea-d64f-4bce-8d4e-677f7c6d80cc
{{Vollständiger Name des fehlerhaften Pakets: }}
{{Anwendungs-ID, die relativ zum fehlerhaften Paket ist: }}
In Cases where the dataset is small, say 100x400x3 it runs fine without any issues. In Cases with large datasets (10000x400x3, which is still slightly smaller than my actual data) it breaks on seemingly random progress points, occasionally. On my actual Data it sometimes works, sometimes not. And Sometimes the crash happens in the end of the loading process where it origins from "Qt5DataVisualization.dll" with the same error code.
Additional to the example i am attaching the environment.yml file used to create the conda environment i am using.
The function where the data is "loaded/generated" is LoadThread.prepare_data()