Question / Help OBS crashing when streaming & recording using AMF plugin

r4b

New Member
When streaming and recording at the same time, OBS crashes after a varying amount of time.

This also happened on 16.4 and I updated to see if that would fix but have had no success.

Not sure if this is the AMF plugin or an OBS issue. Can't make sense of the logs myself unfortunately! It looks like it could be some part of the AMD driver thats throwing the spanner in the works, but I'm not sure.

Using:
OBS 0.16.5
AMF plugin 1.4.1.5
AMD driver 'non-whql-win10-64bit-radeon-software-crimson-16.11.3-nov8'

I've attached the relevant logs are linked below with a full system spec from speccy is attached.

Many thanks for any assistance in advance!

Log: https://www.dropbox.com/s/4vzw36683elmvj1/2016-11-11 21-07-04.7z?dl=0
Crash log: http://pastebin.com/rr1pEEnR
System specs: http://pastebin.com/WX0fwwTp
 

RytoEX

Forum Admin
Forum Moderator
Developer
I've consulted with the AMD AMF plugin author and he says it's failing inside the driver. Please work through that plugin's troubleshooting guide to see if you can resolve this.
 

r4b

New Member
I've consulted with the AMD AMF plugin author and he says it's failing inside the driver. Please work through that plugin's troubleshooting guide to see if you can resolve this.

I should have mentioned in my OP - I worked through the plugins troubleshooting steps and looked up the FAQ before posting (as advised on the wiki :o) )
 

Xaymar

Active Member
Well, here is my analysis of the problem that definitely happened outside of my control:

Code:
21:31:36.693: [AMF Encoder] Submission queue size is growing. (5/5/180)
21:32:00.615: [AMF Encoder] Submission queue size is growing. (40/5/180)
21:39:01.514: [AMF Encoder] Submission queue size is growing. (175/5/180)
21:39:01.614: [AMF Encoder] Submission queue is full, dropping frame instead...

About 8 minutes before it crashed, the submission queue started filling up. That means that for an unknown reason SubmitInput started taking longer than 16.6ms, and this is also shown in the log. Multiple entries of SubmitInput are randomly spaced apart more than 300ms - 18 times as much as it should have taken.

Next the crashlog:

