jaskie / Server

This fork of CasparCG Server contains enhancements used in broadcast play-out system used in TVP.
http://playoutautomation.tvp.pl
GNU General Public License v3.0
20 stars 4 forks source link

Decklink producer fails on Windows 10 #4

Closed martastain closed 5 years ago

martastain commented 5 years ago

With Windows 10 PRO, Decklink producer can be started only once after machine reboot (with lots of access violation errors). After layer clear it is no longer possible to play decklink again. Sometimes even caspar restart does not help and it is necessary to restart the machine.

Windows 7 seems to be unaffected. Tested on two different windows 10 servers with different decklink cards (Duo 1 and Duo 2) and the latest desktop video drivers with the same result.

Tested (and affected) versions are: 6.0, 6.2c and yesterdays 7.0. CCG master as well as 2.07 stable and 2.1 NRK works fine.

First run after machine reboot:

[2019-02-13 14:08:02.480] [0B77F2B8] [info]    Received message from Console: play 1-1 decklink 2\r\n
[2019-02-13 14:08:02.599] [0B95D7B8] [info]    DeckLink Duo 2[decklink_producer] [2|1080i50] successfully initialized.
[2019-02-13 14:08:02.599] [0B95D908] [info]    DeckLink Duo 2[decklink_producer] [2|1080i50] Initialized.
[2019-02-13 14:08:02.620] [0B95D908] [info]    transition[empty=>DeckLink Duo 2[decklink_producer] [2|1080i50]] Initialized.
[2019-02-13 14:08:02.622] [0B95D908] [debug]   Executed command: PlayCommand
[2019-02-13 14:08:02.626] [0B7878B8] [info]    transition[empty=>DeckLink Duo 2[decklink_producer] [2|1080i50]] End Of File.
[2019-02-13 14:08:02.626] [0B7878B8] [trace]   transition[empty=>DeckLink Duo 2[decklink_producer] [2|1080i50]] Uninitializing.
[2019-02-13 14:08:02.627] [0B7878B8] [info]    transition[empty=>DeckLink Duo 2[decklink_producer] [2|1080i50]] Uninitialized.
[2019-02-13 14:08:02.642] [0B95D908] [trace]   Ready for a new command
[2019-02-13 14:08:02.645] [0B787858] [error]   Dynamic exception type: class caspar::win32_access_violation
std::exception::what: Access violation at 005B6E21, trying to read 00000000

[2019-02-13 14:08:02.646] [0B787858] [error]   Dynamic exception type: class caspar::win32_access_violation
std::exception::what: Access violation at 005B6E21, trying to read 00000000

[2019-02-13 14:08:02.647] [0B787858] [error]   Dynamic exception type: class caspar::win32_access_violation
std::exception::what: Access violation at 005B6E21, trying to read 00000000

[2019-02-13 14:08:02.648] [0B787858] [error]   Dynamic exception type: class caspar::win32_access_violation
std::exception::what: Access violation at 005B6E21, trying to read 00000000

[2019-02-13 14:08:02.649] [0B787858] [error]   Dynamic exception type: class caspar::win32_access_violation
std::exception::what: Access violation at 005B6E21, trying to read 00000000

[2019-02-13 14:08:02.650] [0B787858] [error]   Dynamic exception type: class caspar::win32_access_violation
std::exception::what: Access violation at 005B6E21, trying to read 00000000

[2019-02-13 14:08:02.651] [0B787858] [error]   Dynamic exception type: class caspar::win32_access_violation 
std::exception::what: Access violation at 005B6E21, trying to read 00000000

[2019-02-13 14:08:02.652] [0B787858] [error]   Dynamic exception type: class caspar::win32_access_violation
std::exception::what: Access violation at 005B6E21, trying to read 00000000

[2019-02-13 14:08:02.653] [0B787858] [error]   Dynamic exception type: class caspar::win32_access_violation
std::exception::what: Access violation at 005B6E21, trying to read 00000000

