2.5.2 and 2.5.3: Presentation publish fails

56 views
Skip to first unread message

Pablo Pico

unread,
Jul 16, 2022, 1:38:38 PM7/16/22
to BigBlueButton-dev
Hello,
I have been strugglins for a couple of days with a brand new installation of BBB. At first it was 2.5.2. And i just updated to 2.5.3 to see if it fixed it but it did not.

The presentation is simply not working for me.
I looked into it, since i am very familiar with they ruby files involved and how to call the steps and found out that the script is throwing this error:

--
sudo -u bigbluebutton env --chdir=/usr/local/bigbluebutton/core/scripts ruby publish/presentation.rb -m 7b10e20c3e71b50190ebc215f1943e67a15ffa98-1657961963480-presentation
Traceback (most recent call last):
        8: from publish/presentation.rb:26:in `<main>'
        7: from /usr/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require'
        6: from /usr/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require'
        5: from /usr/local/bigbluebutton/core/lib/recordandplayback.rb:24:in `<top (required)>'
        4: from /usr/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require'
        3: from /usr/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require'
        2: from /usr/local/bigbluebutton/core/lib/recordandplayback/events_archiver.rb:21:in `<top (required)>'
        1: from /usr/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require'
/usr/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require': cannot load such file -- redis (LoadError)
--

The line 26 in the code is:
require File.expand_path('../../lib/recordandplayback', __dir__)
I compared it with my production server which is in 2.4 version and stable and it has a slight difference but even if i replace it, the result is the same.

Has anyone run into this issue?
I saw another thread mentioning 

Fred Dixon

unread,
Jul 17, 2022, 7:58:41 AM7/17/22
to BigBlueButton-dev
Hi Pablo,

> /usr/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require': cannot load such file -- redis (LoadError)

Can you paste the output of `gem list redis`.  Here what it looks like on one of our servers

# gem list redis

*** LOCAL GEMS ***

redis (4.1.3)
redis-namespace (1.7.0)

The issue might be related to upgrading.  One way to check, is it possible for you to (temporarily) setup a second BigBlueButton server and do a clean install of 2.5.3 and let us know if you encounter the same problem?


Regards,... Fred


--
You received this message because you are subscribed to the Google Groups "BigBlueButton-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bigbluebutton-...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/bigbluebutton-dev/01dd12f0-9792-4344-87c5-4d175d453144n%40googlegroups.com.


--
BigBlueButton Developer

Like BigBlueButton?  Tweet us at @bigbluebutton

Pablo Pico

unread,
Jul 20, 2022, 4:16:12 PM7/20/22
to BigBlueButton-dev
Hello Fred,
Thank you for your reply.
I did as you suggested and  started with a clean installation  (now 2.5.4)
Recordings do work.

However, i compared the server on production i have (2.4.7) with this 2.5.4 for testing and
gem list redis
In 2.4.7 shows:
redis (4.1.3)
redis-namespace (1.7.0)

While in 2.5.4 shows nothing.

Because of this i am not able to call any of the process or publish ruby scripts manually like i used to. For instance:
sudo -u bigbluebutton env --chdir=/usr/local/bigbluebutton/core/scripts ruby process/presentation.rb -m 7b10e20c3e71b50190ebc215f1943e67a15ffa98-1658280127745
* I tried with root, changing directory, and nothing. This always worked before

The error is still the same. 
 1: from /usr/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require'
/usr/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require': cannot load such file -- redis (LoadError)

How could i fix it?

Moreover, instead of calling the script manually, i could call the queue to start any step. For instance:
/usr/local/bigbluebutton/core/scripts/rap-enqueue.rb "process:podcast" "bed01f49f3cf158c1e191e15062ec2f0395c4c57-1657623731038"

That is also failing!

So, in conclusion, in 2.5.4 recordings are working for me but i can not use the recording queue or call the scripts manually wich is very useful.

Fred Dixon

unread,
Jul 21, 2022, 7:28:53 AM7/21/22
to BigBlueButton-dev
Can you try

 sudo gem install redis redis-namespace
 sudo bbb-conf --restart

and let us know if that gets you going.

Regards,... Fred


Usman Kazi

unread,
Jul 21, 2022, 8:12:59 AM7/21/22
to bigblueb...@googlegroups.com
Hi Fred 

we are using the said version with moodle 4.0.3 latest version
image.png
but we are unable to see its recorded / playback 

image.png

kindly help 

Regards 

Usman 

Pablo Pico

unread,
Jul 22, 2022, 4:24:04 PM7/22/22
to BigBlueButton-dev
Hey Fred.
Thanks for your reply
I installed the gem:
# gem list redis

*** LOCAL GEMS ***

redis (4.7.1)
redis-namespace (1.8.2)

--
I noticed the redis version that came installed with 2.5 is higher than 2.4. And fyi it is showing this warning: 
--
Pipelining commands on a Redis instance is deprecated and will be removed in Redis 5.0.0.

redis.pipelined do
  redis.get("key")
end

should be replaced by

redis.pipelined do |pipeline|
  pipeline.get("key")
end

(called from /usr/local/bigbluebutton/core/vendor/bundle/ruby/2.7.0/gems/redis-namespace-1.8.2/lib/redis/namespace.rb:530:in `namespaced_block'}
--

The queue is working now! 
I am not sure if it was because of installing redis gem.

However i found that this does not fix my issue when calling the scripts manually (without queue)

I found a solution.
Basically it is to modify scripts such as
(/usr/local/bigbluebutton/core/scripts/)
process/presentation.rb
publish/presentation.rb
process/podcast.rb
etc..

In the first lines you might wanna move / put these 2 lines
require 'rubygems'
require 'bundler/setup'
Before the:
require '../../core/lib/recordandplayback'
Or the:
require File.expand_path('../../../lib/recordandplayback', __FILE__)
in some of the files

Again this only affects if the scripts are called directly with something like:
sudo -u bigbluebutton env --chdir=/usr/local/bigbluebutton/core/scripts ruby publish/podcast.rb -m 6994ed0a6a0cea06e04eabc67c1067f2e104cc51-1657422708019-podcast


Pablo Pico

unread,
Jul 22, 2022, 4:35:23 PM7/22/22
to BigBlueButton-dev
Usman you might want to move your question to the setup group.

I would suggest to check if the recording really exists
Or check if the queue is really working with something like
bbb-record --watch
systemctl status bbb-rap-resque-worker.service
systemctl restart bbb-rap-resque-worker.service

Saludos!

Reply all
Reply to author
Forward
0 new messages