CasparCG / client

Client software primarily used with the CasparCG Server software for audio and video playout, to control graphics and recording, but it can also be used for other tasks within television broadcast.
https://casparcg.com
GNU General Public License v3.0
283 stars 99 forks source link

CasparCG Client 2.0.8 Freezes with defined Atem Mixer #236

Closed sledzik1984 closed 9 months ago

sledzik1984 commented 7 years ago

Hi! I am using CasparCG Client 2.0.8 often with Atem Mixer. If I add mixer in Client config it works like a charm.

But unplugging Atem and leaving it in configuration makes client unusable. When there is no Atem in the network client freezes for few seconds

dotarmin commented 7 years ago

Hii,

Thanks for the report. I actually experienced the same thing yesterday when doing tests related to issue #185. I will throw an eye on reported ATEM issues.

/Armin

Znarkus commented 7 years ago

For me Caspar Client crashes when I try to connect to ATEM switch (7.2 fw). Now I cannot start Caspar Client, because it crashes immediately. Is there any way to reset the config? Windows 10

dotarmin commented 7 years ago

For me Caspar Client crashes when I try to connect to ATEM switch (7.2 fw)

Sorry to hear that you have this issue. I have verified this in some cases and in other cases it just works. I will spend time to investigate the problem and find out exactly what it is causing this issue.

Now I cannot start Caspar Client, because it crashes immediately. Is there any way to reset the config? Windows 10

You could delete your database that Client creates (all settings will be deleted) and next time you start the Client you will have to fix all settings again.

/Armin

Znarkus commented 7 years ago

Thank you @dotarmin! I will try to debug when I have access to an ATEM switcher again. Where is the database stored on Windows? I failed to find it.

dotarmin commented 7 years ago

@Znarkus No problems! Sounds great. All help is welcome! You can find the database under following path on Windows: C:\Users\<User>\.CasparCG\Client\

Best regards, Armin

Znarkus commented 7 years ago

Thank you. I was able to prune the database and run Client with windbg. These are the last log lines.

