我下载了 VLCJ JavaFX 示例,以便确定问题与我的代码无关,但我仍然无法让它在 Ubuntu 上运行,只能在 Windows 10 上运行。我收到了这个奇怪的错误,导致了这个错误"hr_err_pidxxxx.log"
我使用的是 openjdk-15 和 Ubuntu 20.10,安装最少,但我已经安装了完整的 vlc,想 sudo apt install vlc
和 ffmepg(不确定是否需要),以便加载所有必要的本机库。
值得一提的是,我不得不将 vlcj 的 pom.xml 依赖项更改为 4.7.0,因为 5.0.0-SNAPSHOT 在 Maven Repo 上不可用。
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007f03288ebfbf, pid=8056, tid=8133
#
# JRE version: OpenJDK Runtime Environment (15.0.2+7) (build 15.0.2+7-27)
# Java VM: OpenJDK 64-Bit Server VM (15.0.2+7-27, mixed mode, sharing, tiered, compressed oops, g1 gc, linux-amd64)
# Problematic frame:
# C [libswscale.so.5+0x69fbf]
#
# Core dump will be written. Default location: Core dumps may be processed with "/usr/share/apport/apport %p %s %c %d %P %E" (or dumping to /home/guilherme/Downloads/vlcj-javafx-demo-master/core.8056)
#
# An error report file with more information is saved as:
# /home/guilherme/Downloads/vlcj-javafx-demo-master/hs_err_pid8056.log
#
# If you would like to submit a bug report, please visit:
# https://bugreport.java.com/bugreport/crash.jsp
#
Process finished with exit code 134 (interrupted by signal 6: SIGABRT)
生成的日志 hs_err_pidxxxx.log 的一些亮点:
--------------- S U M M A R Y ------------
Command Line: BlingMonitor.jar
Host: Intel(R) Core(TM) i5-8400 CPU @ 2.80GHz, 5 cores, 7G, Ubuntu 20.10
Time: Sun Feb 28 23:56:47 2021 -03 elapsed time: 25 seconds (0d 0h 0m 25s)
--------------- T H R E A D ---------------
Current thread is native thread
Stack: [0x00007fb5cf039000,0x00007fb5cf138000], sp=0x00007fb5cf1346a8, free space=1005k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [libadjust_plugin.so+0x5e30]
siginfo: si_signo: 11 (SIGSEGV), si_code: 1 (SEGV_MAPERR), si_addr: 0x00000280000001e4
Register to memory mapping:
RAX=
[error occurred during error reporting (printing register info), id 0xb, SIGSEGV (0xb) at pc=0x00007fb6b6f811ec]
Stack slot to memory mapping:
stack at sp + 0 slots:
[error occurred during error reporting (inspecting top of stack), id 0xb, SIGSEGV (0xb) at pc=0x00007fb6b6f811ec]
--------------- P R O C E S S ---------------
VM state:not at safepoint (normal execution)
VM Mutex/Monitor currently owned by a thread: None
Heap address: 0x0000000083a00000, size: 1990 MB, Compressed Oops mode: 32-bit
Narrow klass base: 0x0000000800000000, Narrow klass shift: 3
Compressed class space size: 1073741824 Address: 0x0000000800b18000
Heap:
garbage-first heap total 131072K, used 69449K [0x0000000083a00000, 0x0000000100000000)
region size 1024K, 28 young (28672K), 7 survivors (7168K)
Metaspace used 21519K, capacity 22498K, committed 22832K, reserved 1069056K
class space used 3000K, capacity 3384K, committed 3456K, reserved 1048576K
Heap Regions: E=young(eden), S=young(survivor), O=old, HS=humongous(starts), HC=humongous(continues), CS=collection set, F=free, OA=open archive, CA=closed archive, TAMS=top-at-mark-start (previous, next)
此外,我还得到了数千行“lib(something).so”,例如:
7fb5fe304000-7fb5fe305000 r--p 00008000 08:03 924774 /usr/lib/x86_64-linux-gnu/libltdl.so.7.3.1
7fb5fe327000-7fb5fe328000 r--p 00007000 08:03 925369 /usr/lib/x86_64-linux-gnu/libvorbisfile.so.3.3.8
7fb5e5a82000-7fb5e5a83000 rw-p 0000a000 08:03 1053204 /usr/lib/x86_64-linux-gnu/vlc/plugins/demux/libes_plugin.so
7fb5e5a64000-7fb5e5a65000 r--p 00005000 08:03 1053235 /usr/lib/x86_64-linux-gnu/vlc/plugins/demux/libwav_plugin.so
7fb6303a2000-7fb6303a4000 r--p 00043000 08:03 924380 /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.12.0
等等。