viktorgino / headunit-desktop

HeadUnit Desktop is a car PC software built with Qt 5 and QML
https://github.com/viktorgino/headunit-desktop/wiki
GNU General Public License v3.0
284 stars 64 forks source link

[Raspberry Pi] terminate called after throwing an instance of 'int' #7

Closed viktorgino closed 3 years ago

viktorgino commented 7 years ago

On Raspbian when welle.io throws an exception headunit quits with terminate called after throwing an instance of 'int'. Mainly thrown by https://github.com/AlbrechtL/welle.io/blob/master/src/ofdm/ofdm-processor.cpp . This behavior isn't present/haven't been observed on other platforms.

The only difference between the way welle.io loads QQmlApplicationEngine and the way headunit does is that welle.io uses dynamic allocation when creating QQmlApplicationEngine.

Vitalic66 commented 7 years ago

Have you also seen this error popping up when starting headunit-app without dab usb stick mounted? Only with compiled welle.io of cause, but without the stick, app cannot be launched and you get redirected to terminal with error message just like trying to scan for dab stations.

viktorgino commented 7 years ago

I've seen it with both the stick attached and detached. In both cases caused by ofdm-processor. I'll change the allocation of QQmlApplicationEngine to dynamic and see what happens. The only other difference is that headunit-dekstop is compiled with STD C++11. The only thing that's strange about this is that this doesn't happen on desktop Ubuntu or Debian.

ofdmProcessor::getSample() and ofdmProcessor::getSamples() throw the int, but that should by the try{}catch (int e) {} block in ofdmProcessor::run.