Plex Media Server Crashing

Good evening,

My Plex Media Server has been crashing on a very regular basis (once a day or more often). In the event log, it is recorded as an error 0xc0000374 (heap corruption). Once I connected the WinDbg debugger, I was able to replicate the error and I hope the following runtime data will help you identify and fix it. If you need anything else, let me know and I’ll replicate it again and get you what you need. I’ve also attached plex logs as well

Here’s the message on the console when an exception happened:
Critical error detected c0000374
(2c1c.1858): Break instruction exception - code 80000003 (first chance)
eax=00000000 ebx=774c5920 ecx=c0000374 edx=00000021 esi=00000002 edi=0cb49828
eip=77489a6d esp=119bf3b4 ebp=119bf444 iopl=0 nv up ei pl zr na pe nc
cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00000246
ntdll!RtlReportCriticalFailure+0x4b:
77489a6d cc int 3
*** ERROR: Symbol file could not be found. Defaulted to export symbols for C:\Program Files (x86)\Plex\Plex Media Server\Plex Media Server.exe -

Here are the loaded modules:

start end module name
00c70000 00c93000 libgcc_s_dw2_1 (deferred)
00cc0000 01c55000 Plex_Media_Server (export symbols) C:\Program Files (x86)\Plex\Plex Media Server\Plex Media Server.exe
01c60000 01ddd000 libstdc___6 (deferred)
1e000000 1e297000 python27 (deferred)
64b40000 64b58000 libwinpthread_1 (deferred)
688a0000 688b8000 msacm32 (deferred)
68900000 68907000 ksuser (deferred)
68910000 68d7f000 mfcore (deferred)
690b0000 691b7000 mfperfhelper (deferred)
692c0000 696be000 Windows_StateRepository (deferred)
696c0000 6972d000 Windows_ApplicationModel (deferred)
69b20000 69ba7000 StateRepository_Core (deferred)
69bb0000 69c30000 AppXDeploymentClient (deferred)
6c330000 6c340000 CompPkgSup (deferred)
6c490000 6c4ba000 RTWorkQ (deferred)
6c500000 6c665000 MFPlat (deferred)
6ddf0000 6dec9000 WMSPDMOD (deferred)
6ded0000 6df78000 WMADMOD (deferred)
6df80000 6df96000 l3codeca (deferred)
6dfe0000 6dff8000 mfmjpegdec (deferred)
6e000000 6e0e2000 mfh265enc (deferred)
6e0f0000 6e310000 mfh264enc (deferred)
6e310000 6e3e5000 DolbyDecMFT (deferred)
6e3f0000 6e40c000 mfAACEnc (deferred)
6e410000 6e44b000 CONCRT140 (deferred)
6e450000 6e4bd000 MSVCP140 (deferred)
6e4c0000 6e506000 GNSDK_SUBMIT (deferred)
6e510000 6e69d000 GNSDK_MANAGER (deferred)
6e850000 6eb52000 GNSDK_DSP (deferred)
6eb80000 6ec24000 GNSDK_STORAGE_SQLITE (deferred)
6ec30000 6eccb000 GNSDK_MUSICID_FILE (deferred)
6ecd0000 6ed93000 GNSDK_LOOKUP_LOCAL (deferred)
6eda0000 6ef85000 opencv_core2411 (deferred)
6efe0000 6efe9000 msdmo (deferred)
6eff0000 6f0b1000 tag (deferred)
6f0c0000 6f4cb000 avcodec_57 (deferred)
6f4e0000 6f515000 libidn (deferred)
6f520000 6f554000 GNSDK_VIDEO (deferred)
6f5e0000 6f5eb000 msgsm32 (deferred)
6f5f0000 6f833000 opencv_imgproc2411 (deferred)
6f840000 6fb2d000 avformat_57 (deferred)
6fcb0000 6fcb8000 msg711 (deferred)
6fcc0000 6fda3000 iconv (deferred)
6fdb0000 6fe77000 avutil_55 (deferred)
6ffa0000 70071000 WinTypes (deferred)
700f0000 70226000 twinapi_appcore (deferred)
703f0000 70411000 GNSDK_RHYTHM (deferred)
70420000 704a7000 GNSDK_MUSICID (deferred)
70930000 70982000 GNSDK_PLAYLIST (deferred)
709f0000 70a19000 GNSDK_MUSICID_STREAM (deferred)
70a20000 70a85000 GNSDK_LOOKUP_LOCALSTREAM (deferred)
70a90000 70d16000 FreeImage (deferred)
71860000 7186a000 secur32 (deferred)
718a0000 719cf000 LIBEAY32 (deferred)
729b0000 729df000 rsaenh (deferred)
729e0000 729f3000 CRYPTSP (deferred)
72a00000 72a90000 swscale_4 (deferred)
72af0000 72b04000 dhcpcsvc (deferred)
72b10000 72b25000 VCRUNTIME140 (deferred)
72b30000 72b59000 GNSDK_MUSICID_MATCH (deferred)
72b60000 72b73000 dhcpcsvc6 (deferred)
72b80000 72ba3000 GNSDK_MOODGRID (deferred)
72bb0000 72bd7000 GNSDK_LINK (deferred)
72be0000 72c29000 SSLEAY32 (deferred)
72c30000 72c46000 MPR (deferred)
72c50000 72c73000 winmmbase (deferred)
72cb0000 72cc2000 soci_sqlite3_vc80_3_0 (deferred)
72cd0000 72cef000 soci_core_vc80_3_0 (deferred)
72cf0000 72dfb000 libxml2 (deferred)
73090000 73099000 msadp32 (deferred)
730a0000 730ef000 libcurl (deferred)
73180000 7323b000 sqlite3 (deferred)
73240000 73268000 ntmarta (deferred)
73280000 73298000 bcrypt (deferred)
735a0000 735b8000 zlib (deferred)
735e0000 73605000 dbgcore (deferred)
73610000 7381e000 COMCTL32 (deferred)
73820000 7382a000 imaadp32 (deferred)
73830000 73852000 USERENV (deferred)
738a0000 739fd000 dbghelp (deferred)
73a10000 73a19000 lyric_lite (deferred)
73af0000 73b13000 dwmapi (deferred)
73bf0000 73c68000 uxtheme (deferred)
73c70000 73c9f000 IPHLPAPI (deferred)
73ce0000 73ce8000 rasadhlp (deferred)
73cf0000 73d3a000 fwpuclnt (deferred)
73d40000 73dbf000 DNSAPI (deferred)
73dc0000 73e0e000 MSWSOCK (deferred)
73e70000 73e7a000 CRYPTBASE (deferred)
73e80000 73ea0000 SspiCli (deferred)
73fb0000 74070000 RPCRT4 (deferred)
74070000 74188000 ucrtbase (pdb symbols) C:\ProgramData\dbg\sym\ucrtbase.pdb\197456BCF2A7D4F9A7D6EAE7664352CD1\ucrtbase.pdb
74190000 74260000 KERNEL32 (deferred)
74260000 74270000 profapi (deferred)
742d0000 74315000 powrprof (deferred)
74320000 74387000 WS2_32 (deferred)
74390000 74552000 KERNELBASE (pdb symbols) C:\ProgramData\dbg\sym\wkernelbase.pdb\42E975F14D06F0E9FF3C933AB7FE5C4F1\wkernelbase.pdb
74570000 74663000 ole32 (deferred)
74670000 746b1000 sechost (deferred)
746c0000 74737000 advapi32 (deferred)
747a0000 7485d000 msvcrt (deferred)
74860000 748f6000 OLEAUT32 (deferred)
74990000 74b0d000 CRYPT32 (deferred)
74b10000 74b93000 clbcatq (deferred)
74ba0000 74bd9000 cfgmgr32 (deferred)
74be0000 74bf6000 win32u (deferred)
74c00000 75184000 windows_storage (deferred)
75300000 75321000 GDI32 (deferred)
75340000 753b9000 msvcp_win (deferred)
753c0000 75405000 shlwapi (deferred)
75410000 75417000 NSI (deferred)
75420000 7542e000 MSASN1 (deferred)
75430000 7543e000 kernel_appcore (deferred)
75440000 75678000 combase (deferred)
75680000 756d1000 WLDAP32 (deferred)
756e0000 75826000 MSCTF (deferred)
75ca0000 75cc5000 IMM32 (deferred)
75cd0000 75d27000 bcryptPrimitives (deferred)
75d30000 77078000 SHELL32 (deferred)
77080000 771d8000 gdi32full (deferred)
771e0000 7731c000 USER32 (deferred)
77320000 773ac000 shcore (deferred)
773b0000 7753e000 ntdll (pdb symbols) C:\ProgramData\dbg\sym\wntdll.pdb\3E6B95F10656482A735FBE90515F548E1\wntdll.pdb

