Repeating OBS crashes creating OS instability (AMD Zen3 Win10 setup)

amandryka

New Member
Hi all,

My system is:
Mobo: MSI x570 Unify
CPU Ryzen 5600x
GPU MSI Radeon 6800xt

I'm using OBS as a virtual camera for online workshops, and first tried with a wireless display as secondary monitor, which created very rapid crashes of OBS, with resulting firefox crashes and instability as well as various problems with Windows 10 that forced me to reboot each time.

Then moved on a wired secondary monitor setup, with similar results.

I'm now working with a single monitor setup (wide screen) and although it is stable for longer (1-2 hours) I end up with the same problem.

From what I can see, there isn't much going on in the Crash log but the regular log might be more informative (find it in attachment).

Here are the noteworthy entries in the log file:
At OBS initialization:

10:32:47.216: [AMF] Version 2.7.0 loaded (Compiled: 1.4.14.0, Runtime: 1.4.18.0, Library: 1;4;18;0;20.45.33.01;202101270031;CL#2249813).
10:32:47.247: [AMF] <Id: 1> Unable to set converter transfer characteristic, error AMF_NOT_FOUND (code 11)
10:32:47.287: [AMF] <Id: 2> Unable to set converter transfer characteristic, error AMF_NOT_FOUND (code 11)
10:32:47.294: [AMF] [Capability Manager] Testing Direct3D 11 Adapter 'AMD Radeon RX 6800 XT (VEN_1002/DEV_73bf/SUB_39511462/REV_00c1)':
10:32:47.294: H264/AVC: Supported
10:32:47.294: H265/HEVC: Supported
When starting Virtual Camera and recording
10:33:41.740: ==== Virtual Camera Start ==========================================
10:33:43.249: [AMF] <Id: 3> Unable to set converter transfer characteristic, error AMF_NOT_FOUND (code 11)
10:33:44.019: [AMF] [H264]<Id: 3> Encoder Parameters:
10:33:44.019: [AMF] [H264]<Id: 3> Backend:
10:33:44.019: [AMF] [H264]<Id: 3> Video API: Direct3D 11
10:33:44.019: [AMF] [H264]<Id: 3> Video Adapter: AMD Radeon RX 6800 XT (VEN_1002/DEV_73bf/SUB_39511462/REV_00c1)
10:33:44.019: [AMF] [H264]<Id: 3> OpenCL: Not Supported
10:33:44.019: [AMF] [H264]<Id: 3> Transfer: Disabled
10:33:44.019: [AMF] [H264]<Id: 3> Conversion: Disabled
10:33:44.019: [AMF] [H264]<Id: 3> Multi-Threading: Disabled
10:33:44.019: [AMF] [H264]<Id: 3> Queue Size: 8
10:33:44.019: [AMF] [H264]<Id: 3> Frame:
10:33:44.019: [AMF] [H264]<Id: 3> Format: NV12 709 Full
10:33:44.019: [AMF] [H264]<Id: 3> Resolution: 1920x1080
10:33:44.019: [AMF] [H264]<Id: 3> Frame Rate: 30/1
10:33:44.019: [AMF] [H264]<Id: 3> Aspect Ratio: 1:1
10:33:44.019: [AMF] [H264]<Id: 3> Static:
10:33:44.019: [AMF] [H264]<Id: 3> Usage: Transcoding
10:33:44.019: [AMF] [H264]<Id: 3> Quality Preset: Balanced
10:33:44.019: [AMF] [H264]<Id: 3> Profile: High 4.1
10:33:44.019: [AMF] [H264]<Id: 3> Coding Type: Automatic
10:33:44.019: [AMF] [H264]<Id: 3> Max. Reference Frames: 4
10:33:44.019: [AMF] [H264]<Id: 3> Max. Long-Term Reference Frames: 0
10:33:44.019: [AMF] [H264]<Id: 3> Rate Control:
10:33:44.019: [AMF] [H264]<Id: 3> Method: Constant Quantization Parameter
10:33:44.019: [AMF] [H264]<Id: 3> Pre-Pass Mode: Disabled
10:33:44.019: [AMF] [H264]<Id: 3> QP:
10:33:44.019: [AMF] [H264]<Id: 3> Range: 0 - 51
10:33:44.019: [AMF] [H264]<Id: 3> I-Frame: 18
10:33:44.019: [AMF] [H264]<Id: 3> P-Frame: 18
10:33:44.019: [AMF] [H264]<Id: 3> B-Frame: 22
10:33:44.019: [AMF] [H264]<Id: 3> Bitrate:
10:33:44.019: [AMF] [H264]<Id: 3> Target: 20000000 bit/s
10:33:44.019: [AMF] [H264]<Id: 3> Peak: 30000000 bit/s
10:33:44.019: [AMF] [H264]<Id: 3> Flags:
10:33:44.019: [AMF] [H264]<Id: 3> Filler Data: Disabled
10:33:44.019: [AMF] [H264]<Id: 3> Frame Skipping: Disabled
10:33:44.019: [AMF] [H264]<Id: 3> Period: 0 Frames
10:33:44.019: [AMF] [H264]<Id: 3> Behaviour: Skip every Nth frame
10:33:44.019: [AMF] [H264]<Id: 3> Variance Based Adaptive Quantization: Disabled
10:33:44.019: [AMF] [H264]<Id: 3> Enforce Hypothetical Reference Decoder: Enabled
10:33:44.019: [AMF] [H264]<Id: 3> Video Buffering Verfier:
10:33:44.019: [AMF] [H264]<Id: 3> Buffer Size: 250000000 bits
10:33:44.019: [AMF] [H264]<Id: 3> Initial Fullness: 100 %
10:33:44.019: [AMF] [H264]<Id: 3> Max. Access Unit Size: 0
10:33:44.019: [AMF] [H264]<Id: 3> Picture Control:
10:33:44.019: [AMF] [H264]<Id: 3> Period:
10:33:44.019: [AMF] [H264]<Id: 3> IDR: 60 Frames
10:33:44.019: [AMF] [H264]<Id: 3> I: 0 Frames
10:33:44.019: [AMF] [H264]<Id: 3> P: 0 Frames
10:33:44.019: [AMF] [H264]<Id: 3> B: 0 Frames
10:33:44.019: [AMF] [H264]<Id: 3> Header Insertion Spacing: 0
10:33:44.019: [AMF] [H264]<Id: 3> GOP Alignment: Enabled
10:33:44.019: [AMF] [H264]<Id: 3> Deblocking Filter: Enabled
10:33:44.019: [AMF] [H264]<Id: 3> Motion Estimation: Quarter, Half
10:33:44.019: [AMF] [H264]<Id: 3> B-Frames:
10:33:44.020: [AMF] [H264]<Id: 3> Pattern: 0
10:33:44.020: [AMF] [H264]<Id: 3> Delta QP: N/A
10:33:44.020: [AMF] [H264]<Id: 3> Reference: Disabled
10:33:44.020: [AMF] [H264]<Id: 3> Reference Delta QP: N/A
10:33:44.020: [AMF] [H264]<Id: 3> Intra-Refresh:
10:33:44.020: [AMF] [H264]<Id: 3> Number of Macroblocks Per Slot: 0
10:33:44.020: [AMF] [H264]<Id: 3> Number of Stripes: 1
10:33:44.020: [AMF] View Mode 'Master' is active, avoid giving anything but basic support. Error is most likely caused by user settings themselves.
So, right off the bat, it seems that AMD ID3 isn't initialized properly (tbh, I have no precise idea what these are in details).

Then, after 2 hours of the Virtual Camera and recording running, OBS crashes, and this can be found at the end of the log:
12:22:26.822: [AMF] <Id: 3> Unable to allocate Surface, error AMF_OUT_OF_MEMORY (code 6)
12:22:26.822: Error encoding with encoder 'recording_h264'
12:22:26.828: [ffmpeg muxer: 'adv_file_output'] Output of file 'D:/Work/Content/Video/Output/OBS Recording/2021-04-02 10-33-43.mkv' stopped
12:22:26.828: Output 'adv_file_output': stopping
12:22:26.828: Output 'adv_file_output': Total frames output: 195604
12:22:26.828: Output 'adv_file_output': Total drawn frames: 195678 (195684 attempted)
12:22:26.828: Output 'adv_file_output': Number of lagged frames due to rendering lag/stalls: 6 (0.0%)
12:22:26.828: ==== Recording Stop ================================================
12:22:26.829: warning: 2 frames left in the queue on closing
After this, OBS can't be reopened in a stable manner, and my Firefox tabs crash, and keep crashing on reopening (was playing youtube on them), and I need to restart the computer.

Could this be linked to my AMF parameters, or maybe my encoding settings?

My Windows install is rather recent, I just built that rig about a month ago.
Windows is up to date, and video drivers are recent.

My knowledge of OBS is limited, and don't have experience of AMD systems, so I might be missing something obvious.

Thanks for your help!
 

Attachments

amandryka

New Member
I just tested without recording, and find similar results.
And hour in turning on my setup (OBS Virtual camera feeding a scene with a camera capture and a powerpoint to a google chrome on a meet stream), all my browsers (firefox and chrome) become unstable/unresponsive, as well as other programs, and I have to restart everything.
 

R1CH

Forum Admin
Developer
Looks like you're running out of memory, check task manager to see what's leaking. The AMF encoder is one of the worst in terms of quality, you're probably better off with x264 on that CPU.
 

amandryka

New Member
I assume you are talking about the encoder fields in the output tab of the settings menu.

My choices are H264/AVC Encoder (AMD Advanced Media Framework) and x264.

I'm not even sure where AMF can be selected tbh...

I'll try both options and report back.
 

amandryka

New Member
Okay, so I've tried with both encoders (H264/AVC, and x264) and they are both unstable, leading to crashes of Chrome (I use it for a meet session), and Firefox (just watching youtube as I run my tests).

I've seen crashes happen as I was switching back and forth with full screen on my sources (VLC video), or with my youtube video playing on Firefox (which isn't used as an OBS source), so there might be a link there.