Code:
Thread EF8 (Crashed)
Stack            EIP              Arg0             Arg1             Arg2             Arg3             Address
000000C72C4FF450 00000000558C9961 000000C72C4FF5A8 0000000000000090 0000000000000020 000000C72C4F0000 atiumd6a.dll!0x558c9961
000000C72C4FF4A0 00000000558CAFD4 0000000000000000 000001CC4504AB60 000001CC4BDCA130 000000C72C4FF928 atiumd6a.dll!0x558cafd4
000000C72C4FF500 000000005584AA10 000000C72C4FF910 0000000000000000 0000000000000000 000000C72C4FF928 atiumd6a.dll!0x5584aa10
000000C72C4FF5A0 000000005584C73F 000000C72C4FF6A0 0000000000000000 0000000000000020 0000000000000000 atiumd6a.dll!0x5584c73f
000000C72C4FF5F0 0000000055B02B7C 0000000000000000 000000C72C4FF7D8 000001CC3E7DC0A0 00007FFAD382C468 atiumd6a.dll!0x55b02b7c
000000C72C4FF650 0000000055AFE497 00007FFAAA95A140 00007FFAD011058C FFFFFFFFFFFFFFFE 000001CC4C0170C0 atiumd6a.dll!0x55afe497
000000C72C4FF680 00007FFACB511FA7 000001CC3E780280 000001CC3E7DC0A0 000000C72C4FF7D8 00007FFAAA7DCFDB atidxx64.dll!0x7ffacb511fa7
000000C72C4FF6F0 00007FFACBA1EBFB 000001CC4BAD4540 000000C72C4FF8A0 0000000000000000 0000000000000007 atidxx64.dll!0x7ffacba1ebfb
000000C72C4FF720 00007FFACB4D0933 000001CC4C0175A0 00007FFAD3820000 000000000000000F 00007FFAAA7B56F0 atidxx64.dll!0x7ffacb4d0933
000000C72C4FF750 00007FFACBF2CBD0 0000000013FA2400 0000000000000000 000000C72C4FF8A0 00007FFAD382C468 atiuxp64.dll!0x7ffacbf2cbd0
000000C72C4FF780 00007FFACC74DA2E 0000000000000000 000001CC4B9D94F0 000001CC4BAD4638 0000000000000000 d3d11.dll!0x7ffacc74da2e
000000C72C4FF830 00007FFACC74FB04 000000C72C4FF910 0000000000000000 0000000000000000 000001CC4C0170C0 d3d11.dll!0x7ffacc74fb04
000000C72C4FF870 0000000057095DC3 0000000000000001 0000000000000000 000001CC45432678 000000C72C4FFBD0 amdave64.dll!0x57095dc3
000000C72C4FF8F0 0000000057093EF0 000000C72C4FFBD0 0000000000000001 000001CC4B7C7F90 000001CC45432510 amdave64.dll!0x57093ef0
000000C72C4FF950 00007FFAAA800C9F 000001CC43182100 000001CC43182100 000001CC43182100 000001CC43182068 amfrt64.dll!0x7ffaaa800c9f
000000C72C4FFB50 00007FFAC0142852 0000000000000000 000000C727EF9A88 0000000000000000 0000000000000000 enc-amf.dll!Plugin::AMD::VCEEncoder::OutputThreadLogic+0xb2
000000C72C4FFBD0 00007FFAC014A705 0000000000000000 0000000000000000 0000000000000000 0000000000000000 enc-amf.dll!std::_LaunchPad<std::unique_ptr<std::tuple<void (__cdecl*)(Plugin::AMD::VCEEncoder * __ptr64),Plugin::AMD::VCEEncoder * __ptr64>,std::default_delete<std::tuple<void (__cdecl*)(Plugin::AMD::VCEEncoder * __ptr64),Plugin::AMD::VCEEncoder * __ptr64> > > >::_R+0x75
000000C72C4FFC10 00007FFAC0149D19 0000000000000000 0000000000000000 0000000000000000 0000000000000000 enc-amf.dll!std::_Pad::_Call_func+0x9
000000C72C4FFC40 00007FFAD0C9CAB0 0000000000000000 0000000000000000 0000000000000000 0000000000000000 ucrtbase.dll!0x7ffad0c9cab0
000000C72C4FFC70 00007FFAD35E8364 0000000000000000 0000000000000000 0000000000000000 0000000000000000 kernel32.dll!0x7ffad35e8364
000000C72C4FFCA0 00007FFAD3855E91 0000000000000000 0000000000000000 0000000000000000 0000000000000000 ntdll.dll!0x7ffad3855e91

If you follow the function list in reverse order (bottom to top) you see that it left my control when it says amfrt64.dll - which is when the code called QueryOutput. Then it went to amdave64.dll, d3d11.dll, atiuxp64.dll, atidxx64.dll and finally atiumd6a.dll where it actually crashed. A crash inside QueryOutput is outside of my control and not something I actually expect to happen.

It's best if you make a GitHub Issue out of this and I'll hand off the information to AMD. For that I need the following:

You can create a memory dump of obs64.exe by right clicking on it in the Task Manager Details panel and selecting "Create dump file".
 

r4b

New Member
Thanks for the great explanation @Xaymar. I had my suspicions that it wasn't something with your control.

I'll reproduce this today and post up an issue on github with the memory dump.
 

Xaymar

Active Member
@r4b Could you provide the Hardware ID for your card?
You can find it in Radeon Settings under the System -> Hardware tab, it's called Device ID.
 
Top