installation - FreeBSD 上的 OpenJDK : "Given reserved space must have been reserved already"

标签 installation freebsd artifactory java

我正在尝试在 FreeBSD 机器上启动并运行 Artifactory。我安装了/usr/ports/devel/artifactory,看起来没有问题,然后运行“/usr/local/etc/rc.d/artifactory start”。它说 Artifactory 正在启动,并且没有给出任何明显的错误迹象,但是当脚本结束时,Artifactory 没有运行。我发现每次执行此操作时,都会将以下内容附加到/usr/local/artifactory/logs/boot.log:

# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (g1PageBasedVirtualSpace.cpp:54), pid=87801, tid=100176
#  guarantee(rs.is_reserved()) failed: Given reserved space must have been reserved already.

谷歌搜索“给定的保留空间必须已经被保留”没有显示出对我特别有用的信息。这似乎是来自 OpenJDK 内部的消息。

日志文件还提到创建了另一个文件,其中包含更详细的错误信息。该文件有堆栈跟踪和各种其他信息:

---------------  T H R E A D  ---------------

Current thread (0x29cb0800):  JavaThread "Unknown thread" [_thread_in_vm, id=100176, stack(0xbf9be000,0xbf9fe000)]

Stack: [0xbf9be000,0xbf9fe000],  sp=0xbf9fd528,  free space=253k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0x8234ed]  JVM_handle_bsd_signal+0x166bbd
V  [libjvm.so+0x36ef3f]  SUNWprivate_1.1+0x36ef3f
V  [libjvm.so+0x40df4c]  AsyncGetCallTrace+0x2c0bc
V  [libjvm.so+0x40def4]  AsyncGetCallTrace+0x2c064
V  [libjvm.so+0x40ff0b]  AsyncGetCallTrace+0x2e07b
V  [libjvm.so+0x41017e]  AsyncGetCallTrace+0x2e2ee
V  [libjvm.so+0x3f5874]  AsyncGetCallTrace+0x139e4
V  [libjvm.so+0x7ea485]  JVM_handle_bsd_signal+0x12db55
V  [libjvm.so+0x7ea105]  JVM_handle_bsd_signal+0x12d7d5
V  [libjvm.so+0x471291]  AsyncGetCallTrace+0x8f401
V  [libjvm.so+0x7cccd3]  JVM_handle_bsd_signal+0x1103a3
V  [libjvm.so+0x4d0eeb]  JNI_CreateJavaVM+0x6b
C  [java+0x3c35]  JavaMain+0x1d5
C  [libthr.so.3+0x76dc]  operator->+0x81c
C  0x00000000


---------------  P R O C E S S  ---------------

Java Threads: ( => current thread )

Other Threads:

=>0x29cb0800 (exited) JavaThread "Unknown thread" [_thread_in_vm, id=100176, stack(0xbf9be000,0xbf9fe000)]

VM state:not at safepoint (not fully initialized)

VM Mutex/Monitor currently owned by a thread:  ([mutex/lock_event])
[0x29c48640] Heap_lock - owner thread: 0x29cb0800

GC Heap History (0 events):
No events

Deoptimization events (0 events):
No events

Internal exceptions (0 events):
No events

Events (0 events):
No events


Dynamic libraries:
0x08048000      /usr/local/openjdk8/bin/java
0x2807d000      /lib/libz.so.6
0x28091000      /lib/libthr.so.3
0x280b3000      /lib/libc.so.7
0x28c00000      /usr/local/openjdk8/jre/lib/i386/server/libjvm.so
0x28237000      /lib/libm.so.5
0x2825d000      /usr/lib/libc++.so.1
0x2830c000      /lib/libcxxrt.so.1
0x28325000      /lib/libgcc_s.so.1
0x28331000      /usr/local/openjdk8/jre/lib/i386/libverify.so
0x2833d000      /usr/local/openjdk8/jre/lib/i386/libjava.so
0x2836a000      /usr/local/openjdk8/jre/lib/i386/libzip.so
0x28054000      /libexec/ld-elf.so.1

VM Arguments:
jvm_args: -Djava.util.logging.config.file=/usr/local/artifactory/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Xms512m -Xmx2g -Xss256k -XX:+UseG1GC -Djruby.compile.invokedynamic=false -Dfile.encoding=UTF8 -Dartdist=zip -Dartifactory.home=/usr/local/artifactory -Dfile.encoding=UTF8 -Djruby.compile.invokedynamic=false -Djava.endorsed.dirs=/usr/local/artifactory/tomcat/endorsed -Dcatalina.base=/usr/local/artifactory/tomcat -Dcatalina.home=/usr/local/artifactory/tomcat -Djava.io.tmpdir=/usr/local/artifactory/tomcat/temp
java_command: org.apache.catalina.startup.Bootstrap start
java_class_path (initial): /usr/local/artifactory/tomcat/bin/bootstrap.jar:/usr/local/artifactory/tomcat/bin/tomcat-juli.jar
Launcher Type: SUN_STANDARD