My latest tests were done without recording, and still ended up with crashes.

I might try with HEVC encoding, but it's looking like I'll be running out of options soon.

Although some logs mention running out of memory, I don't see evidence of this on my taskmon, and I have a pretty beefy rig with 32 gigs of ram, and a 68000 xt, so I'm a bit of a loss here too.
 

amandryka

New Member
okay, so I tried getting the latest ffmpeg encoder, and tried running OBS with just a virtual camera, with no app actually drawing from it and just a VLC video source going into OBS, and came back 3 hours later to a crashed OBS (nothing appeared about the crash in the log, posting both log files). So, it has nothing to do with recording...

I'm going to try leaving OBS open and idle, to see if it crashes on its own.

I'm already did a full OBS reinstall too, so I guess my last idea is to do a clean win 10 install...
 

Attachments

amandryka

New Member
Okay, so leaving OBS open and idle also leads to a crash. It has nothing to do with recording or virtual camera.
I'll start looking for more drastic measures now.
Any suggestions?
 

Sukiyucky

Member
Two Different Exception Handling Crashes

The crashes you posted are two different errors triggering in different contexts. They are not the same as the exception handler error codes are:
c0000003 and c0000005

The c0000003 is happening in obs.dll. This is OBSs' own C shareable library.
The c0000005 is happening in qt5gui.dll. This is the Qt cross platform GUI library.