[2019-02-13 14:08:02.654] [0B787858] [error]   Dynamic exception type: class caspar::win32_access_violation
std::exception::what: Access violation at 005B6E21, trying to read 00000000
[2019-02-13 14:08:02.729] [0B787858] [error]   Dynamic exception type: class caspar::win32_access_violation
std::exception::what: Access violation at 005B6E21, trying to read 00000000

[2019-02-13 14:08:02.729] [0B787858] [error]   Dynamic exception type: class caspar::win32_access_violation
std::exception::what: Access violation at 005B6E21, trying to read 00000000

[2019-02-13 14:08:02.729] [0B787858] [error]   Dynamic exception type: class caspar::win32_access_violation
std::exception::what: Access violation at 005B6E21, trying to read 00000000

[2019-02-13 14:08:02.730] [0B787858] [error]   Dynamic exception type: class caspar::win32_access_violation
std::exception::what: Access violation at 005B6E21, trying to read 00000000

[2019-02-13 14:08:02.730] [0B787858] [error]   Dynamic exception type: class caspar::win32_access_violation
std::exception::what: Access violation at 005B6E21, trying to read 00000000

[2019-02-13 14:08:02.731] [0B787858] [error]   Dynamic exception type: class caspar::win32_access_violation
std::exception::what: Access violation at 005B6E21, trying to read 00000000

[2019-02-13 14:08:02.731] [0B787858] [error]   Dynamic exception type: class caspar::win32_access_violation
std::exception::what: Access violation at 005B6E21, trying to read 00000000

[2019-02-13 14:08:02.731] [0B787858] [error]   Dynamic exception type: class caspar::win32_access_violation
std::exception::what: Access violation at 005B6E21, trying to read 00000000

[2019-02-13 14:08:02.736] [0B70F610] [trace]   [host_buffer] [13] allocated size:2073600 usage: write_only
[2019-02-13 14:08:02.747] [0B70F610] [trace]   [host_buffer] [14] allocated size:1036800 usage: write_only
[2019-02-13 14:08:02.776] [0B70F610] [trace]   [device_buffer] [6] allocated size:2073600
[2019-02-13 14:08:02.776] [0B70F610] [trace]   [device_buffer] [7] allocated size:1036800
[2019-02-13 14:08:02.776] [0B70F610] [trace]   [device_buffer] [8] allocated size:1036800
[2019-02-13 14:08:02.779] [0B70F610] [trace]   [host_buffer] [15] allocated size:1036800 usage: write_only
[2019-02-13 14:08:02.796] [0B70F610] [trace]   [device_buffer] [9] allocated size:2073600
[2019-02-13 14:08:02.796] [0B70F610] [trace]   [device_buffer] [10] allocated size:1036800
[2019-02-13 14:08:02.796] [0B70F610] [trace]   [device_buffer] [11] allocated size:1036800

Even though there are lots of errors, playback starts. But when I try to clear the channel and start again, there is no picture and info command reports empty-producer.

[2019-02-13 14:08:30.494] [0B77F2B8] [info]    Received message from Console: clear 1\r\n
[2019-02-13 14:08:30.494] [0B95D908] [debug]   Executed command: ClearCommand
[2019-02-13 14:08:30.494] [0B7878B8] [trace]   DeckLink Duo 2[decklink_producer] [2|1080i50] Uninitializing.
[2019-02-13 14:08:30.495] [0B7878B8] [trace]   Created destroyer: 2
[2019-02-13 14:08:30.495] [0B7878B8] [info]    DeckLink Duo 2[decklink_producer] [2|1080i50] Uninitialized.
[2019-02-13 14:08:30.496] [0B95D818] [trace]   DeckLink Duo 2[decklink_producer] [2|1080i50] Destroying on asynchronous destruction thread.
[2019-02-13 14:08:30.507] [0B95D908] [trace]   Ready for a new command
[2019-02-13 14:08:30.576] [0B95D7B8] [info]    DeckLink Duo 2[decklink_producer] [2|1080i50] successfully uninitialized.
[2019-02-13 14:08:37.221] [0B77F2B8] [info]    Received message from Console: play 1-1 decklink 2\r\n
[2019-02-13 14:08:37.284] [0B95DAE8] [info]    DeckLink Duo 2[decklink_producer] [2|1080i50] successfully initialized.
[2019-02-13 14:08:37.284] [0B95D908] [info]    DeckLink Duo 2[decklink_producer] [2|1080i50] Initialized.
[2019-02-13 14:08:37.288] [0B95D908] [info]    transition[empty=>DeckLink Duo 2[decklink_producer] [2|1080i50]] Initialized.
[2019-02-13 14:08:37.288] [0B95D908] [debug]   Executed command: PlayCommand
[2019-02-13 14:08:37.299] [0B95D908] [trace]   Ready for a new command
[2019-02-13 14:08:37.306] [0B7878B8] [info]    transition[empty=>DeckLink Duo 2[decklink_producer] [2|1080i50]] End Of File.
[2019-02-13 14:08:37.306] [0B7878B8] [trace]   transition[empty=>DeckLink Duo 2[decklink_producer] [2|1080i50]] Uninitializing.
[2019-02-13 14:08:37.306] [0B7878B8] [info]    transition[empty=>DeckLink Duo 2[decklink_producer] [2|1080i50]] Uninitialized.
[2019-02-13 14:08:37.312] [0B7878B8] [error]   Dynamic exception type: class caspar::win32_access_violation
std::exception::what: Access violation at 005C4C48, trying to read 00000000

[2019-02-13 14:08:37.312] [0B7878B8] [trace]   DeckLink Duo 2[decklink_producer] [2|1080i50] Uninitializing.
[2019-02-13 14:08:37.313] [0B7878B8] [info]    DeckLink Duo 2[decklink_producer] [2|1080i50] Uninitialized.
[2019-02-13 14:08:37.313] [0B95D818] [trace]   DeckLink Duo 2[decklink_producer] [2|1080i50] Destroying on asynchronous destruction thread.
[2019-02-13 14:08:37.376] [0B95DAE8] [info]    DeckLink Duo 2[decklink_producer] [2|1080i50] successfully uninitialized.
martastain commented 5 years ago

Probably related:

with the following configuration

<channels>
    <channel>
        <video-mode>1080i5000</video-mode>
        <channel-layout>passthru</channel-layout>
        <consumers>
            <decklink>
                <device>1</device>
                <embedded-audio>true</embedded-audio>
                <channel-layout>passthru</channel-layout>
                <latency>normal</latency>
                <keyer>external</keyer>
                <key-only>false</key-only>
                <buffer-depth>3</buffer-depth>
            </decklink>
        </consumers>
    </channel>
    <channel>
        <video-mode>1080i5000</video-mode>
        <input>
            <decklink>
                <device>2</device>
                <timecode-source>sdi</timecode-source>
            </decklink>
        </input>
    </channel>
  </channels>

calling PLAY 1-1 route://2 on windows 7 correctly shows the live input, however on windows 10 there are following errors:

During caspar start:

[2019-02-13 16:55:16.829] [00D7EF30] [info]    Initialized channels.
[2019-02-13 16:55:16.829] [00D7EF30] [info]    Initialized recorders.
[2019-02-13 16:55:16.830] [00D7EF30] [info]    WinSock2 Initialized.
[2019-02-13 16:55:16.830] [00D7EF30] [info]    Listener successfully initialized
[2019-02-13 16:55:16.830] [00D7EF30] [info]    Initialized controllers.
[2019-02-13 16:55:16.830] [00D7EF30] [info]    Initialized osc.
[2019-02-13 16:55:16.830] [00D7EF30] [info]    Started initial media information retrieval.
[2019-02-13 16:55:16.835] [0D1669A8] [error]   Dynamic exception type: class caspar::win32_access_violation
std::exception::what: Access violation at 005C4C48, trying to read 00000000

After calling PLAY 1-1 route://2

play 1-1 route://2\r\n
[2019-02-13 16:55:53.480] [0D166B28] [info]    output[2] [channel-consumer|2] Added.
[2019-02-13 16:55:53.480] [0D166828] [info]    channel[2] Initialized
[2019-02-13 16:55:53.480] [0D166828] [info]    channel[2] Initialized.
[2019-02-13 16:55:53.480] [0D166828] [info]    transition[empty=>channel[2]] Initialized.
[2019-02-13 16:55:53.480] [0D166828] [debug]   Executed command: PlayCommand
[2019-02-13 16:55:53.493] [0D166828] [trace]   Ready for a new command
[2019-02-13 16:55:53.503] [0CF46328] [info]    transition[empty=>channel[2]] End Of File.
[2019-02-13 16:55:53.503] [0CF46328] [trace]   transition[empty=>channel[2]] Uninitializing.
[2019-02-13 16:55:53.503] [0CF46328] [info]    transition[empty=>channel[2]] Uninitialized.
[2019-02-13 16:55:53.503] [0CF46328] [error]   Dynamic exception type: class caspar::win32_access_violation
std::exception::what: Access violation at 005C4C48, trying to read 00000000
jaskie commented 5 years ago

Can you check if memory consumption is in reasonable range? It shouldn't exceed 1GB in general.

I just checked if the issue reproduces on Windows Server 2016, and it don't. I need few days to test it on Windows 10, as I have to prepare environment for it. Using Windows 10 in MCR play-out is rather discouraged, as there is no user control on Windows reboots, however it's worth fixing of course.

To eliminate FFMpeg as source of the exception during CapsparCG startup, please ensure that there are no files in media directory (it seems that the exception throws during initial media info retrieval).

martastain commented 5 years ago

Hello Jerzy,

The log is much cleaner with no media present, but the problem persists. Memory consumption of the CasparCG process is about 200MB (no active playback). Total memory consumption is ~12% (there are no other applications running)

[2019-02-14 11:35:24.990] [00FE24D0] [info]    ############################################################################
[2019-02-14 11:35:24.991] [00FE24D0] [info]    CasparCG Server is distributed by the Swedish Broadcasting Corporation (SVT)
[2019-02-14 11:35:24.991] [00FE24D0] [info]    under the GNU General Public License GPLv3 or higher.
[2019-02-14 11:35:24.991] [00FE24D0] [info]    Please see LICENSE.TXT for details.
[2019-02-14 11:35:24.991] [00FE24D0] [info]    http://www.casparcg.com/
[2019-02-14 11:35:24.991] [00FE24D0] [info]    ############################################################################
[2019-02-14 11:35:24.991] [00FE24D0] [info]    Starting CasparCG Video and Graphics Playout Server 2.0.6.TVP 7.0 
[2019-02-14 11:35:24.991] [00FE24D0] [info]    on Windows 10 Enterprise 
[2019-02-14 11:35:24.991] [00FE24D0] [info]    Intel(R) Xeon(R) CPU E5-2643 0 @ 3.30GHz Physical Threads: 16
[2019-02-14 11:35:24.991] [00FE24D0] [info]    X9DAi
[2019-02-14 11:35:25.007] [00FE24D0] [info]    Decklink: 10.11.4
[2019-02-14 11:35:25.044] [00FE24D0] [info]     - DeckLink Duo 2 [1]
[2019-02-14 11:35:25.044] [00FE24D0] [info]     - DeckLink Duo 2 [2]
[2019-02-14 11:35:25.044] [00FE24D0] [info]     - DeckLink Duo 2 [3]
[2019-02-14 11:35:25.044] [00FE24D0] [info]     - DeckLink Duo 2 [4]
[2019-02-14 11:35:25.045] [00FE24D0] [info]    Bluefish: Not found
[2019-02-14 11:35:25.051] [00FE24D0] [info]    Newtek NDI: NDI SDK WIN32 14:26:21 Oct  5 2018 3.7.1.0
[2019-02-14 11:35:25.051] [00FE24D0] [info]    NewTek iVGA: unavailable (Processing.AirSend.x86.dll)
[2019-02-14 11:35:25.051] [00FE24D0] [info]    FreeImage: 3.15.4
[2019-02-14 11:35:25.051] [00FE24D0] [info]    FFMPEG-avcodec: 58.18.100
[2019-02-14 11:35:25.051] [00FE24D0] [info]    FFMPEG-avformat: 58.12.100
[2019-02-14 11:35:25.051] [00FE24D0] [info]    FFMPEG-avfilter: 7.16.100
[2019-02-14 11:35:25.051] [00FE24D0] [info]    FFMPEG-avutil: 56.14.100
[2019-02-14 11:35:25.051] [00FE24D0] [info]    FFMPEG-swscale: 5.1.100
[2019-02-14 11:35:25.051] [00FE24D0] [info]    Flash: 18.0.0.203
[2019-02-14 11:35:25.052] [00FE24D0] [info]    flash[cg20.fth.pal|0] Initialized.
[2019-02-14 11:35:25.052] [00FE24D0] [info]    flash[cg20.fth.pal|0] Invoking info-command: <invoke name="GetInfo" returntype="xml"><arguments></arguments></invoke>
[2019-02-14 11:35:25.157] [0404EF40] [debug]   flash-player[cg20.fth.pal|1024x576] [command]      <invoke name="OnCommand" returntype="xml"><arguments><string>Command recieved @GetInfo@?@</string></arguments></invoke>
[2019-02-14 11:35:25.230] [0404EF40] [info]    flash-player[cg20.fth.pal|1024x576] Initialized.
[2019-02-14 11:35:25.230] [0404EF40] [trace]   flash-player[cg20.fth.pal|1024x576] Call: <invoke name="GetInfo" returntype="xml"><arguments></arguments></invoke>
[2019-02-14 11:35:25.232] [0404EF40] [debug]   flash-player[cg20.fth.pal|1024x576] [command]      <invoke name="OnCommand" returntype="xml"><arguments><string>Command recieved @GetInfo@?@</string></arguments></invoke>
[2019-02-14 11:35:25.308] [00FE24D0] [trace]   Created destroyer: 1
[2019-02-14 11:35:25.309] [00FE24D0] [trace]   Template-Host: 2.0.4.3803 RC
[2019-02-14 11:35:25.309] [00FE24D0] [info]    casparcg.config:
-----------------------------------------
<?xml version="1.0" encoding="utf-8"?>
<configuration>
   <log-level>trace</log-level>
   <paths>
      <media-path>media\</media-path>
      <log-path>d:\log.dir\tvp\</log-path>
      <data-path>d:\data.dir\</data-path>
      <template-path>d:\templates.dir\</template-path>
   </paths>
   <thumbnails>
      <generate-thumbnails>false</generate-thumbnails>
   </thumbnails>
   <channels>
      <channel>
         <video-mode>1080i5000</video-mode>
         <channel-layout>passthru</channel-layout>
         <consumers>
            <decklink>
               <device>1</device>
               <embedded-audio>true</embedded-audio>
               <channel-layout>passthru</channel-layout>
               <latency>normal</latency>
               <keyer>external</keyer>
               <key-only>false</key-only>
               <buffer-depth>3</buffer-depth>
            </decklink>
         </consumers>
      </channel>
   </channels>
   <recorders/>
   <controllers>
      <tcp>
         <port>5250</port>
         <protocol>AMCP</protocol>
      </tcp>
   </controllers>
   <osc>
      <default-port>6250</default-port>
   </osc>
