草庐IT

java - 长时间运行的进程出现奇怪的 JVM 崩溃 - 可能是 JVM 错误

coder 2024-03-14 原文

我们已经使用 JavaFX 为 Mac 构建了一个应用程序,并将其分发给了客户。但过了几天,客户开始报告一个奇怪的行为:应用程序突然退出。 我们尝试重现该问题,但未能重现。

昨天晚上,我让应用程序过夜,今天早上,我可以复制它。 JVM 崩溃了,我有它的报告。我不明白的是,对于纯 Java 应用程序来说,出现这样的错误是极不可能的。有人可以帮忙吗?没有 JNI 或任何东西,一个纯 JavaFX 应用程序。必要信息:

Process:         MyApp [929]
Path:            /Applications/MyApp.app/Contents/MacOS/MyApp
Identifier:      unknown.com.bl.Main
Version:         1.0.0 (100)
Code Type:       X86-64 (Native)
Parent Process:  launchd [370]
User ID:         501

Date/Time:       2013-06-27 10:25:49.696 +0530
OS Version:      Mac OS X 10.8.2 (12C2034)
Report Version:  10
Sleep/Wake UUID: 6C566ED4-4A34-469E-BB90-4B9579C8C938

Interval Since Last Report:          1185921 sec
Crashes Since Last Report:           385
Per-App Interval Since Last Report:  19053 sec
Per-App Crashes Since Last Report:   1
Anonymous UUID:                      EE300CF5-752F-5C81-B166-6CFB0DC9FA0A

Crashed Thread:  26  CVDisplayLink

Exception Type:  EXC_BAD_ACCESS (SIGABRT)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000270

VM Regions Near 0x270:
-->
    __TEXT                 0000000106b59000-0000000106b5c000 [   12K] r-x/rwx SM=COW  /Applications/Pina.app/Contents/MacOS/Pina

Application Specific Information:
abort() called

Thread 26 Crashed:: CVDisplayLink
0   libsystem_kernel.dylib         0x00007fff92cf4212 __pthread_kill + 10
1   libsystem_c.dylib              0x00007fff90be1af4 pthread_kill + 90
2   libsystem_c.dylib              0x00007fff90c25dce abort + 143
3   libjvm.dylib                   0x0000000107072cff os::abort(bool) + 25
4   libjvm.dylib                   0x0000000107184ed9 VMError::report_and_die() + 2391
5   libjvm.dylib                   0x000000010707458f JVM_handle_bsd_signal + 1073
6   libsystem_c.dylib              0x00007fff90bce8ea _sigtramp + 26
7   libjvm.dylib                   0x00000001070c1fd8 SafepointSynchronize::block(JavaThread*) + 32
8   libjvm.dylib                   0x00000001071420c3 JavaThread::check_safepoint_and_suspend_for_native_trans(JavaThread*) + 193
9   libjvm.dylib                   0x0000000106dd75b3 ThreadStateTransition::trans_from_native(JavaThreadState) + 119
10  libjvm.dylib                   0x0000000106f31330 jni_CallVoidMethod + 139
11  libglass.dylib                 0x0000000160a368ae CVOutputCallback + 158
12  com.apple.CoreVideo            0x00007fff8ee4a03d CVDisplayLink::performIO(CVTimeStamp*) + 203
13  com.apple.CoreVideo            0x00007fff8ee492a4 CVDisplayLink::runIOThread() + 632
14  com.apple.CoreVideo            0x00007fff8ee49013 startIOThread(void*) + 148
15  libsystem_c.dylib              0x00007fff90be0742 _pthread_start + 327
16  libsystem_c.dylib              0x00007fff90bcd181 thread_start + 13

Thread 26 crashed with X86 Thread State (64-bit):
  rax: 0x0000000000000000  rbx: 0x0000000000000006  rcx: 0x0000000168a92a68  rdx: 0x0000000000000000
  rdi: 0x000000000000f063  rsi: 0x0000000000000006  rbp: 0x0000000168a92a90  rsp: 0x0000000168a92a68
   r8: 0x00007fff7ac75278   r9: 0x0000000168a92a40  r10: 0x0000000020000000  r11: 0x0000000000000206
  r12: 0x000000010746ffb0  r13: 0x00007fff8ee49dc6  r14: 0x0000000168a94000  r15: 0x000000010707655a
  rip: 0x00007fff92cf4212  rfl: 0x0000000000000206  cr2: 0x00007fff7ac6efe8

VM Region Summary:
ReadOnly portion of Libraries: Total=216.8M resident=137.1M(63%) swapped_out_or_unallocated=79.7M(37%)
Writable regions: Total=1.5G written=89.2M(6%) resident=169.3M(11%) swapped_out=0K(0%) unallocated=1.4G(89%)