Environment Variables:
JAVA_HOME=/usr/local/openjdk8
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/nonexistent/bin
SHELL=/bin/csh
HOSTTYPE=FreeBSD
OSTYPE=FreeBSD
MACHTYPE=i386

Signal Handlers:
SIGSEGV: [libjvm.so+0x824280], sa_mask[0]=11111111111111111111111111111110, sa_flags=SA_RESTART|SA_SIGINFO
SIGBUS: [libjvm.so+0x824280], sa_mask[0]=11111111111111111111111111111110, sa_flags=SA_RESTART|SA_SIGINFO
SIGFPE: [libjvm.so+0x6b92f0], sa_mask[0]=11111111111111111111111111111110, sa_flags=SA_RESTART|SA_SIGINFO
SIGPIPE: [libjvm.so+0x6b92f0], sa_mask[0]=11111111111111111111111111111110, sa_flags=SA_RESTART|SA_SIGINFO
SIGXFSZ: [libjvm.so+0x6b92f0], sa_mask[0]=11111111111111111111111111111110, sa_flags=SA_RESTART|SA_SIGINFO
SIGILL: [libjvm.so+0x6b92f0], sa_mask[0]=11111111111111111111111111111110, sa_flags=SA_RESTART|SA_SIGINFO
SIGUSR1: SIG_DFL, sa_mask[0]=11111111011111110111111111111111, sa_flags=none
SIGUSR2: [libjvm.so+0x6b9fe0], sa_mask[0]=00000000000000000000000000000000, sa_flags=SA_RESTART|SA_SIGINFO
SIGHUP: SIG_DFL, sa_mask[0]=00000000000000000000000000000000, sa_flags=none
SIGINT: SIG_DFL, sa_mask[0]=00000000000000000000000000000000, sa_flags=none
SIGTERM: SIG_DFL, sa_mask[0]=00000000000000000000000000000000, sa_flags=none
SIGQUIT: SIG_DFL, sa_mask[0]=00000000000000000000000000000000, sa_flags=none


---------------  S Y S T E M  ---------------

OS:BSD
uname:FreeBSD 10.1-RELEASE FreeBSD 10.1-RELEASE #0 r274401: Tue Nov 11 22:51:51 UTC 2014     <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="71031e1e053103141d141f16405f1f08185f170314141302155f1e0316" rel="noreferrer noopener nofollow">[email protected]</a>:/usr/obj/usr/src/sys/GENERIC i386
rlimit: STACK 65536k, CORE infinity, NPROC 5547, NOFILE 94860, AS infinity
load average:0.26 0.19 0.80

CPU:total 8 (4 cores per cpu, 1 threads per core) family 6 model 26 stepping 5, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, tsc, tscinvbit, tscinv

Memory: 4k page, physical 3372996k(2931288k free), swap 13807988388243963904k(13807988392538586972k free)

vm_info: OpenJDK Server VM (25.60-b23) for bsd-x86 JRE (1.8.0_60-b24), built on Nov 14 2015 17:53:51 by "bob" with gcc 4.2.1 Compatible FreeBSD Clang 3.4.1 (tags/RELEASE_34/dot1-final 208032)

time: Sat Nov 14 18:21:52 2015
elapsed time: 0 seconds (0d 0h 0m 0s)

所有软件包都是最新的并从源代码编译。所有与 Java 相关的东西都是新安装的(以及 Artifactory),并且默认配置未更改。

有什么想法吗?谢谢。

最佳答案

这似乎是内存分配的问题。 Artifactory启动脚本中定义的默认堆大小为2g,大于maximal heap 32 位 FreeBSD 机器上 JVM 可以分配的大小。
这种情况下的解决方案是将最大堆大小减少到约 1.5g。

关于installation - FreeBSD 上的 OpenJDK : "Given reserved space must have been reserved already",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33714688/

相关文章:

linux - 使用 Exagear 桌面将 XCTU 安装到 Raspbian Jessie

linux - 更改linux内核安装目录

linux - Linux中有没有类似NanoBSD的东西

npm - 为什么当 curl 可以 200 时 npm 说 404

python - Artifactory Conda 包返回 MD5 不匹配错误

php - 在 XP/IIS 5.1 上安装 PHP?

service - WiX ServiceControl在卸载时停止服务,但不要在安装时启动它

c - 为什么 cpp 告诉我 'undefined reference to mtx_init' ?我已经包含标题

c - `retry` 是 C 关键字

c++ - 对 C/C++ 开发人员的人工支持