</configuration>
-----------------------------------------
[2019-02-14 11:35:25.309] [0CA13860] [trace]   flash[cg20.fth.pal|5000] Destroying on asynchronous destruction thread.
[2019-02-14 11:35:25.310] [0CA13860] [trace]   flash[cg20.fth.pal|5000] Uninitializing.
[2019-02-14 11:35:25.310] [00FE24D0] [info]    Initializing OpenGL Device.
[2019-02-14 11:35:25.346] [0CA13440] [info]    OpenGL 4.6.0 NVIDIA 418.91 NVIDIA Corporation
[2019-02-14 11:35:25.346] [0CA13440] [info]    Successfully initialized OpenGL Device.
[2019-02-14 11:35:25.348] [00FE24D0] [info]    Initialized ffmpeg module.
[2019-02-14 11:35:25.349] [00FE24D0] [info]    Initialized bluefish module.
[2019-02-14 11:35:25.359] [00FE24D0] [info]    Initialized decklink module.
[2019-02-14 11:35:25.359] [00FE24D0] [info]    Initialized oal module.
[2019-02-14 11:35:25.359] [00FE24D0] [info]    Initialized ogl module.
[2019-02-14 11:35:25.359] [00FE24D0] [info]    Initialized flash module.
[2019-02-14 11:35:25.359] [00FE24D0] [info]    Initialized image module.
[2019-02-14 11:35:25.359] [00FE24D0] [info]    Initialized newtek module.
[2019-02-14 11:35:25.365] [00FE24D0] [info]    Initialized ndi module.
[2019-02-14 11:35:25.370] [0CA13440] [info]    [shader] Blend-modes are disabled.
[2019-02-14 11:35:25.370] [00FE24D0] [info]    video_channel[1|1080i5000] Successfully Initialized.
[2019-02-14 11:35:25.372] [0CA13440] [trace]   [device_buffer] [1] allocated size:8294400
[2019-02-14 11:35:25.374] [0CA13440] [trace]   [host_buffer] [1] allocated size:8294400 usage: read_only
[2019-02-14 11:35:25.376] [0CA13440] [trace]   [device_buffer] [2] allocated size:8294400
[2019-02-14 11:35:25.377] [0CA13440] [trace]   [host_buffer] [2] allocated size:8294400 usage: read_only
[2019-02-14 11:35:25.382] [0CA13440] [trace]   [host_buffer] [3] allocated size:8294400 usage: read_only
[2019-02-14 11:35:25.383] [0C96C6B8] [info]    DeckLink Duo 2[decklink_consumer] [1-1|1080i5000] Enabled embedded-audio.
[2019-02-14 11:35:25.386] [0C96C6B8] [info]    DeckLink Duo 2[decklink_consumer] [1-1|1080i5000] Disabled low-latency mode.
[2019-02-14 11:35:25.387] [0C96C6B8] [error]   DeckLink Duo 2[decklink_consumer] [1-1|1080i5000] Failed to enable external keyer.
[2019-02-14 11:35:25.401] [0C96C6B8] [info]    DeckLink Duo 2[decklink_consumer] [1-1|1080i5000] Reference signal: not detected.
[2019-02-14 11:35:25.450] [0C96C6B8] [info]    DeckLink Duo 2[decklink_consumer] [1-1|1080i5000] successfully initialized.
[2019-02-14 11:35:25.456] [0CA13800] [info]    output[1] DeckLink Duo 2[decklink_consumer] [1-1|1080i5000] Added.
[2019-02-14 11:35:25.456] [00FE24D0] [info]    Initialized channels.
[2019-02-14 11:35:25.456] [00FE24D0] [info]    Initialized recorders.
[2019-02-14 11:35:25.456] [00FE24D0] [info]    WinSock2 Initialized.
[2019-02-14 11:35:25.457] [00FE24D0] [info]    Listener successfully initialized
[2019-02-14 11:35:25.457] [00FE24D0] [info]    Initialized controllers.
[2019-02-14 11:35:25.457] [00FE24D0] [info]    Initialized osc.
[2019-02-14 11:35:25.457] [00FE24D0] [info]    Started initial media information retrieval.
[2019-02-14 11:35:25.457] [0CC88218] [info]    Initial media information retrieval finished.
[2019-02-14 11:35:25.507] [0CA13440] [trace]   [host_buffer] [4] allocated size:8294400 usage: read_only
[2019-02-14 11:35:25.546] [0CA13440] [trace]   [host_buffer] [5] allocated size:8294400 usage: read_only
[2019-02-14 11:35:25.586] [0CA13440] [trace]   [host_buffer] [6] allocated size:8294400 usage: read_only
[2019-02-14 11:35:25.627] [0CA13440] [trace]   [host_buffer] [7] allocated size:8294400 usage: read_only
[2019-02-14 11:35:25.667] [0CA13440] [trace]   [host_buffer] [8] allocated size:8294400 usage: read_only
[2019-02-14 11:35:25.707] [0CA13440] [trace]   [host_buffer] [9] allocated size:8294400 usage: read_only
[2019-02-14 11:35:30.354] [0CA2F0F0] [info]    Received message from Console: play 1-1 decklink 2\r\n
[2019-02-14 11:35:30.419] [0CC884B8] [info]    DeckLink Duo 2[decklink_producer] [2|1080i50] successfully initialized.
[2019-02-14 11:35:30.419] [0CC881B8] [info]    DeckLink Duo 2[decklink_producer] [2|1080i50] Initialized.
[2019-02-14 11:35:30.421] [0CC881B8] [info]    transition[empty=>DeckLink Duo 2[decklink_producer] [2|1080i50]] Initialized.
[2019-02-14 11:35:30.421] [0CC881B8] [debug]   Executed command: PlayCommand
[2019-02-14 11:35:30.426] [0CA13B90] [info]    transition[empty=>DeckLink Duo 2[decklink_producer] [2|1080i50]] End Of File.
[2019-02-14 11:35:30.427] [0CA13B90] [trace]   transition[empty=>DeckLink Duo 2[decklink_producer] [2|1080i50]] Uninitializing.
[2019-02-14 11:35:30.427] [0CA13B90] [info]    transition[empty=>DeckLink Duo 2[decklink_producer] [2|1080i50]] Uninitialized.
[2019-02-14 11:35:30.427] [0CA13B90] [error]   Dynamic exception type: class caspar::win32_access_violation
std::exception::what: Access violation at 005C4C48, trying to read 00000000

