Bug Report [0.541b] Possible Game Capture Memory Leak

mintograde

New Member
I just switched to 0.541b and did a quick test stream with game capture. After ~30 minutes, OBS crashed with an Out of Memory error. The game being streamed was Warsow 1.03 (x64). Link to VOD (intermittent freezing is due to unrelated packet loss).

The scene used for the stream was created in a previous test build, but I replaced the previous Game Capture source with a new one after installing 0.541b.

I grabbed a screenshot of the Process Explorer graphs for the 15 minutes leading up to the crash:
McOyukZ.png
Relevant log file:
Code:
22:02:49: Open Broadcaster Software v0.541b - 32bit (´・ω・`)
22:02:49: -------------------------------
22:02:49: CPU Name: Intel(R) Core(TM) i5-2500K CPU @ 3.30GHz
22:02:49: CPU Speed: 3292MHz
22:02:49: Physical Memory:  4095MB Total, 1618MB Free
22:02:49: stepping id: 7, model 10, family 6, type 0, extmodel 1, extfamily 0, HTT 1, logical cores 4, total cores 4
22:02:49: monitor 1: pos={0, 0}, size={1920, 1080}
22:02:49: Windows Version: 6.1 Build 7601 S
22:02:49: Aero is Disabled
22:02:49: -------------------------------
22:02:49: OBS Modules:
22:02:49: Base Address     Module
22:02:49: 01110000         OBS.exe
22:02:49: 610F0000         OBSApi.dll
22:02:49: 60EB0000         DShowPlugin.dll
22:02:49: 6B690000         GraphicsCapture.dll
22:02:49: 60E90000         NoiseGate.dll
22:02:49: 60E70000         PSVPlugin.dll
22:02:49: 65500000         SC2SceneSwitcher.dll
22:02:49: ------------------------------------------
22:02:49: Adapter 1
22:02:49:   Video Adapter: NVIDIA GeForce GTX 560 
22:02:49:   Video Adapter Dedicated Video Memory: 1025966080
22:02:49:   Video Adapter Shared System Memory: 3220779008
22:02:49: =====Stream Start: 2013-07-12, 22:02:49===============================================
22:02:49:   Multithreaded optimizations: On
22:02:49:   Base resolution: 1920x1080
22:02:49:   Output resolution: 1920x1080
22:02:49: ------------------------------------------
22:02:49: Loading up D3D10...
22:02:49: Playback device Default
22:02:49: ------------------------------------------
22:02:49: Using desktop audio input: Speakers (Realtek High Definition Audio)
22:02:49: ------------------------------------------
22:02:49: Using auxilary audio input: Microphone (Realtek High Definition Audio)
22:02:49: ------------------------------------------
22:02:49: Audio Encoding: AAC
22:02:49:     bitrate: 128
22:02:49: Using graphics capture
22:02:49: ------------------------------------------
22:02:49: Video Encoding: x264
22:02:49:     fps: 25
22:02:49:     width: 1920, height: 1080
22:02:49:     preset: veryfast
22:02:49:     CBR: no
22:02:49:     CFR: no
22:02:49:     max bitrate: 2300
22:02:49:     buffer size: 2300
22:02:49:     quality: 10
22:02:49: ------------------------------------------
22:02:52: SharedTexCapture hooked
22:03:13: Capture window 0x006F0CDE invalid or changing, terminating capture
22:03:15: Total frames rendered: 630, number of frames that lagged: 5 (0.79%) (it's okay for some frames to lag)
22:03:15: =====Stream End: 2013-07-12, 22:03:15=================================================
22:04:09: =====Stream Start: 2013-07-12, 22:04:09===============================================
22:04:09:   Multithreaded optimizations: On
22:04:09:   Base resolution: 1920x1080
22:04:09:   Output resolution: 1920x1080
22:04:09: ------------------------------------------
22:04:09: Loading up D3D10...
22:04:09: Playback device Default
22:04:09: ------------------------------------------
22:04:09: Using desktop audio input: Speakers (Realtek High Definition Audio)
22:04:09: ------------------------------------------
22:04:09: Using auxilary audio input: Microphone (Realtek High Definition Audio)
22:04:09: ------------------------------------------
22:04:09: Audio Encoding: AAC
22:04:09:     bitrate: 128
22:04:09: Using graphics capture
22:04:09: ------------------------------------------
22:04:09: Video Encoding: x264
22:04:09:     fps: 25
22:04:09:     width: 1920, height: 1080
22:04:09:     preset: veryfast
22:04:09:     CBR: no
22:04:09:     CFR: no
22:04:09:     max bitrate: 2300
22:04:09:     buffer size: 2300
22:04:09:     quality: 10
22:04:09: ------------------------------------------
22:04:11: SharedTexCapture hooked
22:05:00: Total frames rendered: 1293, number of frames that lagged: 2 (0.15%) (it's okay for some frames to lag)
22:05:00: =====Stream End: 2013-07-12, 22:05:00=================================================
22:05:20: =====Stream Start: 2013-07-12, 22:05:20===============================================
22:05:20:   Multithreaded optimizations: On
22:05:20:   Base resolution: 1920x1080
22:05:20:   Output resolution: 1280x720
22:05:20: ------------------------------------------
22:05:20: Loading up D3D10...
22:05:20: Playback device Default
22:05:20: ------------------------------------------
22:05:20: Using desktop audio input: Speakers (Realtek High Definition Audio)
22:05:20: ------------------------------------------
22:05:20: Using auxilary audio input: Microphone (Realtek High Definition Audio)
22:05:20: ------------------------------------------
22:05:20: Audio Encoding: AAC
22:05:20:     bitrate: 96
22:05:20: Using graphics capture
22:05:20: ------------------------------------------
22:05:20: Video Encoding: x264
22:05:20:     fps: 30
22:05:20:     width: 1280, height: 720
22:05:20:     preset: veryfast
22:05:20:     CBR: no
22:05:20:     CFR: no
22:05:20:     max bitrate: 1300
22:05:20:     buffer size: 1300
22:05:20:     quality: 10
22:05:20: ------------------------------------------
22:05:21: Using RTMP service: Twitch / Justin.tv
22:05:21:   Server selection: rtmp://live-mia.justin.tv/app
22:05:22: SharedTexCapture hooked
22:05:26: SO_SNDBUF was at 8192
22:05:26: SO_SNDBUF is now 65536

Error: Out of memory while trying to allocate 17547 bytes at 61107C62
System Specs:
  • Windows 7 Pro x64
    i5 2500k
    GeForce GTX 560
    8GB Ripjaws DDR3 at 8-8-8-24
 

Sovrihn

New Member
I'm not too savvy when it comes to all the technical workings, but I actually came here to the forums with the same idea. I had just pulled up OBS for some streaming this evening and got prompted/did update to the new version 0.541b. Streamed a newly acquired game (Bleed) for about 90 minutes and didn't really notice any problems, but then shifted over to Minecraft and within about 30-45 minutes I noticed that I had dropped down to roughly 10-15 FPS in game despite never normally dropping below a static 60 FPS.

At that point, I noticed that Task Manager was showing the Java was using up ~9gb of memory, while Minecraft was set to a 4gb max and said it was only using 1gb. I shut down MC and restarted it...had reasonable frames for a little while but they slowly started to drop over time again, down to the single digits. At that point, I figured the stream wasn't going to be playable/useful, so ended stream and closed out of OBS but still had Minecraft open...when I tabbed over to it, I was instantly back to 60 FPS.

So, seemed like there was some slowly building issue happening while streaming that didn't happen prior to the update...log below, and after reading the OP comments, I actually used the same game capture and same scene for the cast...so I will go back and try a newly created one to see if that helps or not.

01:00:00: Open Broadcaster Software v0.541b - 64bit ( ^ω^)
01:00:00: -------------------------------
01:00:00: CPU Name: Intel(R) Core(TM) i5-3570K CPU @ 3.40GHz
01:00:00: CPU Speed: 3400MHz
01:00:00: Physical Memory: 16276MB Total, 14418MB Free
01:00:00: stepping id: 9, model 10, family 6, type 0, extmodel 1, extfamily 0, HTT 1, logical cores 4, total cores 4
01:00:00: monitor 1: pos={0, 0}, size={1920, 1080}
01:00:00: monitor 2: pos={1920, 0}, size={1920, 1080}
01:00:00: Windows Version: 6.2 Build 9200
01:00:00: Aero is Enabled
01:00:00: -------------------------------
01:00:00: OBS Modules:
01:00:00: Base Address Module
01:00:00: 00000000158C0000 OBS.exe
01:00:00: 00000000B71B0000 OBSApi.dll
01:00:00: 00000000B7170000 DShowPlugin.dll
01:00:00: 00000000BF180000 GraphicsCapture.dll
01:00:00: 00000000C0AB0000 NoiseGate.dll
01:00:00: 00000000BCC60000 PSVPlugin.dll
01:00:00: ------------------------------------------
01:00:00: Adapter 1
01:00:00: Video Adapter: NVIDIA GeForce GTX 670
01:00:00: Video Adapter Dedicated Video Memory: 2087383040
01:00:00: Video Adapter Shared System Memory: 2147807232
01:00:00: ------------------------------------------
01:00:00: Adapter 2
01:00:00: Video Adapter: Intel(R) HD Graphics 4000
01:00:00: Video Adapter Dedicated Video Memory: 33554432
01:00:00: Video Adapter Shared System Memory: 1711276032
01:00:00: =====Stream Start: 2013-07-13, 01:00:00===============================================
01:00:00: Multithreaded optimizations: On
01:00:00: Base resolution: 1920x1080
01:00:00: Output resolution: 1280x720
01:00:00: ------------------------------------------
01:00:01: Loading up D3D10...
01:00:01: Playback device {0.0.0.00000000}.{94f8d9b3-00f3-4059-a290-70bb46a8bcc4}
01:00:01: ------------------------------------------
01:00:01: Using desktop audio input: Speakers (Skullcandy Slayer)
01:00:01: ------------------------------------------
01:00:01: Using auxilary audio input: Microphone (Skullcandy Slayer)
01:00:01: ------------------------------------------
01:00:01: Audio Encoding: AAC
01:00:01: bitrate: 128
01:00:01: Using graphics capture
01:00:02: ------------------------------------------
01:00:02: device: Logitech HD Pro Webcam C920,
01:00:02: device id \\?\usb#vid_046d&pid_082d&mi_00#6&10f891c&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\{bbefb6c7-2fc4-4139-bb8b-a58bba724083},
01:00:02: chosen type: I420, usingFourCC: false, res: 1280x720 - 1280x720, frameIntervals: 333333-2000000, fourCC: 'I420'
01:00:02: audio device: Disable,
01:00:02: audio device id Disabled,
01:00:02:
01:00:02: Using directshow input
01:00:03: ------------------------------------------
01:00:03: Video Encoding: x264
01:00:03: fps: 45
01:00:03: width: 1280, height: 720
01:00:03: preset: veryfast
01:00:03: CBR: no
01:00:03: CFR: no
01:00:03: max bitrate: 3000
01:00:03: buffer size: 3000
01:00:03: quality: 8
01:00:03: ------------------------------------------
01:00:06: SharedTexCapture hooked
01:00:19: GraphicsCaptureSource::NewCapture: eliminating old capture
01:00:19: SharedTexCapture hooked
01:06:16: GraphicsCaptureSource::NewCapture: eliminating old capture
01:06:16: SharedTexCapture hooked
01:15:12: Total frames rendered: 40896, number of frames that lagged: 8 (0.02%) (it's okay for some frames to lag)
01:15:12: =====Stream End: 2013-07-13, 01:15:12=================================================
01:15:22: =====Stream Start: 2013-07-13, 01:15:22===============================================
01:15:22: Multithreaded optimizations: On
01:15:22: Base resolution: 1920x1080
01:15:22: Output resolution: 1280x720
01:15:22: ------------------------------------------
01:15:22: Loading up D3D10...
01:15:22: Playback device {0.0.0.00000000}.{94f8d9b3-00f3-4059-a290-70bb46a8bcc4}
01:15:22: ------------------------------------------
01:15:22: Using desktop audio input: Speakers (Skullcandy Slayer)
01:15:22: ------------------------------------------
01:15:22: Using auxilary audio input: Microphone (Skullcandy Slayer)
01:15:22: ------------------------------------------
01:15:22: Audio Encoding: AAC
01:15:22: bitrate: 128
01:15:22: ------------------------------------------
01:15:22: device: Logitech HD Pro Webcam C920,
01:15:22: device id \\?\usb#vid_046d&pid_082d&mi_00#6&10f891c&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\{bbefb6c7-2fc4-4139-bb8b-a58bba724083},
01:15:22: chosen type: I420, usingFourCC: false, res: 1280x720 - 1280x720, frameIntervals: 333333-2000000, fourCC: 'I420'
01:15:22: audio device: Disable,
01:15:22: audio device id Disabled,
01:15:22:
01:15:22: Using directshow input
01:15:22: Using graphics capture
01:15:23: ------------------------------------------
01:15:23: Video Encoding: x264
01:15:23: fps: 45
01:15:23: width: 1280, height: 720
01:15:23: preset: veryfast
01:15:23: CBR: no
01:15:23: CFR: no
01:15:23: max bitrate: 3000
01:15:23: buffer size: 3000
01:15:23: quality: 8
01:15:23: ------------------------------------------
01:15:23: SharedTexCapture hooked
01:15:24: Using RTMP service: Twitch / Justin.tv
01:15:24: Server selection: rtmp://live-dfw.justin.tv/app
01:15:25: GraphicsCaptureSource::NewCapture: eliminating old capture
01:15:25: SharedTexCapture hooked
01:15:25: SO_SNDBUF was at 64512
01:15:25: SO_SNDBUF is now 65536
01:16:02: GraphicsCaptureSource::NewCapture: eliminating old capture
01:16:02: SharedTexCapture hooked
02:44:07: Capture window 0x001402AE invalid or changing, terminating capture
02:46:33: Using graphics capture
02:46:33: SharedTexCapture hooked
03:38:42: Capture window 0x0016016E invalid or changing, terminating capture
03:38:59: SharedTexCapture hooked
03:40:54: Using graphics capture
03:40:54: SharedTexCapture hooked
04:19:35: Using Window Capture
04:21:01: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
04:21:01: New Scene
04:21:01: Using bitmap image
04:21:07: Total frames rendered: 501417, number of frames that lagged: 103 (0.02%) (it's okay for some frames to lag)
04:21:07: RTMPPublisher::SocketLoop: Aborting due to bStopping
04:21:07: Number of times waited to send: 0, Waited for a total of 0 bytes
04:21:07: Number of b-frames dropped: 0 (0%), Number of p-frames dropped: 0 (0%), Total 0 (0%)
04:21:07: =====Stream End: 2013-07-13, 04:21:07=================================================
04:22:16: =====Stream Start: 2013-07-13, 04:22:16===============================================
04:22:16: Multithreaded optimizations: On
04:22:16: Base resolution: 1920x1080
04:22:16: Output resolution: 1280x720
04:22:16: ------------------------------------------
04:22:16: Loading up D3D10...
04:22:16: Playback device {0.0.0.00000000}.{94f8d9b3-00f3-4059-a290-70bb46a8bcc4}
04:22:16: ------------------------------------------
04:22:16: Using desktop audio input: Speakers (Skullcandy Slayer)
04:22:16: ------------------------------------------
04:22:16: Using auxilary audio input: Microphone (Skullcandy Slayer)
04:22:16: ------------------------------------------
04:22:16: Audio Encoding: AAC
04:22:16: bitrate: 128
04:22:16: Using bitmap image
04:22:16: ------------------------------------------
04:22:16: Video Encoding: x264
04:22:16: fps: 45
04:22:16: width: 1280, height: 720
04:22:16: preset: veryfast
04:22:16: CBR: no
04:22:16: CFR: no
04:22:16: max bitrate: 3000
04:22:16: buffer size: 3000
04:22:16: quality: 8
04:22:16: ------------------------------------------
04:22:18: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
04:22:18: New Scene
04:22:18: Using Window Capture
04:22:18: ------------------------------------------
04:22:18: device: Logitech HD Pro Webcam C920,
04:22:18: device id \\?\usb#vid_046d&pid_082d&mi_00#6&10f891c&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\{bbefb6c7-2fc4-4139-bb8b-a58bba724083},
04:22:18: chosen type: I420, usingFourCC: false, res: 1280x720 - 1280x720, frameIntervals: 333333-2000000, fourCC: 'I420'
04:22:18: audio device: Disable,
04:22:18: audio device id Disabled,
04:22:18:
04:22:18: Using directshow input
04:22:18: Using graphics capture
04:22:18: SharedTexCapture hooked
04:23:04: GraphicsCaptureSource::NewCapture: eliminating old capture
04:23:04: SharedTexCapture hooked
04:23:04: Capture window 0x000504DC invalid or changing, terminating capture
04:23:07: Total frames rendered: 2260, number of frames that lagged: 2 (0.09%) (it's okay for some frames to lag)
04:23:07: =====Stream End: 2013-07-13, 04:23:07=================================================
04:23:07:
04:23:07: Profiler results:
04:23:07:
04:23:07: ==============================================================
04:23:07: frame - [100%] [avg time: 2.468 ms (cpu time: avg 1.946 ms, total 1.05975e+006 ms)] [avg calls per frame: 1] [children: 70%] [unaccounted: 30%]
04:23:07: | scene->Preprocess - [18.7%] [avg time: 0.461 ms (cpu time: avg 0.419 ms, total 228672 ms)] [avg calls per frame: 1]
04:23:07: | video encoding and uploading - [51.3%] [avg time: 1.267 ms (cpu time: avg 1.109 ms, total 604313 ms)] [avg calls per frame: 1] [children: 50%] [unaccounted: 1.38%]
04:23:07: | | CopyResource - [1.22%] [avg time: 0.03 ms (cpu time: avg 0.016 ms, total 8718.75 ms)] [avg calls per frame: 0]
04:23:07: | | conversion to 4:2:0 - [0.243%] [avg time: 0.006 ms (cpu time: avg 0.002 ms, total 1484.38 ms)] [avg calls per frame: 0]
04:23:07: | | call to encoder - [46.9%] [avg time: 1.158 ms (cpu time: avg 1.063 ms, total 579094 ms)] [avg calls per frame: 0]
04:23:07: | | sending stuff out - [1.58%] [avg time: 0.039 ms (cpu time: avg 0.01 ms, total 5718.75 ms)] [avg calls per frame: 0]
04:23:07: | Convert444Threads - [1.8e+003%] [avg time: 44.445 ms (cpu time: avg 1.188 ms, total 647109 ms)] [avg calls per frame: 1]
04:23:07: ==============================================================
04:23:07:
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
OpenGL capture has some sort of memory leak issue currently in 0.541 on nvidias. It appears to be in the drivers, but we're trying to figure out how to solve it
 
Top