Since you are running an AMD Ryzen CPU, I would suggest the following:
- Run stress tests and get your system totally stable before using OBS
- Go to your motherboard manufacturer and update to the current motherboard BIOS
- Download and run memtest to stress test memory settings and RAM modules. If you get errors here, you will have to tinker with memory timings and settings if not replace the RAM modules entirely.

After your stress tests pass, then go run OBS.

StreamFx Plugin


A Nvidia DLL is not being loaded with the StreamFx plugin.

10:27:45.330: [StreamFX] Loading Version 0.9.3.0-2ecce522
10:27:45.334: LoadLibrary failed for 'nvcuda.dll': The specified module could not be found.
10:27:45.334: (126)
10:27:45.334: [StreamFX] <NVIDIA Face Tracking Filter> Failed to load 'nvcuda.dll'.

10:27:45.334: [StreamFX] Loaded Version 0.9.3.0-2ecce522

Contact the StreamFx plugin developer and let them know that their automated installer may have a problem with installing nvcuda.dll (NVidia CUDA Toolkit. Their manual installation notes don't say anything about installing the Nvidia CUDA Toolkit that contains nvcuda.dll.)

Their installer should test for existence and if not found, install it for the user or direct them to the Nvidia's website for downloading. It could also be that nvcuda.dll is on your system and there is a plugin error that is the cause of not generating the correct path to load the DLL. On my system its on C:\Windows\System32 and exists, likely because it was included with my execution of the Nvidia GeForce Experience installation.

So I'd suggest you go download the Nvidia GeForce experience installer and update your Nvidia drivers to fix this missing nvcuda.dll.

Finally, the source of your exception handling crashes maybe due to StreamFx itself. In the latest StreamFx 0.9.3.0 release notes there is this:

"OBS should no longer freeze on Startup
This bug was a result of modern machines getting faster and faster to the point that a thread that we just created a few milliseconds ago is already done with work. Everything that interfaces with Qt has now been moved to a more safe location instead, so that this isn't an issue any more."

Well, it seems it could still be an ongoing concern and the reason why you are getting exception errors.
 

amandryka

New Member
Thanks a lot for your help.
After a couple more days of tinkering, I reinstalled my whole system, and now OBS seems to work as intended.

I'll run some memtests to make sure that I don't have an issue there anyway.

Best!
 

Xaymar

Active Member
A Nvidia DLL is not being loaded with the StreamFx plugin.

10:27:45.330: [StreamFX] Loading Version 0.9.3.0-2ecce522
10:27:45.334: LoadLibrary failed for 'nvcuda.dll': The specified module could not be found.
10:27:45.334: (126)
10:27:45.334: [StreamFX] <NVIDIA Face Tracking Filter> Failed to load 'nvcuda.dll'.

10:27:45.334: [StreamFX] Loaded Version 0.9.3.0-2ecce522

Contact the StreamFx plugin developer and let them know that their automated installer may have a problem with installing nvcuda.dll (NVidia CUDA Toolkit. Their manual installation notes don't say anything about installing the Nvidia CUDA Toolkit that contains nvcuda.dll.)

Their installer should test for existence and if not found, install it for the user or direct them to the Nvidia's website for downloading. It could also be that nvcuda.dll is on your system and there is a plugin error that is the cause of not generating the correct path to load the DLL. On my system its on C:\Windows\System32 and exists, likely because it was included with my execution of the Nvidia GeForce Experience installation.
The DLL "nvcudaXX.dll" is part of the NVIDIA Driver and not part of the NVIDIA CUDA Toolkit. This is a problem with how the user installed the driver, and not the StreamFX Installer. The exact cause for this issue is unknown, but usually just using the official NVIDIA Driver installer fixes it. You can find it here on Windows 10: "C:\Windows\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_<different for every person>".
 
Top