[2019-02-14 11:35:30.427] [0CA13B90] [trace]   DeckLink Duo 2[decklink_producer] [2|1080i50] Uninitializing.
[2019-02-14 11:35:30.427] [0CA13B90] [trace]   Created destroyer: 2
[2019-02-14 11:35:30.427] [0CA13B90] [info]    DeckLink Duo 2[decklink_producer] [2|1080i50] Uninitialized.
[2019-02-14 11:35:30.428] [0CC883F8] [trace]   DeckLink Duo 2[decklink_producer] [2|1080i50] Destroying on asynchronous destruction thread.
[2019-02-14 11:35:30.432] [0CC881B8] [trace]   Ready for a new command
[2019-02-14 11:35:30.493] [0CC884B8] [info]    DeckLink Duo 2[decklink_producer] [2|1080i50] successfully uninitialized.

We are using the following method to prevent automatic updates and reboots and so far, it works for us. https://www.easeus.com/todo-backup-resource/how-to-stop-windows-10-from-automatically-update.html

So far I tried:

I am downloading Windows Server 2019 trial at the moment and I'll post the results.

martastain commented 5 years ago

With Windows Server Essentials 2019, Decklink producer works without a problem.

I also reinstalled Windows 10 to rule out possible driver/software conflict, but the access violation error is present even on a fresh install (only decklink and nvidia drivers were installed).

jaskie commented 5 years ago

The issue was in fact caused by Flash producer, which executed CoFreeUnusedLibrariesEx when relevant Flash template host (.fth file) was in main or templates directory. When the file is missing, everything was OK (except Flash content). Now it needs testing, how the server behave when flash template is running over 49 days (as it was reason to add the CoFreeUnusedLibrariesEx function). Compiled binaries are here.