REGION TYPE                      VIRTUAL
===========                      =======
(null) (reserved)                   1.2G        reserved VM address space (unallocated)
CG backing stores                  4620K
CG image                            380K
CG raster data                      116K
CG shared images                    192K
CoreAnimation                         8K
CoreImage                             8K
CoreServices                       2020K
IOKit                              33.7M
MALLOC                            117.9M
MALLOC guard page                    48K
MALLOC_LARGE (reserved)            10.6M        reserved VM address space (unallocated)
Memory tag=240                        4K
Memory tag=242                       12K
Memory tag=243                       12K
Memory tag=251                       20K
OpenCL                               52K
OpenGL GLSL                        1024K
STACK GUARD                        56.1M
Stack                              31.7M
VM_ALLOCATE                       128.5M
__DATA                             18.5M
__IMAGE                             528K
__LINKEDIT                         58.4M
__TEXT                            158.5M
__UNICODE                           544K
mapped file                        45.6M
shared memory                      31.4M
===========                      =======
TOTAL                               1.9G
TOTAL, minus reserved VM space    689.7M

Model: MacBookPro10,2, BootROM MBP102.0106.B01, 2 processors, Intel Core i5, 2.5 GHz, 8 GB, SMC 2.6f57
Graphics: Intel HD Graphics 4000, Intel HD Graphics 4000, Built-In, 768 MB
Memory Module: BANK 0/DIMM0, 4 GB, DDR3, 1600 MHz, 0x80AD, 0x484D5434314753364D465238432D50422020
Memory Module: BANK 1/DIMM0, 4 GB, DDR3, 1600 MHz, 0x80AD, 0x484D5434314753364D465238432D50422020
AirPort: spairport_wireless_card_type_airport_extreme (0x14E4, 0x10F), Broadcom BCM43xx 1.0 (5.106.98.100.14)
Bluetooth: Version 4.1.2f9 11046, 2 service, 18 devices, 1 incoming serial ports
Network Service: Wi-Fi, AirPort, en0
Serial ATA Device: APPLE SSD SM128E, 121.33 GB
USB Device: hub_device, 0x8087  (Intel Corporation), 0x0024, 0x1a100000 / 2
USB Device: FaceTime HD Camera (Built-in), apple_vendor_id, 0x8510, 0x1a110000 / 3
USB Device: hub_device, 0x8087  (Intel Corporation), 0x0024, 0x1d100000 / 2
USB Device: hub_device, 0x0424  (SMSC), 0x2512, 0x1d180000 / 3
USB Device: BRCM20702 Hub, 0x0a5c  (Broadcom Corp.), 0x4500, 0x1d181000 / 5
USB Device: Bluetooth USB Host Controller, apple_vendor_id, 0x828c, 0x1d181300 / 7
USB Device: Apple Internal Keyboard / Trackpad, apple_vendor_id, 0x025a, 0x1d182000 / 4
USB Device: USB Receiver, 0x046d  (Logitech Inc.), 0xc52f, 0x14100000 / 3
Logical CPU: 0

Please do let me know if any other information is needed.

如果你想要完整的日志文件,我可以提供。

最佳答案

您的应用程序正在接收堆栈跟踪中明显的信号:JVM_handle_bsd_signal

我不知道它是哪个信号,但你可以尝试安装信号处理程序来找出:http://www.oracle.com/technetwork/java/javase/signals-139944.html#gbzbl

想到的一些常见的事情是:

  • >
    • 应用程序是否设置了一些 ulimits?
  • 是否有其他任何崩溃,表明硬件错误?
  • 您是否尝试过使用其他 jvm 版本 - 一两个补丁可能会出现不同的行为

关于java - 长时间运行的进程出现奇怪的 JVM 崩溃 - 可能是 JVM 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17335711/

