首先,我要声明一下,我对 MATLAB 和 Linux 还很陌生,也许我遗漏了一些显而易见的东西,如果是这样的话,请耐心等待。
我被要求帮助数学系完成一个建模项目,所以我下载了所有代码,在我的计算机上安装了 matlab,经过一番折腾(必须安装一个名为“glu”的库)后,脚本本身实际上可以运行。我认为它正在尝试渲染一个图,但结果却导致系统崩溃,我无法使用 ctrl-alt-F(任何操作)访问其他 tty,过了一会儿,右上角出现了一个闪烁的光标,仍然无法执行任何操作,ctrl-alt-delete 什么都做不了。所以我按住电源按钮关闭了电脑。
我找到了崩溃转储,其中相当一部分是空的,有些确实有一些信息,这里是“matlab_crash_dump.4121-1”:
------------------------------------------------------------------------
Assertion detected at Sun Sep 18 17:13:44 2016
------------------------------------------------------------------------
Configuration:
Crash Decoding : Disabled
Crash Mode : continue (default)
Current Graphics Driver: Intel Open Source Technology Center Mesa DRI Intel(R) Sandybridge Mobile Version 3.0 Mesa 11.0.6
Current Visual : 0x47 (class 4, depth 24)
Default Encoding : UTF-8
GNU C Library : 2.22 stable
Host Name : q
Java Crash Report : /home/d/hs_error_pid4121.log
Java Log : /home/d/java.log.4121
MATLAB Architecture : glnxa64
MATLAB Root : /usr/local/MATLAB/R2016a
MATLAB Version : 9.0.0.341360 (R2016a)
OpenGL : hardware
Operating System : Linux 4.4.6-gentoo #6 SMP Sun Sep 18 16:32:36 MDT 2016 x86_64
Processor ID : x86 Family 6 Model 42 Stepping 7, GenuineIntel
Virtual Machine : Java 1.7.0_60-b19 with Oracle Corporation Java HotSpot(TM) 64-Bit Server VM mixed mode
Window System : The X.Org Foundation (11704000), display :0
Fault Count: 1
Assertion in void {anonymous}::mwJavaAbort() at javainit.cpp line 1389:
Fatal Java Exception. See Java Crash Report for details.
Register State (captured):
RAX = 00007f22a75e21e0 RBX = 00007f2329790878
RCX = 0000000000000000 RDX = 00007f2329770c20
RSP = 00007f22a75e2100 RBP = 00007f22a75e24c0
RSI = 00007f23295273b8 RDI = 00007f22a75e2110
R8 = 0000000000000000 R9 = 00007f230ec258e0
R10 = 0000000000000000 R11 = 000000000000000f
R12 = 00007f230ec251bb R13 = 00007f230ec258e0
R14 = 00007f23297807e8 R15 = 00007f22a75e2d30
RIP = 00007f232949459e EFL = 00007f232fa03500
CS = f0b8 FS = 2939 GS = 7f23
Stack Trace (captured):
[ 0] 0x00007f232949459e /usr/local/MATLAB/R2016a/bin/glnxa64/libmwfl.so+01082782 _ZN2fl4diag5linux6x86_6412context_base12capture_dataEv+00000030
[ 1] 0x00007f2329490541 /usr/local/MATLAB/R2016a/bin/glnxa64/libmwfl.so+01066305
[ 2] 0x00007f2329491bd0 /usr/local/MATLAB/R2016a/bin/glnxa64/libmwfl.so+01072080
[ 3] 0x00007f2329491c42 /usr/local/MATLAB/R2016a/bin/glnxa64/libmwfl.so+01072194
[ 4] 0x00007f230ebe675a /usr/local/MATLAB/R2016a/bin/glnxa64/libmwjmi.so+01099610
[ 5] 0x00007f230d8298bb /usr/local/MATLAB/R2016a/sys/java/jre/glnxa64/jre/lib/amd64/server/libjvm.so+08513723
[ 6] 0x00007f230d6599f2 /usr/local/MATLAB/R2016a/sys/java/jre/glnxa64/jre/lib/amd64/server/libjvm.so+06613490
[ 7] 0x00007f21f308ac02 /usr/local/MATLAB/R2016a/bin/glnxa64/libnativewindow_x11.so+00011266 NativewindowCommon_FatalError+00000268
[ 8] 0x00007f21f308b95a /usr/local/MATLAB/R2016a/bin/glnxa64/libnativewindow_x11.so+00014682
[ 9] 0x00007f232275edde /usr/lib64/libX11.so.6+00282078 _XIOError+00000078
[ 10] 0x00007f232275cebb /usr/lib64/libX11.so.6+00274107 _XReply+00001019
[ 11] 0x00007f2322743cb7 /usr/lib64/libX11.so.6+00171191 _XGetWindowAttributes+00000183
[ 12] 0x00007f2322743e31 /usr/lib64/libX11.so.6+00171569 XGetWindowAttributes+00000049
[ 13] 0x00007f22e16a3c44 /usr/local/MATLAB/R2016a/sys/java/jre/glnxa64/jre/lib/amd64/xawt/libmawt.so+00109636
[ 14] 0x00007f22e19112f6 /usr/local/MATLAB/R2016a/sys/java/jre/glnxa64/jre/lib/amd64/libawt.so+00209654 Java_sun_java2d_loops_Blit_Blit+00000534
[ 15] 0x00007f22fd012d98 <unknown-module>+00000000
[ 16] 0x00007f22fd006058 <unknown-module>+00000000
[ 17] 0x00007f22fd006058 <unknown-module>+00000000
[ 18] 0x00007f22fd006350 <unknown-module>+00000000
[ 19] 0x00007f22fd006350 <unknown-module>+00000000
[ 20] 0x00007f22fd0069fe <unknown-module>+00000000
[ 21] 0x00007f22fd0069fe <unknown-module>+00000000
[ 22] 0x00007f22fd006350 <unknown-module>+00000000
[ 23] 0x00007f22fd006350 <unknown-module>+00000000
[ 24] 0x00007f22fd006350 <unknown-module>+00000000
[ 25] 0x00007f22fd006706 <unknown-module>+00000000
[ 26] 0x00007f22fd006058 <unknown-module>+00000000
[ 27] 0x00007f22fd006058 <unknown-module>+00000000
[ 28] 0x00007f22fd006058 <unknown-module>+00000000
[ 29] 0x00007f22fd006058 <unknown-module>+00000000
[ 30] 0x00007f22fd006058 <unknown-module>+00000000
[ 31] 0x00007f22fd006058 <unknown-module>+00000000
[ 32] 0x00007f22fd006058 <unknown-module>+00000000
[ 33] 0x00007f22fd006058 <unknown-module>+00000000
[ 34] 0x00007f22fd006058 <unknown-module>+00000000
[ 35] 0x00007f22fd006058 <unknown-module>+00000000
[ 36] 0x00007f22fd006058 <unknown-module>+00000000
[ 37] 0x00007f22fd006058 <unknown-module>+00000000
[ 38] 0x00007f22fd006058 <unknown-module>+00000000
[ 39] 0x00007f22fd006058 <unknown-module>+00000000
[ 40] 0x00007f22fd006058 <unknown-module>+00000000
[ 41] 0x00007f22fd006706 <unknown-module>+00000000
[ 42] 0x00007f22fd006058 <unknown-module>+00000000
[ 43] 0x00007f22fd006058 <unknown-module>+00000000
[ 44] 0x00007f22fd006058 <unknown-module>+00000000
[ 45] 0x00007f22fd006058 <unknown-module>+00000000
[ 46] 0x00007f22fd006058 <unknown-module>+00000000
[ 47] 0x00007f22fd006058 <unknown-module>+00000000
[ 48] 0x00007f22fd006233 <unknown-module>+00000000
[ 49] 0x00007f22fd0004e7 <unknown-module>+00000000
[ 50] 0x00007f230d60a8f5 /usr/local/MATLAB/R2016a/sys/java/jre/glnxa64/jre/lib/amd64/server/libjvm.so+06289653
[ 51] 0x00007f230d609358 /usr/local/MATLAB/R2016a/sys/java/jre/glnxa64/jre/lib/amd64/server/libjvm.so+06284120
[ 52] 0x00007f230d68fc74 /usr/local/MATLAB/R2016a/sys/java/jre/glnxa64/jre/lib/amd64/server/libjvm.so+06835316 JVM_DoPrivileged+00000676
[ 53] 0x00007f22fd012d98 <unknown-module>+00000000
[ 54] 0x00007f22fd006233 <unknown-module>+00000000
[ 55] 0x00007f22fd006233 <unknown-module>+00000000
[ 56] 0x00007f22fd0068e1 <unknown-module>+00000000
[ 57] 0x00007f22fd006233 <unknown-module>+00000000
[ 58] 0x00007f22fd0004e7 <unknown-module>+00000000
[ 59] 0x00007f230d60a8f5 /usr/local/MATLAB/R2016a/sys/java/jre/glnxa64/jre/lib/amd64/server/libjvm.so+06289653
[ 60] 0x00007f230d609358 /usr/local/MATLAB/R2016a/sys/java/jre/glnxa64/jre/lib/amd64/server/libjvm.so+06284120
[ 61] 0x00007f230d68fc74 /usr/local/MATLAB/R2016a/sys/java/jre/glnxa64/jre/lib/amd64/server/libjvm.so+06835316 JVM_DoPrivileged+00000676
[ 62] 0x00007f22fd012d98 <unknown-module>+00000000
[ 63] 0x00007f22fd006233 <unknown-module>+00000000
[ 64] 0x00007f22fd0068e1 <unknown-module>+00000000
[ 65] 0x00007f22fd006058 <unknown-module>+00000000
[ 66] 0x00007f22fd006058 <unknown-module>+00000000
[ 67] 0x00007f22fd006058 <unknown-module>+00000000
[ 68] 0x00007f22fd006058 <unknown-module>+00000000
[ 69] 0x00007f22fd006058 <unknown-module>+00000000
[ 70] 0x00007f22fd006058 <unknown-module>+00000000
[ 71] 0x00007f22fd0004e7 <unknown-module>+00000000
[ 72] 0x00007f230d60a8f5 /usr/local/MATLAB/R2016a/sys/java/jre/glnxa64/jre/lib/amd64/server/libjvm.so+06289653
[ 73] 0x00007f230d609358 /usr/local/MATLAB/R2016a/sys/java/jre/glnxa64/jre/lib/amd64/server/libjvm.so+06284120
[ 74] 0x00007f230d609627 /usr/local/MATLAB/R2016a/sys/java/jre/glnxa64/jre/lib/amd64/server/libjvm.so+06284839
[ 75] 0x00007f230d609747 /usr/local/MATLAB/R2016a/sys/java/jre/glnxa64/jre/lib/amd64/server/libjvm.so+06285127
[ 76] 0x00007f230d6861d5 /usr/local/MATLAB/R2016a/sys/java/jre/glnxa64/jre/lib/amd64/server/libjvm.so+06795733
[ 77] 0x00007f230d963bdf /usr/local/MATLAB/R2016a/sys/java/jre/glnxa64/jre/lib/amd64/server/libjvm.so+09800671
[ 78] 0x00007f230d963ce5 /usr/local/MATLAB/R2016a/sys/java/jre/glnxa64/jre/lib/amd64/server/libjvm.so+09800933
[ 79] 0x00007f230d82a7f8 /usr/local/MATLAB/R2016a/sys/java/jre/glnxa64/jre/lib/amd64/server/libjvm.so+08517624
[ 80] 0x00007f232d73d494 /lib64/libpthread.so.0+00029844
[ 81] 0x00007f232d4825dd /lib64/libc.so.6+00955869 clone+00000109
[ 82] 0x0000000000000000 <unknown-module>+00000000
If this problem is reproducible, please submit a Service Request via:
http://www.mathworks.com/support/contact_us/
A technical support engineer might contact you with further information.
Thank you for your help.
这是对应的“java.log.4121”
Operating System: Linux 4.4.6-gentoo #6 SMP Sun Sep 18 16:32:36 MDT 2016 x86_64
Processor ID: x86 Family 6 Model 42 Stepping 7, GenuineIntel
Host Name: q
FATAL ERROR in native method: Nativewindow X11 IOError: Display 0x7f230b054450 (:0): Resource temporarily unavailable
at sun.java2d.loops.Blit.Blit(Native Method)
at sun.java2d.pipe.DrawImage.blitSurfaceData(Unknown Source)
at sun.java2d.pipe.DrawImage.renderImageCopy(Unknown Source)
at sun.java2d.pipe.DrawImage.copyImage(Unknown Source)
at sun.java2d.pipe.DrawImage.copyImage(Unknown Source)
at sun.java2d.pipe.ValidatePipe.copyImage(Unknown Source)
at sun.java2d.SunGraphics2D.copyImage(Unknown Source)
at sun.java2d.SunGraphics2D.drawImage(Unknown Source)
at sun.java2d.SunGraphics2D.drawImage(Unknown Source)
at com.jogamp.opengl.awt.GLJPanel$OffscreenBackend.doPaintComponent(GLJPanel.java:2101)
at com.jogamp.opengl.awt.GLJPanel.paintComponent(GLJPanel.java:568)
at com.mathworks.hg.peer.JavaSceneServerGLJPanel.paintComponent(JavaSceneServerGLJPanel.java:147)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
- locked <0x00000000e81d1210> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
- locked <0x00000000e81d1210> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(Unknown Source)
at java.awt.GraphicsCallback$PaintCallback.run(Unknown Source)
at sun.awt.SunGraphicsCallback.runOneComponent(Unknown Source)
at sun.awt.SunGraphicsCallback.runComponents(Unknown Source)
at java.awt.Container.paint(Unknown Source)
at java.awt.Window.paint(Unknown Source)
at sun.awt.RepaintArea.paintComponent(Unknown Source)
at sun.awt.X11.XRepaintArea.paintComponent(Unknown Source)
at sun.awt.RepaintArea.paint(Unknown Source)
at sun.awt.X11.XComponentPeer.handleEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$200(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
此时我很确定这是一个图形问题,我也尝试过 opengl 软件渲染。项目主管表示内核可能存在问题,因为它会破坏我的整个系统,此时他希望我切换到不同的环境,这样我们就可以继续前进,尽管我仍然想知道这里的 gentoo 发生了什么。
我在想的一件事是,我没有桌面环境,只有一个平铺窗口管理器(awesome 3.5),我不知道这是否会引起问题,只是一个想法
以下是我正在处理的内容:
Matlab2016a
很棒 3.5
gentoo-4.4.6
英特尔 2760M
Quadro 2000M(我不认为它使用这个)
20GB 内存
以及这些部件的标准驱动程序
如果您还有其他需要,请告诉我。