Seite 1 von 1

qvector.h:91 - uncaught signal 11 (Segmentation fault)

Verfasst: 13. Juni 2019 12:36
von klaus1977
Manchmal stürzt mein Programm an dieser Stelle ab

Zeile 144 und 145

Code: Alles auswählen

                if(!mCommandList.isEmpty())
                    mCommandList.pop_front();
> why: uncaught signal 11 (Segmentation fault)

> backtrace:
0: crashHandler [5557b4984bea] in /home/kaluser/workspace/AutoCal_linux/AutoCal/crashhandler.cpp:301
1: operator() [5557b4983841] in /home/kaluser/workspace/AutoCal_linux/AutoCal/crashhandler.cpp:56
2: _FUN [5557b498385b] in /home/kaluser/workspace/AutoCal_linux/AutoCal/crashhandler.cpp:57
3: (null) [7f066361688f]
4: QVector<Pyrometer_Command>::isEmpty() const [5557b4aa027f] in /usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h:91
5: Controller_Pyro::check_command_list(QString, QVariant) [5557b4a9caa3] in /home/kaluser/workspace/AutoCal_linux/pyrometer/controller_pyro.cpp:144
qvector.h: Zeile 91

Code: Alles auswählen

    inline bool isEmpty() const { return d->size == 0; }
System Ubuntu 18.04

Ich habe keine Ahnung warum. Sollte alles in Ordnung sein.

Re: qvector.h:91 - uncaught signal 11 (Segmentation fault)

Verfasst: 13. Juni 2019 23:01
von Christian81

Code: Alles auswählen

3: (null) [7f066361688f]
Deine Object die den Code enthält ist nicht initialisiert / ein nullptr

Re: qvector.h:91 - uncaught signal 11 (Segmentation fault)

Verfasst: 14. Juni 2019 16:58
von klaus1977
Meinst du das Objekt Controller_Pyro oder QVector oder der Pointer auf size d->size ?

Re: qvector.h:91 - uncaught signal 11 (Segmentation fault)

Verfasst: 14. Juni 2019 18:09
von Christian81
Das Objekt, welches Du in crashhandler.cpp:57 aufrufst

Re: qvector.h:91 - uncaught signal 11 (Segmentation fault)

Verfasst: 14. Juni 2019 19:21
von klaus1977
Der Crashhandler wird nur aufgerufen, weil vorher etwas passiert ist. Durch ihn wird der Stacktrace aufgezeichnet.

Re: qvector.h:91 - uncaught signal 11 (Segmentation fault)

Verfasst: 14. Juni 2019 21:07
von Christian81
Dann eben controller_pyro.cpp:144 - einfach mal den StackTrace anschauen oder einen Debugger benutzen.