Unloaded modules:
6dfa0000 6dfd3000 l3codecp.acm
73aa0000 73ab3000 NETAPI32.DLL
73e10000 73e1b000 NETUTILS.DLL
73e20000 73e30000 wkscli.dll
5de20000 5de3c000 srvcli.dll

Here’s the stack trace:

ChildEBP RetAddr

00 119bf444 77492c9b ntdll!RtlReportCriticalFailure+0x4b
01 119bf450 77435456 ntdll!RtlpReportHeapFailure+0x2f
02 119bf458 774354f9 ntdll!RtlpHeapHandleError+0x16
03 119bf488 77444e5e ntdll!RtlpLogHeapFailure+0x9f
04 119bf4e4 7409e7eb ntdll!RtlFreeHeap+0x5459e
05 119bf4f8 7409e7b8 ucrtbase!_free_base+0x1b
06 119bf508 00ce10d1 ucrtbase!free+0x18
WARNING: Stack unwind information not available. Following frames may be wrong.
07 119bf588 010ab23f Plex_Media_Server+0x210d1
08 119bf5b4 0151a29a Plex_Media_Server+0x3eb23f
09 119bf624 74478708 Plex_Media_Server!OPENSSL_Applink+0x245a3a
0a 119bf634 012da40f KERNELBASE!CloseHandle+0x58
0b 119bf644 77421d3c Plex_Media_Server!OPENSSL_Applink+0x5baf
0c 119bf648 74478839 ntdll!NtWaitForSingleObject+0xc
0d 119bf6a4 00d21a05 KERNELBASE!WaitForSingleObjectEx+0x99
0e 119bf6c8 00d14c32 Plex_Media_Server+0x61a05
0f 119bf708 010af662 Plex_Media_Server+0x54c32
10 119bf744 00d0d3c3 Plex_Media_Server+0x3ef662
11 119bf78c 00d1a865 Plex_Media_Server+0x4d3c3
12 119bf7cc 00d1a52e Plex_Media_Server+0x5a865
13 119bf870 00d1eed9 Plex_Media_Server+0x5a52e
14 119bf8d0 00d1f084 Plex_Media_Server+0x5eed9
15 119bf90c 00d1f1ba Plex_Media_Server+0x5f084
16 119bf928 00d0d525 Plex_Media_Server+0x5f1ba
17 119bf950 012db74e Plex_Media_Server+0x4d525
18 119bf978 740ae87f Plex_Media_Server!OPENSSL_Applink+0x6eee
19 119bf9b4 741a8744 ucrtbase!thread_start<unsigned int (__stdcall*)(void *)>+0x3f
1a 119bf9c8 7741582d KERNEL32!BaseThreadInitThunk+0x24
1b 119bfa10 774157fd ntdll!__RtlUserThreadStart+0x2f
1c 119bfa20 00000000 ntdll!_RtlUserThreadStart+0x1b

