Theodul player does not load reliably after restart

Steps to reproduce

Steps to reproduce:
1. Deploy and start Opencast
2. Attempt to play a video

Actual Results:

The player does not load correctly. The problem remains until Opencast is restarted.

Same issue described in

Expected Results:

After an Opencast deploy and start, the player should always initialize correctly.

Workaround (if any):

Restart Opencast until it works.

Activity

Show:
Rüdiger Rolf
August 22, 2017, 12:31 PM

Hi Stephen,

I had seen this error again, but while trying to fix it I could not create it. I thought I had found it on develop.opencast.org, where I could debug it, but we had a broken build on that machine, so a different problem that did not match to your logs.

The only reproduceable issue that I found was when I throttled the network connection in Chrome. Then I hit a problem that looked similar to your logs and your description. I fixed this by increasing the durations for the timeouts. Now it works with a throttled network in the second slowest google chrome profile (GPRS is slowest, but I guess nobody should expect that a video player works with such a bad connection).

I could not reproduce the issue with the download tab that you described, though I build and restarted Opencast several times, and even throttling did not help. But the Plugin looks promissing. Will you contribute it?

Stephen Marquard
August 22, 2017, 12:51 PM

So I concluded that when this happens, the EngagePluginManagerImpl is not getting sent a bundle start event for some reason. There's no clear way to reproduce it (it seems to depend on bundle load order), but what we have changed locally is to increase the start level for the plugins like this (in our case just for adminpresentation profile, but should be done for all profiles which include engage player):

https://bitbucket.org/cilt/opencast/commits/3c6928f88efd2f964b1c4ec4e878dcf24b17af85

We have 2 non-standard plugins: the Download plugin is based on the original Theodul download plugin by Lars which was originally published as GPL and as our version is based on that, the license would also be GPL though I actually can't now find the original.

The other is a "feedback" button and tab which links to a Google Form. Would be nice to make that into a more integrated feedback dialog (e.g. rate video quality, rate audio quality, report playback issue, etc.)

Rüdiger Rolf
August 25, 2017, 12:10 PM

I guess I know now where the "video.min.js:18 Uncaught TypeError: The element or ID supplied is not valid. (videojs)" error seems to come from. In a slow network it can happen that the video.js part is initialized before the template is loaded and rendered. But I have currently no clue how to prevent this race condition.

Stephen Marquard
August 26, 2017, 1:23 PM

Reopening this because the merged PR addresses a timeout issue, but there is still the "missing plugin bundle" issue, i.e. a plugin bundle is not registered with the plugin manager.

Stephen Marquard
August 26, 2017, 1:29 PM

Sorry, I see the PR includes the runlevel change.

Fixed and reviewed

Assignee

Rüdiger Rolf

Reporter

Stephen Marquard

Severity

Incorrectly Functioning Without Workaround

Tags (folksonomy)

None

Components

Fix versions

Affects versions

Priority

Major