ModLoad: 00007ffc`50080000 00007ffc`5008e000   C:\WINDOWS\System32\winrnr.dll
ModLoad: 00000000`65e30000 00000000`65e65000   C:\Program Files\Bonjour\mdnsNSP.dll
ModLoad: 00007ffc`52b90000 00007ffc`52bfb000   C:\WINDOWS\System32\fwpuclnt.dll
ModLoad: 00007ffc`4c230000 00007ffc`4c23a000   C:\Windows\System32\rasadhlp.dll
(1ca0.17d0): Break instruction exception - code 80000003 (first chance)
ntdll!DbgBreakPoint:
00007ffc`5f048d60 cc              int     3
0:014> g
ModLoad: 00007ffc`46880000 00007ffc`468c4000   C:\WINDOWS\SYSTEM32\edputil.dll
(1ca0.1084): Access violation - code c0000005 (first chance)
First chance exceptions are reported before any exception handling.
This exception may be expected and handled.
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for C:\caspercg-client\qatemcontrol.dll - 
qatemcontrol!ZN18QAtemCameraControl6onCCdPERK10QByteArray+0xaad:
00000000`6de6402d c6420400        mov     byte ptr [rdx+4],0 ds:00000000`00000004=??
0:000> g
(1ca0.1084): Access violation - code c0000005 (!!! second chance !!!)
qatemcontrol!ZN18QAtemCameraControl6onCCdPERK10QByteArray+0xaad:
00000000`6de6402d c6420400        mov     byte ptr [rdx+4],0 ds:00000000`00000004=??
0:000> g
(1ca0.1084): Access violation - code c0000005 (first chance)
First chance exceptions are reported before any exception handling.
This exception may be expected and handled.
qatemcontrol!ZN18QAtemCameraControl6onCCdPERK10QByteArray+0xaad:
00000000`6de6402d c6420400        mov     byte ptr [rdx+4],0 ds:00000000`00000004=??
0:000> g
(1ca0.1084): Access violation - code c0000005 (!!! second chance !!!)
qatemcontrol!ZN18QAtemCameraControl6onCCdPERK10QByteArray+0xaad:
00000000`6de6402d c6420400        mov     byte ptr [rdx+4],0 ds:00000000`00000004=??
0:000> g
(1ca0.1084): Access violation - code c0000005 (first chance)
First chance exceptions are reported before any exception handling.
This exception may be expected and handled.
qatemcontrol!ZN18QAtemCameraControl6onCCdPERK10QByteArray+0xaad:
00000000`6de6402d c6420400        mov     byte ptr [rdx+4],0 ds:00000000`00000004=??
0:000> g
(1ca0.1084): Access violation - code c0000005 (!!! second chance !!!)
qatemcontrol!ZN18QAtemCameraControl6onCCdPERK10QByteArray+0xaad:
00000000`6de6402d c6420400        mov     byte ptr [rdx+4],0 ds:00000000`00000004=??
0:000> g
(1ca0.1084): Access violation - code c0000005 (first chance)
First chance exceptions are reported before any exception handling.
This exception may be expected and handled.
qatemcontrol!ZN18QAtemCameraControl6onCCdPERK10QByteArray+0xaad:
00000000`6de6402d c6420400        mov     byte ptr [rdx+4],0 ds:00000000`00000004=??
0:000> g
(1ca0.1084): Access violation - code c0000005 (!!! second chance !!!)
qatemcontrol!ZN18QAtemCameraControl6onCCdPERK10QByteArray+0xaad:
00000000`6de6402d c6420400        mov     byte ptr [rdx+4],0 ds:00000000`00000004=??

I might have triggered it multiple times..

dedicatedbroadcastsolutions commented 6 years ago

I just got a compile environment set up on the computer that I am haing this problem with. Here is the debug output of the master branch.

Starting C:\Users\Stateline GFX\Development\GitHub\client\build-Solution-Qt5-Debug\Shell\debug\shell.exe... [2018-07-13 19:01:52.072] [3514] [D] Starting CasparCG Client 2.0.8. [2018-07-13 19:01:53.199] [3514] [D] Using SQLite database [2018-07-13 19:01:53.991] [3514] [W] QLabel::setProperty: Property "sizeHint" invalid, read-only or does not exist [2018-07-13 19:01:54.993] [3514] [D] Listening for incoming OSC messages over UDP on port 6250 [2018-07-13 19:01:55.000] [3514] [D] Listening for incoming OSC messages over WebSocket on port 4250 [2018-07-13 19:03:45.994] [3514] [F] ASSERT failure in QList::operator[]: "index out of range", file C:\Qt\Qt-5.4.1\qt-5.4.1-x64-mingw492r1-seh-opengl-rev1\include/QtCore/qlist.h, line 486 C:/Users/Stateline GFX/Development/GitHub/client/build-Solution-Qt5-Debug/Shell/debug/shell.exe exited with code 3

Starting C:\Users\Stateline GFX\Development\GitHub\client\build-Solution-Qt5-Debug\Shell\debug\shell.exe... [2018-07-13 19:06:13.604] [3a68] [D] Starting CasparCG Client 2.0.8. [2018-07-13 19:06:14.649] [3a68] [D] Using SQLite database [2018-07-13 19:06:15.363] [3a68] [W] QLabel::setProperty: Property "sizeHint" invalid, read-only or does not exist [2018-07-13 19:06:16.345] [3a68] [D] Listening for incoming OSC messages over UDP on port 6250 [2018-07-13 19:06:16.348] [3a68] [D] Listening for incoming OSC messages over WebSocket on port 4250 [2018-07-13 19:06:16.535] [3a68] [F] ASSERT failure in QList::operator[]: "index out of range", file C:\Qt\Qt-5.4.1\qt-5.4.1-x64-mingw492r1-seh-opengl-rev1\include/QtCore/qlist.h, line 486 C:/Users/Stateline GFX/Development/GitHub/client/build-Solution-Qt5-Debug/Shell/debug/shell.exe exited with code 3

Starting C:\Users\Stateline GFX\Development\GitHub\client\build-Solution-Qt5-Debug\Shell\debug\shell.exe... [2018-07-13 19:07:24.375] [3d50] [D] Starting CasparCG Client 2.0.8. [2018-07-13 19:07:25.383] [3d50] [D] Using SQLite database [2018-07-13 19:07:28.693] [3d50] [W] QLabel::setProperty: Property "sizeHint" invalid, read-only or does not exist [2018-07-13 19:07:29.660] [3d50] [D] Listening for incoming OSC messages over UDP on port 6250 [2018-07-13 19:07:29.661] [3d50] [W] QSqlQuery::value: not positioned on a valid record [2018-07-13 19:07:29.662] [3d50] [W] QSqlQuery::value: not positioned on a valid record [2018-07-13 19:07:29.662] [3d50] [W] QSqlQuery::value: not positioned on a valid record [2018-07-13 19:07:29.663] [3d50] [D] Listening for incoming OSC messages over WebSocket on port 4250 [2018-07-13 19:08:03.105] [3d50] [W] QSqlQuery::value: not positioned on a valid record [2018-07-13 19:08:03.106] [3d50] [W] QSqlQuery::value: not positioned on a valid record [2018-07-13 19:08:03.106] [3d50] [W] QSqlQuery::value: not positioned on a valid record [2018-07-13 19:08:24.511] [3d50] [F] ASSERT failure in QList::operator[]: "index out of range", file C:\Qt\Qt-5.4.1\qt-5.4.1-x64-mingw492r1-seh-opengl-rev1\include/QtCore/qlist.h, line 486 C:/Users/Stateline GFX/Development/GitHub/client/build-Solution-Qt5-Debug/Shell/debug/shell.exe exited with code 3

PS: can't seem to make code blocks work on here...

dedicatedbroadcastsolutions commented 6 years ago

The fix for this problem is to update the libqatemcontrol library to the current version of commit b893da7. Lines 43, 44, and 107 of AtemDevice.cpp need updated to work with the new downstream key API.

dedicatedbroadcastsolutions commented 6 years ago

Fixed with Pull Request #251.

dedicatedbroadcastsolutions commented 6 years ago

Fixed with pull request #251 for both branches on here. Someone needs to update the qatemcontrol libraries for linux and mac, but I got it fixed for windows.

Here are a couple of builds I put together for windows. These were forked from the latest commits on each branch.

Here is a build with the included fix.

Master Branch 2.0.8 (current) https://github.com/dedicatedbroadcastsolutions/client/releases/tag/v2.0.8_424978e9d414c17a563303d6ed0395a26164cd56

Next Branch 2.0.9 https://github.com/dedicatedbroadcastsolutions/client/releases/tag/v2.0.9_1cbba79188f0213c5ee105db70c3cadd20312bcc

Julusian commented 9 months ago

ATEM support is being remove in 2.3.0 of this client, to improve stability and minimise maintenance costs.