有关java - 长时间运行的进程出现奇怪的 JVM 崩溃 - 可能是 JVM 错误的更多相关文章

  1. ruby - 如何从 ruby​​ 中的字符串运行任意对象方法? - 2

    总的来说,我对ruby​​还比较陌生,我正在为我正在创建的对象编写一些rspec测试用例。许多测试用例都非常基础,我只是想确保正确填充和返回值。我想知道是否有办法使用循环结构来执行此操作。不必为我要测试的每个方法都设置一个assertEquals。例如:describeitem,"TestingtheItem"doit"willhaveanullvaluetostart"doitem=Item.new#HereIcoulddotheitem.name.shouldbe_nil#thenIcoulddoitem.category.shouldbe_nilendend但我想要一些方法来使用

  2. ruby-on-rails - Rails 常用字符串(用于通知和错误信息等) - 2

    大约一年前,我决定确保每个包含非唯一文本的Flash通知都将从模块中的方法中获取文本。我这样做的最初原因是为了避免一遍又一遍地输入相同的字符串。如果我想更改措辞,我可以在一个地方轻松完成,而且一遍又一遍地重复同一件事而出现拼写错误的可能性也会降低。我最终得到的是这样的:moduleMessagesdefformat_error_messages(errors)errors.map{|attribute,message|"Error:#{attribute.to_s.titleize}#{message}."}enddeferror_message_could_not_find(obje

  3. ruby - 如何以所有可能的方式将字符串拆分为长度最多为 3 的连续子字符串? - 2

    我试图获取一个长度在1到10之间的字符串,并输出将字符串分解为大小为1、2或3的连续子字符串的所有可能方式。例如:输入:123456将整数分割成单个字符,然后继续查找组合。该代码将返回以下所有数组。[1,2,3,4,5,6][12,3,4,5,6][1,23,4,5,6][1,2,34,5,6][1,2,3,45,6][1,2,3,4,56][12,34,5,6][12,3,45,6][12,3,4,56][1,23,45,6][1,2,34,56][1,23,4,56][12,34,56][123,4,5,6][1,234,5,6][1,2,345,6][1,2,3,456][123

  4. ruby - 如何每月在 Heroku 运行一次 Scheduler 插件? - 2

    在选择我想要运行操作的频率时,唯一的选项是“每天”、“每小时”和“每10分钟”。谢谢!我想为我的Rails3.1应用程序运行调度程序。 最佳答案 这不是一个优雅的解决方案,但您可以安排它每天运行,并在实际开始工作之前检查日期是否为当月的第一天。 关于ruby-如何每月在Heroku运行一次Scheduler插件?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/8692687/

  5. ruby - 检查 "command"的输出应该包含 NilClass 的意外崩溃 - 2

    为了将Cucumber用于命令行脚本,我按照提供的说明安装了arubagem。它在我的Gemfile中,我可以验证是否安装了正确的版本并且我已经包含了require'aruba/cucumber'在'features/env.rb'中为了确保它能正常工作,我写了以下场景:@announceScenario:Testingcucumber/arubaGivenablankslateThentheoutputfrom"ls-la"shouldcontain"drw"假设事情应该失败。它确实失败了,但失败的原因是错误的:@announceScenario:Testingcucumber/ar

  6. ruby-on-rails - 如何在 ruby​​ 中使用两个参数异步运行 exe? - 2

    exe应该在我打开页面时运行。异步进程需要运行。有什么方法可以在ruby​​中使用两个参数异步运行exe吗?我已经尝试过ruby​​命令-system()、exec()但它正在等待过程完成。我需要用参数启动exe,无需等待进程完成是否有任何ruby​​gems会支持我的问题? 最佳答案 您可以使用Process.spawn和Process.wait2:pid=Process.spawn'your.exe','--option'#Later...pid,status=Process.wait2pid您的程序将作为解释器的子进程执行。除

  7. ruby - 无法运行 Rails 2.x 应用程序 - 2

    我尝试运行2.x应用程序。我使用rvm并为此应用程序设置其他版本的ruby​​:$rvmuseree-1.8.7-head我尝试运行服务器,然后出现很多错误:$script/serverNOTE:Gem.source_indexisdeprecated,useSpecification.Itwillberemovedonorafter2011-11-01.Gem.source_indexcalledfrom/Users/serg/rails_projects_terminal/work_proj/spohelp/config/../vendor/rails/railties/lib/r

  8. ruby - 在 jRuby 中使用 'fork' 生成进程的替代方案? - 2

    在MRIRuby中我可以这样做:deftransferinternal_server=self.init_serverpid=forkdointernal_server.runend#Maketheserverprocessrunindependently.Process.detach(pid)internal_client=self.init_client#Dootherstuffwithconnectingtointernal_server...internal_client.post('somedata')ensure#KillserverProcess.kill('KILL',

  9. ruby - 通过 ruby​​ 进程共享变量 - 2

    我正在编写一个gem,我必须在其中fork两个启动两个webrick服务器的进程。我想通过基类的类方法启动这个服务器,因为应该只有这两个服务器在运行,而不是多个。在运行时,我想调用这两个服务器上的一些方法来更改变量。我的问题是,我无法通过基类的类方法访问fork的实例变量。此外,我不能在我的基类中使用线程,因为在幕后我正在使用另一个不是线程安全的库。所以我必须将每个服务器派生到它自己的进程。我用类变量试过了,比如@@server。但是当我试图通过基类访问这个变量时,它是nil。我读到在Ruby中不可能在分支之间共享类变量,对吗?那么,还有其他解决办法吗?我考虑过使用单例,但我不确定这是

  10. Ruby Readline 在向上箭头上使控制台崩溃 - 2

    当我在Rails控制台中按向上或向左箭头时,出现此错误:irb(main):001:0>/Users/me/.rvm/gems/ruby-2.0.0-p247/gems/rb-readline-0.4.2/lib/rbreadline.rb:4269:in`blockin_rl_dispatch_subseq':invalidbytesequenceinUTF-8(ArgumentError)我使用rvm来管理我的ruby​​安装。我正在使用=>ruby-2.0.0-p247[x86_64]我使用bundle来管理我的gem,并且我有rb-readline(0.4.2)(人们推荐的最少

随机推荐