Skip to content

Please document the version of Java required (Java 17 works, Java 21 doesn't) #78

@edwintorok

Description

@edwintorok

On Fedora 43 the Gobpie plugin doesn't analyze .c files. Also logging doesn't work entirely either:

Log file path: /tmp/magpie_exceptions_20260221_192129.log
Log file path: /tmp/magpie_exceptions_20260221_192129.log
19:21:29.273 INFO  - Goblint run with command: /home/edwin/.opam/4.14.2+rfp/bin/goblint --enable server.enabled --enable server.reparse --set server.mode unix --set server.unix-socket /var/home/edwin/git/GoblintAnalyzer-DemoProject/goblint.sock --enable exp.arg.enabled
SLF4J: No SLF4J providers were found.
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See https://www.slf4j.org/codes.html#noProviders for further details.
SLF4J: Class path contains SLF4J bindings targeting slf4j-api versions 1.7.x or earlier.
SLF4J: Ignoring binding found at [jar:file:/var/home/edwin/.vscode-oss/extensions/karoliineh.gobpie-0.0.5/gobpie-0.0.5-SNAPSHOT.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See https://www.slf4j.org/codes.html#ignoredBindings for an explanation.
19:21:29.312 INFO  - Goblint client connected
19:21:29.321 INFO  - HTTP server started on: http://localhost:43721/
19:21:29.332 INFO  - MagpieBridge server launched.
19:21:29.338 INFO  - Abstract debugging server launched on: /tmp/gobpie_adb_hmHWUCRd.soc

The /tmp/magpie_exceptions_20260221_192129.log file is empty.

I installed temurin-17-jre (following the instructions from https://docs.fedoraproject.org/en-US/quick-docs/installing-java/#_installing_an_older_java_version), and then it began working:

Log file path: /tmp/magpie_exceptions_20260221_192255.log
Log file path: /tmp/magpie_exceptions_20260221_192255.log
19:22:55.232 INFO  - Goblint run with command: /home/edwin/.opam/4.14.2+rfp/bin/goblint --enable server.enabled --enable server.reparse --set server.mode unix --set server.unix-socket /var/home/edwin/git/GoblintAnalyzer-DemoProject/goblint.sock --enable exp.arg.enabled
SLF4J: No SLF4J providers were found.
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See https://www.slf4j.org/codes.html#noProviders for further details.
SLF4J: Class path contains SLF4J bindings targeting slf4j-api versions 1.7.x or earlier.
SLF4J: Ignoring binding found at [jar:file:/var/home/edwin/.vscode-oss/extensions/karoliineh.gobpie-0.0.5/gobpie-0.0.5-SNAPSHOT.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See https://www.slf4j.org/codes.html#ignoredBindings for an explanation.
19:22:55.270 INFO  - Goblint client connected
19:22:55.278 INFO  - HTTP server started on: http://localhost:46837/
19:22:55.286 INFO  - MagpieBridge server launched.
19:22:55.290 INFO  - Abstract debugging server launched on: /tmp/gobpie_adb_DlNEm70s.sock
19:22:55.356 INFO  - PreAnalysis command ran: '[cmake, -DCMAKE_EXPORT_COMPILE_COMMANDS=ON, -B, build]'
-- Configuring done (0.0s)
-- Generating done (0.0s)
-- Build files have been written to: /var/home/edwin/git/GoblintAnalyzer-DemoProject/build
19:22:55.378 INFO  - PreAnalysis command finished.
19:22:55.378 INFO  - ---------------------- Analysis started ----------------------
[Info][Deadcode] Logical lines of code (LLoC) summary:
  live: 12
  dead: 0
  total lines: 12
[Warning][Race] Memory location myglobal (race with conf. 110): (src/example.c:4:5-4:13)
  write with [lock:{mutex1}, thread:[main, t_fun@src/example.c:17:3-17:40]] (conf. 110)  (exp: & myglobal) (src/example.c:10:3-10:22)
  write with [mhp:{created={[main, t_fun@src/example.c:17:3-17:40]}}, lock:{mutex2}, thread:[main]] (conf. 110)  (exp: & myglobal) (src/example.c:19:3-19:22)
  read with [lock:{mutex1}, thread:[main, t_fun@src/example.c:17:3-17:40]] (conf. 110)  (exp: & myglobal) (src/example.c:10:3-10:22)
  read with [mhp:{created={[main, t_fun@src/example.c:17:3-17:40]}}, lock:{mutex2}, thread:[main]] (conf. 110)  (exp: & myglobal) (src/example.c:19:3-19:22)
[Info][Race] Memory locations race summary:
  safe: 0
  vulnerable: 0
  unsafe: 1
  total memory locations: 1
19:22:55.419 INFO  - --------------------- Analysis finished ----------------------
Feb 21, 2026 7:22:55 PM org.eclipse.lsp4j.jsonrpc.RemoteEndpoint handleCancellation
WARNING: Unmatched cancel notification for request id 1
Feb 21, 2026 7:22:55 PM org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint notify
INFO: Unsupported notification method: $/setTraceNotification
Feb 21, 2026 7:22:56 PM org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint notify
INFO: Unsupported notification method: $/setTraceNotification

Still the logger isn't configured entirely correctly, but at least the plugin works now.

Java 17 is the earliest it works with, trying earlier ones complains about class version.

Metadata

Metadata

Assignees

Labels

documentationImprovements or additions to documentation

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions