Skip to content

[CE-17-21.3] native-image crashes at linking step for a barebones awt/swing app on linux #3938

@DrDaleks

Description

@DrDaleks

Issue description
Trying to "natify" a barebones swing app (ie. just showing an empty JFrame via the EDT) results in a crash at the linking step:

native-image -Djava.awt.headless=false com.example.Main --no-fallback --report-unsupported-elements-at-runtime

results (after about a minute or so) in

Fatal error:java.lang.RuntimeException: There was an error linking the native image: Linker command exited with 1

Linker command executed:
/usr/bin/gcc -z noexecstack -Wl,--gc-sections -Wl,--dynamic-list -Wl,/tmp/SVM-9211878763003667666/exported_symbols.list -Wl,--exclude-libs,ALL -Wl,-x -o /code/swingtest/target/classes/com.example.main com.example.main.o /apps/graalvm-ce-java17-21.3.0/lib/static/linux-amd64/glibc/libnet.a /apps/graalvm-ce-java17-21.3.0/lib/static/linux-amd64/glibc/libjavajpeg.a /apps/graalvm-ce-java17-21.3.0/lib/static/linux-amd64/glibc/libnio.a /apps/graalvm-ce-java17-21.3.0/lib/svm/clibraries/linux-amd64/liblibchelper.a /apps/graalvm-ce-java17-21.3.0/lib/static/linux-amd64/glibc/libjava.a /apps/graalvm-ce-java17-21.3.0/lib/static/linux-amd64/glibc/libprefs.a /apps/graalvm-ce-java17-21.3.0/lib/static/linux-amd64/glibc/liblcms.a /apps/graalvm-ce-java17-21.3.0/lib/static/linux-amd64/glibc/libfontmanager.a /apps/graalvm-ce-java17-21.3.0/lib/static/linux-amd64/glibc/libawt_xawt.a /apps/graalvm-ce-java17-21.3.0/lib/static/linux-amd64/glibc/libawt.a /apps/graalvm-ce-java17-21.3.0/lib/static/linux-amd64/glibc/libfdlibm.a /apps/graalvm-ce-java17-21.3.0/lib/static/linux-amd64/glibc/libzip.a /data_local/j0507745/apps/graalvm-ce-java17-21.3.0/lib/svm/clibraries/linux-amd64/libjvm.a -v -L/tmp/SVM-9211878763003667666 -L/apps/graalvm-ce-java17-21.3.0/lib/static/linux-amd64/glibc -L/apps/graalvm-ce-java17-21.3.0/lib/svm/clibraries/linux-amd64 -lX11 -lXrender -lXext -lXi -lstdc++ -lm -lfreetype -lpthread -ldl -lz -lrt

(...)

/apps/graalvm-ce-java17-21.3.0/lib/static/linux-amd64/glibc/libawt.a(awt_LoadLibrary.o):(.bss.jvm+0x0): multiple definition of `jvm'
/apps/graalvm-ce-java17-21.3.0/lib/static/linux-amd64/glibc/libawt_xawt.a(XlibWrapper.o):(.bss.jvm+0x0): first defined here

GraalVM and environment:

  • GraalVM CE 21.3
  • JDK major version: 17
  • OS: RHEL 7.9
  • Architecture: x86_64
  • GCC 4.8.5

I'm going to assume my prehistoric gcc is at fault here, but before I investigate in that direction, I thought a quick double-check here might help in case I missed something obvious.

Edit: issue similar to #3399, although with a different version of GraalVM

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions