我们已经使用 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
想到的一些常见的事情是:
关于java - 长时间运行的进程出现奇怪的 JVM 崩溃 - 可能是 JVM 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17335711/
总的来说,我对ruby还比较陌生,我正在为我正在创建的对象编写一些rspec测试用例。许多测试用例都非常基础,我只是想确保正确填充和返回值。我想知道是否有办法使用循环结构来执行此操作。不必为我要测试的每个方法都设置一个assertEquals。例如:describeitem,"TestingtheItem"doit"willhaveanullvaluetostart"doitem=Item.new#HereIcoulddotheitem.name.shouldbe_nil#thenIcoulddoitem.category.shouldbe_nilendend但我想要一些方法来使用
大约一年前,我决定确保每个包含非唯一文本的Flash通知都将从模块中的方法中获取文本。我这样做的最初原因是为了避免一遍又一遍地输入相同的字符串。如果我想更改措辞,我可以在一个地方轻松完成,而且一遍又一遍地重复同一件事而出现拼写错误的可能性也会降低。我最终得到的是这样的:moduleMessagesdefformat_error_messages(errors)errors.map{|attribute,message|"Error:#{attribute.to_s.titleize}#{message}."}enddeferror_message_could_not_find(obje
我试图获取一个长度在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
在选择我想要运行操作的频率时,唯一的选项是“每天”、“每小时”和“每10分钟”。谢谢!我想为我的Rails3.1应用程序运行调度程序。 最佳答案 这不是一个优雅的解决方案,但您可以安排它每天运行,并在实际开始工作之前检查日期是否为当月的第一天。 关于ruby-如何每月在Heroku运行一次Scheduler插件?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/8692687/
为了将Cucumber用于命令行脚本,我按照提供的说明安装了arubagem。它在我的Gemfile中,我可以验证是否安装了正确的版本并且我已经包含了require'aruba/cucumber'在'features/env.rb'中为了确保它能正常工作,我写了以下场景:@announceScenario:Testingcucumber/arubaGivenablankslateThentheoutputfrom"ls-la"shouldcontain"drw"假设事情应该失败。它确实失败了,但失败的原因是错误的:@announceScenario:Testingcucumber/ar
exe应该在我打开页面时运行。异步进程需要运行。有什么方法可以在ruby中使用两个参数异步运行exe吗?我已经尝试过ruby命令-system()、exec()但它正在等待过程完成。我需要用参数启动exe,无需等待进程完成是否有任何rubygems会支持我的问题? 最佳答案 您可以使用Process.spawn和Process.wait2:pid=Process.spawn'your.exe','--option'#Later...pid,status=Process.wait2pid您的程序将作为解释器的子进程执行。除
我尝试运行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
在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',
我正在编写一个gem,我必须在其中fork两个启动两个webrick服务器的进程。我想通过基类的类方法启动这个服务器,因为应该只有这两个服务器在运行,而不是多个。在运行时,我想调用这两个服务器上的一些方法来更改变量。我的问题是,我无法通过基类的类方法访问fork的实例变量。此外,我不能在我的基类中使用线程,因为在幕后我正在使用另一个不是线程安全的库。所以我必须将每个服务器派生到它自己的进程。我用类变量试过了,比如@@server。但是当我试图通过基类访问这个变量时,它是nil。我读到在Ruby中不可能在分支之间共享类变量,对吗?那么,还有其他解决办法吗?我考虑过使用单例,但我不确定这是
当我在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)(人们推荐的最少