cpcheck: "an error occurred"

Seite 1 von 2 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/cpcheck-an-error-occurred_265537/page_1 - zur Vollversion wechseln!


wergor schrieb am 12.11.2025 um 08:39

ich habe einen bookworm ubuntu 24.04 docker container für meine CI, darin würd ich gern cppcheck ausführen:

Code:
cppcheck --enable=all --inline-suppr --project=application.cppcheck --error-exitcode=-1
cppcheck wirft aber die höchst hilfreiche fehlermeldung
Code:
cppcheck: error: failed to load project 'application.cppcheck'. An error occurred.
einzelne files kann ich aber schon prüfen, z.b.:
Code:
cppcheck src/ltb/ltb_eeprom.c 
Checking src/ltb/ltb_eeprom.c ...
src/ltb/ltb_fstd_info.h:83:25: error: Signed integer overflow for expression '1<<31'. [integerOverflow]
 FSTD_FEATURE_UART = (1 << 31),               //has UART interface
                        ^
src/ltb/ltb_fstd.h:129:26: error: Signed integer overflow for expression '1<<31'. [integerOverflow]
 LTB_ALERT_DIB_SYNC = (1 << 31)
                         ^
root@4185183f62c8:/tmp#

auf debian und ubuntu hosts (nicht im container) funktioniert der check. weis jemand wie ich mehr infos aus cppcheck rauskitzeln kann?


davebastard schrieb am 12.11.2025 um 08:49

hast dus mal mit dem absoluten pfad probiert?


Daeda schrieb am 12.11.2025 um 14:21

Kommen mit --verbose und/oder --debug vielleicht mehr Details beim Fehler zum Vorschein?


COLOSSUS schrieb am 12.11.2025 um 14:42

Poste mal, was (mit installiertem strace, eh klar)

Code:
LC_ALL=C strace -e trace=file -yy -v -Z cppcheck --enable=all --inline-suppr --project=application.cppcheck --error-exitcode=-1
ausgibt. Vielleicht kann man ja schon auf syscall-Ebene nachvollziehen, wo/wie es hakt.


issue schrieb am 12.11.2025 um 15:20

Mir kommt der --project switch falsch vor:

Zitat

--project=<file>
Run Cppcheck on project. The <file> can be a Visual Studio Solution (*.sln), Visual Studio Project (*.vcxproj), compile database (compile_commands.json), or Borland C++ Builder 6 (*.bpr). The files to analyse, include paths, defines, platform and undefines in the specified file will be used.

edit: oder hast du ein .cppcheck file aus der gui vo dem trum? (hab grad glesn, dass es das geben soll, https://cppcheck.sourceforge.io/manual.pdf page 9)


wergor schrieb am 12.11.2025 um 16:38

Zitat aus einem Post von davebastard
hast dus mal mit dem absoluten pfad probiert?
gleicher fehler.
Zitat aus einem Post von Daeda
Kommen mit --verbose und/oder --debug vielleicht mehr Details beim Fehler zum Vorschein?
nein, leider nicht.
Zitat aus einem Post von COLOSSUS
Poste mal, was (mit installiertem strace, eh klar)
Code:
LC_ALL=C strace -e trace=file -yy -v -Z cppcheck --enable=all --inline-suppr --project=application.cppcheck --error-exitcode=-1
ausgibt. Vielleicht kann man ja schon auf syscall-Ebene nachvollziehen, wo/wie es hakt.
Code:
root@a5d4aa4b7755:/tmp/repo# LC_ALL=C strace -e trace=file -yy -v -Z cppcheck --enable=all --inline-suppr --project=application.cppcheck --error-exitcode=-1        
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
cppcheck: error: failed to load project 'application.cppcheck'. An error occurred.
+++ exited with 1 +++
oha!


wergor schrieb am 12.11.2025 um 16:39

Zitat aus einem Post von issue
Mir kommt der --project switch falsch vor:


edit: oder hast du ein .cppcheck file aus der gui vo dem trum? (hab grad glesn, dass es das geben soll, https://cppcheck.sourceforge.io/manual.pdf page 9)

es gibt eine gui? :D
ich hab die hier auf mein projekt zugeschnitten: https://github.com/xanderhendriks/s...cation.cppcheck (benutze auch seinen container dafür)


COLOSSUS schrieb am 12.11.2025 um 17:02

Zitat aus einem Post von wergor
Code:
root@a5d4aa4b7755:/tmp/repo# LC_ALL=C strace -e trace=file -yy -v -Z cppcheck --enable=all --inline-suppr -project=application.cppcheck --error-exitcode=-1        
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
cppcheck: error: failed to load project 'application.cppcheck'. An error occurred.
+++ exited with 1 +++
oha!

Das weist lediglich drauf hin, dass beim Lesen deiner Input-Files (mindestens "application.cppcheck") nix schiefgeht, das Problem also eher am Inhalt der Datei(en) liegen wird.


wergor schrieb am 12.11.2025 um 17:10

ich probiere gerade die gui aus, die sagt beim check einer meiner source files gäb es einen critical error, ich glaub ich weis wo ich weitersuchen muss... danke :)
edit: hab sie gelöscht und cppcheck scheint jetzt durchzulaufen.zu früh gefreut, cppcheck-gui reported keinen fehler mehr aber cppcheck im container zeigt das gleiche verhalten.


issue schrieb am 12.11.2025 um 20:03

Vielleicht ists ein bug in der version von cppcheck in debian (die is vo 2023 wenn ich des richtig dales). Der letzte commit in dem sample repo war "Disable cppcheck for now" btw :D


COLOSSUS schrieb am 12.11.2025 um 20:17

Wieso soll es eigentlich unbedingt das cppcheck aus bookworm sein, und nicht aus trixie?


wergor schrieb am 12.11.2025 um 20:35

Zitat aus einem Post von issue
Der letzte commit in dem sample repo war "Disable cppcheck for now" btw
ich weis :D
Zitat aus einem Post von COLOSSUS
Wieso soll es eigentlich unbedingt das cppcheck aus bookworm sein, und nicht aus trixie?
das iamge das ich verwende (https://hub.docker.com/r/xanderhendriks/stm32cubeide) basiert auf bookworm, ich hab noch nicht versucht ein eigenes zu bauen.


issue schrieb am 12.11.2025 um 20:51

jetzt bin ich dazed and confused: https://github.com/xanderhendriks/d...3/Dockerfile#L1
sagt das ist ein ubuntu 24.04


wergor schrieb am 12.11.2025 um 21:11

tatsächlich! wie bin ich auf bookworm gekommen? muss ein anderes image gewesen sein :D


issue schrieb am 12.11.2025 um 21:36

vergleich wirklich mal die versionen, imo ein cppcheck bug mit dem gui project file.
alternativ wurscht die project config auf cli args um und gib die mit




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2026