我在 Ubuntu 12.10 上进行 3D 绘图时遇到问题。在我尝试以 3D 方式绘制数据后立即发生崩溃。我在这里有崩溃转储和其他错误报告:
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/tls/nouveau_dri.so
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so
libGL error: dlopen /usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so failed (/home/jonne/MATLAB/R2012a/bin/glnxa64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so))
libGL: OpenDriver: trying ${ORIGIN}/dri/tls/nouveau_dri.so
libGL: OpenDriver: trying ${ORIGIN}/dri/nouveau_dri.so
libGL error: dlopen ${ORIGIN}/dri/nouveau_dri.so failed (${ORIGIN}/dri/nouveau_dri.so: cannot open shared object file: No such file or directory)
libGL: OpenDriver: trying /usr/lib/dri/tls/nouveau_dri.so
libGL: OpenDriver: trying /usr/lib/dri/nouveau_dri.so
libGL error: dlopen /usr/lib/dri/nouveau_dri.so failed (/usr/lib/dri/nouveau_dri.so: cannot open shared object file: No such file or directory)
libGL error: unable to load driver: nouveau_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: nouveau
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
libGL error: dlopen /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so failed (/home/jonne/MATLAB/R2012a/bin/glnxa64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /usr/lib/x86_64-linux-gnu/libLLVM-3.1.so.1))
libGL: OpenDriver: trying ${ORIGIN}/dri/tls/swrast_dri.so
libGL: OpenDriver: trying ${ORIGIN}/dri/swrast_dri.so
libGL error: dlopen ${ORIGIN}/dri/swrast_dri.so failed (${ORIGIN}/dri/swrast_dri.so: cannot open shared object file: No such file or directory)
libGL: OpenDriver: trying /usr/lib/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /usr/lib/dri/swrast_dri.so
libGL error: dlopen /usr/lib/dri/swrast_dri.so failed (/usr/lib/dri/swrast_dri.so: cannot open shared object file: No such file or directory)
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
崩溃转储:
------------------------------------------------------------------------
Segmentation violation detected at Wed Dec 19 02:17:00 2012
------------------------------------------------------------------------
Configuration:
Crash Decoding : Disabled
Current Visual : 0x21 (class 4, depth 24)
Default Encoding: UTF-8
GNU C Library : 2.15 stable
MATLAB Root : /home/jonne/MATLAB/R2012a
MATLAB Version : 7.14.0.739 (R2012a)
Operating System: Linux 3.5.0-19-generic #30-Ubuntu SMP Tue Nov 13 17:48:01 UTC 2012 x86_64
Processor ID : x86 Family 31 Model 6 Stepping 2, AuthenticAMD
Virtual Machine : Java 1.6.0_17-b04 with Sun Microsystems Inc. Java HotSpot(TM) 64-Bit Server VM mixed mode
Window System : The X.Org Foundation (11300000), display :0.0
Fault Count: 1
Abnormal termination:
Segmentation violation
Register State (from fault):
RAX = 0000000000000000 RBX = 0000000000000000
RCX = 0000000000000000 RDX = 00007fb9ac068658
RSP = 00007fb9bb8e38e8 RBP = 00000000009a0005
RSI = 0000000000000000 RDI = 0000000000000000
R8 = 00007fb9ac068680 R9 = 0000000000000000
R10 = 0000000000000000 R11 = 0000000000000000
R12 = 0000000000001f02 R13 = 0000000000000000
R14 = 00007fb9c6b797d0 R15 = 0000000000000000
RIP = 00007fb973df6d00 EFL = 0000000000010206
CS = 0033 FS = 0000 GS = 0000
Stack Trace (from fault):
[ 0] 0x00007fb9d09f592e /home/jonne/MATLAB/R2012a/bin/glnxa64/libmwfl.so+00370990 _ZN2fl4diag15stacktrace_base7captureERKNS0_14thread_contextEm+000158
[ 1] 0x00007fb9d09f87d0 /home/jonne/MATLAB/R2012a/bin/glnxa64/libmwfl.so+00382928
[ 2] 0x00007fb9d09f8b3b /home/jonne/MATLAB/R2012a/bin/glnxa64/libmwfl.so+00383803 _ZN2fl4diag13terminate_logEPKcRKNS0_14thread_contextE+000171
[ 3] 0x00007fb9cf8dc203 /home/jonne/MATLAB/R2012a/bin/glnxa64/libmwmcr.so+01253891 _ZN2fl4diag13terminate_logEPKcPK8ucontext+000067
[ 4] 0x00007fb9cf8d90fd /home/jonne/MATLAB/R2012a/bin/glnxa64/libmwmcr.so+01241341
[ 5] 0x00007fb9cf8da79d /home/jonne/MATLAB/R2012a/bin/glnxa64/libmwmcr.so+01247133
[ 6] 0x00007fb9cf8da925 /home/jonne/MATLAB/R2012a/bin/glnxa64/libmwmcr.so+01247525
[ 7] 0x00007fb9cf8daf01 /home/jonne/MATLAB/R2012a/bin/glnxa64/libmwmcr.so+01249025
[ 8] 0x00007fb9cf8db3f5 /home/jonne/MATLAB/R2012a/bin/glnxa64/libmwmcr.so+01250293
[ 9] 0x00007fb9cdfa2cb0 /lib/x86_64-linux-gnu/libpthread.so.0+00064688
[ 10] 0x00007fb973df6d00 /usr/lib/x86_64-linux-gnu/libxcb-glx.so.0+00056576 xcb_glx_get_string_string_length+000000
[ 11] 0x00007fb97c98a6b4 /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1+00272052 __glXGetString+000068
[ 12] 0x00007fb97c98812e /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1+00262446
[ 13] 0x00007fb97cbbf379 /home/jonne/MATLAB/R2012a/bin/glnxa64/glren.so+00078713
[ 14] 0x00007fb97cbb6b40 /home/jonne/MATLAB/R2012a/bin/glnxa64/glren.so+00043840
[ 15] 0x00007fb97cbb6cc6 /home/jonne/MATLAB/R2012a/bin/glnxa64/glren.so+00044230
[ 16] 0x00007fb9c68d30a8 /home/jonne/MATLAB/R2012a/bin/glnxa64/libmwhg.so+09408680 _Z22OpenGLSetupEnumstrOnceb+000296
[ 17] 0x00007fb9c6827ac7 /home/jonne/MATLAB/R2012a/bin/glnxa64/libmwhg.so+08706759 gf_DetermineBestRenderMode+000183
[ 18] 0x00007fb9c6827c0b /home/jonne/MATLAB/R2012a/bin/glnxa64/libmwhg.so+08707083 _Z22gf_DetermineRenderModeP11GObject_tagi+000107
[ 19] 0x00007fb9c6827d0a /home/jonne/MATLAB/R2012a/bin/glnxa64/libmwhg.so+08707338 InitializeFigureRenderEngine+000074
[ 20] 0x00007fb9c6828114 /home/jonne/MATLAB/R2012a/bin/glnxa64/libmwhg.so+08708372
[ 21] 0x00007fb9c689418c /home/jonne/MATLAB/R2012a/bin/glnxa64/libmwhg.so+09150860
[ 22] 0x00007fb9c684a89b /home/jonne/MATLAB/R2012a/bin/glnxa64/libmwhg.so+08849563 _Z24commitHG1DatabaseUpdatesb+000235
[ 23] 0x00007fb9d0157e16 /home/jonne/MATLAB/R2012a/bin/glnxa64/libmwservices.so+01359382 _Z26svWS_CommitDatabaseUpdates28svCommitDatabaseUpdatesType_+000390
[ 24] 0x00007fb9c5030387 /home/jonne/MATLAB/R2012a/bin/glnxa64/libmwuix.so+00525191
[ 25] 0x00007fb9c5030691 /home/jonne/MATLAB/R2012a/bin/glnxa64/libmwuix.so+00525969
[ 26] 0x00007fb9cfb476eb /home/jonne/MATLAB/R2012a/bin/glnxa64/libmwbridge.so+00124651
[ 27] 0x00007fb9cfb47cde /home/jonne/MATLAB/R2012a/bin/glnxa64/libmwbridge.so+00126174 _Z10ioReadLinebP8_IO_FILEPcS1_iPbRKN5boost8optionalIKP15inWorkSpace_tagEEb+000990
[ 28] 0x00007fb9cfb48165 /home/jonne/MATLAB/R2012a/bin/glnxa64/libmwbridge.so+00127333
[ 29] 0x00007fb9cfb4cd0a /home/jonne/MATLAB/R2012a/bin/glnxa64/libmwbridge.so+00146698
[ 30] 0x00007fb9cfb4d165 /home/jonne/MATLAB/R2012a/bin/glnxa64/libmwbridge.so+00147813
[ 31] 0x00007fb9cfb4d9ce /home/jonne/MATLAB/R2012a/bin/glnxa64/libmwbridge.so+00149966 mnParser+000702
[ 32] 0x00007fb9cf8c0de2 /home/jonne/MATLAB/R2012a/bin/glnxa64/libmwmcr.so+01142242 _ZN11mcrInstance30mnParser_on_interpreter_threadEv+000034
[ 33] 0x00007fb9cf8a351a /home/jonne/MATLAB/R2012a/bin/glnxa64/libmwmcr.so+01021210
[ 34] 0x00007fb9cf8a3598 /home/jonne/MATLAB/R2012a/bin/glnxa64/libmwmcr.so+01021336
[ 35] 0x00007fb9c5021376 /home/jonne/MATLAB/R2012a/bin/glnxa64/libmwuix.so+00463734
[ 36] 0x00007fb9c502b862 /home/jonne/MATLAB/R2012a/bin/glnxa64/libmwuix.so+00505954
[ 37] 0x00007fb9d01599a1 /home/jonne/MATLAB/R2012a/bin/glnxa64/libmwservices.so+01366433 _ZSt8for_eachIN9__gnu_cxx17__normal_iteratorIPN5boost8weak_ptrIN4sysq10ws_ppeHookEEESt6vectorIS6_SaIS6_EEEENS4_8during_FIS6_NS2_10shared_ptrIS5_EEEEET0_T_SH_SG_+000081
[ 38] 0x00007fb9d015aaab /home/jonne/MATLAB/R2012a/bin/glnxa64/libmwservices.so+01370795
[ 39] 0x00007fb9d01585f9 /home/jonne/MATLAB/R2012a/bin/glnxa64/libmwservices.so+01361401 _Z25svWS_ProcessPendingEventsiib+000665
[ 40] 0x00007fb9cf8a276f /home/jonne/MATLAB/R2012a/bin/glnxa64/libmwmcr.so+01017711
[ 41] 0x00007fb9cf8a2c3b /home/jonne/MATLAB/R2012a/bin/glnxa64/libmwmcr.so+01018939
[ 42] 0x00007fb9cf8a2d97 /home/jonne/MATLAB/R2012a/bin/glnxa64/libmwmcr.so+01019287
[ 43] 0x00007fb9cdf9ae9a /lib/x86_64-linux-gnu/libpthread.so.0+00032410
[ 44] 0x00007fb9cdcc7cbd /lib/x86_64-linux-gnu/libc.so.6+00998589 clone+000109
有谁知道我应该怎么做才能完成这项工作? 2D 绘图有效,但 3D 无效...
谢谢!
最佳答案
您使用的是什么渲染器?您可以发布脚本的代码片段吗?
首先尝试创建图形,然后指定渲染器。例如,
figure('renderer','zbuffer')
例如,与 opengl
或 painters
相比,我对 zbuffer
渲染器的运气更好。事实上,在我的启动脚本中,我确保我打开的每个图形窗口都使用 zbuffer - 我发现它的渲染速度要快得多,随机崩溃的问题也更少。
参见:http://www.mathworks.com.au/help/matlab/ref/figure_props.html
Renderer painters | zbuffer | OpenGL
Rendering method used for screen and printing. Selects the method used to render MATLAB graphics. The choices are:
painters — The original rendering method used by MATLAB is faster when the figure contains only simple or small graphics objects.
zbuffer — MATLAB draws graphics objects faster and more accurately because it colors objects on a per-pixel basis and MATLAB renders only those pixels that are visible in the scene (thus eliminating front-to-back sorting errors). Note that this method can consume a lot of system memory if MATLAB is displaying a complex scene.
OpenGL — OpenGL is a renderer that is available on many computer systems. This renderer is generally faster than painters or zbuffer and in some cases enables MATLAB to access graphics hardware that is available on some systems.
关于在 Ubuntu 12.10 上尝试 3D 图形时 Matlab R2012a 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13943896/