Do you know how to bring this on?
Heap corruption crashes are not easy to debug

Linking to similar report http://forums.plex.tv/discussion/288066/plex-crash-every-monday-at-7-pm#latest

Do you have a dmp file?

And please enable debug logging so the log will be of some benefit
See https://support.plex.tv/hc/en-us/articles/201643703-Reporting-issues-with-Plex-Media-Server

Good morning,

I agree that they are very difficult to debug and empathize. It seems to happen a bit after the hour when recordings are both starting and ending and happens more frequently when MCEBuddy is processing files in the background but I haven’t been able to figure out an exact event that triggers it.

I’ll attach the debugger again and get back to you when I have another crash. Let me know if there’s any memory that you’d like to see as well.

I need logs with debug logging from the beginning (enabled before launch) and a dmp file to pass to the development team

Normally dmp files get automatically uploaded to our crash reporting servers in-line or after restart
The zipped logs would give extra info

https://support.plex.tv/hc/en-us/articles/201643703-Reporting-issues-with-Plex-Media-Server
https://support.plex.tv/hc/en-us/articles/200250417-Plex-Media-Server-Log-Files

Got it. I was going to create a ,dmp file with Windbg. I’ve got the debug files ready to go but I doubt that a dmp file will be uploaded with the debugger attached. I’ll restart it tonight and get you what you’ve asked for next time it crashes. Thank you very much for your help.

With heap corruptions automatic dumps may not succeed anyway - probably safer for you to save the dmp file, zip and upload it to dropbox or google drive or similar and send me link by private message
And attach the zipped logs (having of course enabled debug logging in server settings beforehand)

Thanks for forwarding the dump. I have referred it to the development team.

Please try out release 1.9.4 and see if the issue is resolved. If not, please provide fresh evidence

I am hoping this fix may have resolved the matter

  • (DVR) A rare crash when using DVR or Live TV (#7632)

Release Note for 1.9.4

@sltarpley said:
Got it. I was going to create a ,dmp file with Windbg. I’ve got the debug files ready to go but I doubt that a dmp file will be uploaded with the debugger attached. I’ll restart it tonight and get you what you’ve asked for next time it crashes. Thank you very much for your help.

Thanks for capturing the heap corruption crash in windbg. This occurred on version 1.9.5
I have passed this on to the development team with the link to the OneDrive uploaded logs/crash

A problem that gives rise to heap corruption crashes relating to DVR has just been fixed in beta release 1.13.1.5063

Release Notes http://forums.plex.tv/discussion/comment/1668974/#Comment_1668974

  • (DVR) Various rare crashes (#7575)