Segmentation violation, is this a memory leak or another issue?

1 view (last 30 days)
I am working on a series of visual GUI's used to visualize a 3d stack of scan images on a cube or as a series of descrete points of color. I am having an issue where Matlab will crash, seemingly at random, when the user attempts to make a rotation using the built in rotate3d function which is activated by a toggle button and turned off/locked out during rendering. The dump file is as follows.
------------------------------------------------------------------------
Segmentation violation detected at Wed Jul 10 15:51:12 2013
------------------------------------------------------------------------
Configuration:
Crash Decoding : Disabled
Default Encoding: windows-1252
MATLAB Root : C:\Program Files\MATLAB\R2012a
MATLAB Version : 7.14.0.739 (R2012a)
Operating System: Microsoft Windows 7
Processor ID : x86 Family 6 Model 42 Stepping 7, GenuineIntel
Virtual Machine : Java 1.6.0_17-b04 with Sun Microsystems Inc. Java HotSpot(TM) 64-Bit Server VM mixed mode
Window System : Version 6.1 (Build 7601: Service Pack 1)
Fault Count: 1
Abnormal termination:
Segmentation violation
Register State (from fault):
RAX = 0000000000000001 RBX = 0000000063d93cd0
RCX = 000000006330a550 RDX = 0000000063d93cd0
RSP = 000000000407a4e0 RBP = 0000000063d93cd0
RSI = 000000006330a550 RDI = 0000000000000000
R8 = 000d39aa02420021 R9 = 000d39ab036e0022
R10 = 000000000cfa9850 R11 = 0000000064f4ccd8
R12 = 000000000ce9ce01 R13 = 000000000000000c
R14 = 000000000407a700 R15 = 0000000000000002
RIP = 0000000079e9724c EFL = 00010202
CS = 0033 FS = 0053 GS = 002b
Stack Trace (from fault):
[ 0] 0x0000000079e9724c C:\Program Files\MATLAB\R2012a\bin\win64\glren.dll+00094796 ( GLRenderEngineRegister+011068 )
[ 1] 0x0000000079e97a16 C:\Program Files\MATLAB\R2012a\bin\win64\glren.dll+00096790 ( GLRenderEngineRegister+013062 )
[ 2] 0x0000000064f2550b C:\Program Files\MATLAB\R2012a\bin\win64\udd.dll+00218379 ( udiCreateDestroyListener+000299 )
[ 3] 0x0000000064f1bb98 C:\Program Files\MATLAB\R2012a\bin\win64\udd.dll+00179096 ( uddSetListenerRecursionWarning+000680 )
[ 4] 0x0000000064f1c1fc C:\Program Files\MATLAB\R2012a\bin\win64\udd.dll+00180732 ( UDListenerManagerHost::notifyEvent+000076 )
[ 5] 0x0000000064f17e5c C:\Program Files\MATLAB\R2012a\bin\win64\udd.dll+00163420 ( UDInterface::notifyPropEvent+000092 )
[ 6] 0x0000000060944d1f C:\Program Files\MATLAB\R2012a\bin\win64\hg.dll+00281887 ( get_figure_CurrentRenderer+000527 )
[ 7] 0x000000006099165c C:\Program Files\MATLAB\R2012a\bin\win64\hg.dll+00595548 ( gf_RenderEngine+000988 )
[ 8] 0x00000000609922e0 C:\Program Files\MATLAB\R2012a\bin\win64\hg.dll+00598752 ( gf_WinSysBitDataFromRenderBuffer+000320 )
[ 9] 0x00000000609961f9 C:\Program Files\MATLAB\R2012a\bin\win64\hg.dll+00614905 ( FigureHandleHGPeerQueue+011097 )
[ 10] 0x0000000060cdf942 C:\Program Files\MATLAB\R2012a\bin\win64\hg.dll+04061506 ( deleteUpdateListener+000130 )
[ 11] 0x00000000609b5b2c C:\Program Files\MATLAB\R2012a\bin\win64\hg.dll+00744236 ( get_root_CurrentFigureHiddenHandle_array+002588 )
[ 12] 0x000000007bf81555 C:\Program Files\MATLAB\R2012a\bin\win64\libmwservices.dll+00726357 ( sysq::addCommitDatabaseUpdateHook+001957 )
[ 13] 0x0000000004ffc7bb C:\Program Files\MATLAB\R2012a\bin\win64\uiw.dll+00378811 ( UIW_IsUserMessage+000699 )
[ 14] 0x0000000004fd8058 C:\Program Files\MATLAB\R2012a\bin\win64\uiw.dll+00229464 ( win_sleep+000472 )
[ 15] 0x0000000079fba879 C:\Program Files\MATLAB\R2012a\bin\win64\libmwbridge.dll+00043129 ( ioCmdLineEditSave+001001 )
[ 16] 0x0000000079fbc3fa C:\Program Files\MATLAB\R2012a\bin\win64\libmwbridge.dll+00050170 ( ioCmdLineEditSave+008042 )
[ 17] 0x0000000079fbc809 C:\Program Files\MATLAB\R2012a\bin\win64\libmwbridge.dll+00051209 ( ioReadLine+000153 )
[ 18] 0x0000000079fbca35 C:\Program Files\MATLAB\R2012a\bin\win64\libmwbridge.dll+00051765 ( ioReadLine+000709 )
[ 19] 0x0000000079fc0840 C:\Program Files\MATLAB\R2012a\bin\win64\libmwbridge.dll+00067648 ( QueryMLFcnTable_libmwbridge+001328 )
[ 20] 0x0000000079fc126a C:\Program Files\MATLAB\R2012a\bin\win64\libmwbridge.dll+00070250 ( mnInitializeParser+001626 )
[ 21] 0x0000000079fc1711 C:\Program Files\MATLAB\R2012a\bin\win64\libmwbridge.dll+00071441 ( mnParser+000305 )
[ 22] 0x00000000047c4164 C:\Program Files\MATLAB\R2012a\bin\win64\mcr.dll+00541028 ( mcrInstance::mnParser_on_interpreter_thread+000036 )
[ 23] 0x00000000047a6a6f C:\Program Files\MATLAB\R2012a\bin\win64\mcr.dll+00420463 ( DepfunRules::postWarning+029263 )
[ 24] 0x00000000047a6ad1 C:\Program Files\MATLAB\R2012a\bin\win64\mcr.dll+00420561 ( DepfunRules::postWarning+029361 )
[ 25] 0x0000000004ffc556 C:\Program Files\MATLAB\R2012a\bin\win64\uiw.dll+00378198 ( UIW_IsUserMessage+000086 )
[ 26] 0x0000000004ffcbd4 C:\Program Files\MATLAB\R2012a\bin\win64\uiw.dll+00379860 ( ws_ProcessOneEventBlocking+001028 )
[ 27] 0x00000000774d87fe C:\Windows\system32\USER32.dll+00165886 ( GetMenuBarInfo+000638 )
[ 28] 0x00000000774bf5fb C:\Windows\system32\USER32.dll+00062971 ( SystemParametersInfoW+000235 )
[ 29] 0x00000000774c4895 C:\Windows\system32\USER32.dll+00084117 ( IsProcessDPIAware+000465 )
[ 30] 0x0000000077721225 C:\Windows\SYSTEM32\ntdll.dll+00332325 ( KiUserCallbackDispatcher+000031 )
[ 31] 0x00000000774c9e6a C:\Windows\system32\USER32.dll+00106090 ( SfmDxSetSwapChainStats+000026 )
[ 32] 0x00000000774c615e C:\Windows\system32\USER32.dll+00090462 ( GetMessageA+000078 )
[ 33] 0x0000000004fd7be7 C:\Program Files\MATLAB\R2012a\bin\win64\uiw.dll+00228327 ( UIW_SetCurrentDialog+000855 )
[ 34] 0x0000000004ffdfa7 C:\Program Files\MATLAB\R2012a\bin\win64\uiw.dll+00384935 ( ws_FreeSystemFont+000519 )
[ 35] 0x000000007bf7e4f3 C:\Program Files\MATLAB\R2012a\bin\win64\libmwservices.dll+00713971 ( sysq::removeCommitDatabaseUpdatesHook+002131 )
[ 36] 0x000000007bf7fc68 C:\Program Files\MATLAB\R2012a\bin\win64\libmwservices.dll+00719976 ( sysq::removeCommitDatabaseUpdatesHook+008136 )
[ 37] 0x000000007bf81880 C:\Program Files\MATLAB\R2012a\bin\win64\libmwservices.dll+00727168 ( sysq::addProcessPendingEventsUnitTestHook+000240 )
[ 38] 0x000000007bf81948 C:\Program Files\MATLAB\R2012a\bin\win64\libmwservices.dll+00727368 ( sysq::addProcessPendingEventsUnitTestHook+000440 )
[ 39] 0x000000007bf81b03 C:\Program Files\MATLAB\R2012a\bin\win64\libmwservices.dll+00727811 ( sysq::addProcessPendingEventsUnitTestHook+000883 )
[ 40] 0x000000007bf81bd6 C:\Program Files\MATLAB\R2012a\bin\win64\libmwservices.dll+00728022 ( sysq::addProcessPendingEventsUnitTestHook+001094 )
[ 41] 0x00000000047a7cff C:\Program Files\MATLAB\R2012a\bin\win64\mcr.dll+00425215 ( DepfunRules::postWarning+034015 )
[ 42] 0x00000000047a8024 C:\Program Files\MATLAB\R2012a\bin\win64\mcr.dll+00426020 ( DepfunRules::postWarning+034820 )
[ 43] 0x00000000047a84be C:\Program Files\MATLAB\R2012a\bin\win64\mcr.dll+00427198 ( DepfunRules::postWarning+035998 )
[ 44] 0x000000013f7cb8f9 C:\Program Files\MATLAB\R2012a\bin\win64\MATLAB.exe+00047353 ( ???+000000 )
[ 45] 0x000000013f7cbbd6 C:\Program Files\MATLAB\R2012a\bin\win64\MATLAB.exe+00048086 ( ???+000000 )
[ 46] 0x000000013f7cc133 C:\Program Files\MATLAB\R2012a\bin\win64\MATLAB.exe+00049459 ( ???+000000 )
[ 47] 0x00000000775c652d C:\Windows\system32\kernel32.dll+00091437 ( BaseThreadInitThunk+000013 )
[ 48] 0x00000000776fc521 C:\Windows\SYSTEM32\ntdll.dll+00181537 ( RtlUserThreadStart+000033 )
The last two lines seem to indicate that the program is attempting to intiate a new thread but cannot allocate the memory. This has me suspecting a memory leak but the semi random nature of the occurance and the fact that it isn't consistent in terms of time or number of opperations doesn't seem to match. Does anyone have any ideas about how to go about trying to resolve this?

Answers (1)

Jan
Jan on 11 Jul 2013
Not the last two lines matters, but the first line, because the stack trace is top-down ordered. The first line indicates problems of the GLRenderEngine, such that I'd try two solutions:
  1. Update the driver of your graphics card. Look at the homepage of the manufacturer.
  2. Change the OpenGL renderer from software to hardware (or the other way around):
opengl software
% Or: opengl hardware
  1 Comment
Emanuel
Emanuel on 11 Jul 2013
Edited: Emanuel on 11 Jul 2013
I'll give that a try, however I feel its worth pointing out that the last 5 lines seem to indicate that the system was attempting to launch a new thread but couldn't allocate the memory. If it is the GLRenderEngine, it doesn't make much sense because as I said before, the crashing is random and inconsistant. You would think that if the engine couldn't handle the input, it would crash the first time I tried to make a rotation, not at random.
Edit: I managed to reproduce the crash under both of the opengl settings. The dump file was identical both times. The divers on this computer are all up to date as well. Any other suggestions?

Sign in to comment.

Categories

Find more on Startup and Shutdown in Help Center and File Exchange

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!