mconf / bigbluebot

BigBlueButton bots
MIT License
58 stars 29 forks source link

Error while "Join audio as a listener" #29

Open 06dilipg opened 3 years ago

06dilipg commented 3 years ago

Hi,

Setup of bigbluebutton and bigbluebot is done and while performing testing, i'm facing issue as mentioned below. Please have a look.

Bigbluebutton version used: 2.3 bigbluebot version used: 2.0

Join via video and chat are working as expected. But "Join audio as a listener" snippet is not working as expected after running run.js file.

run.js file: const bigbluebot = require('bigbluebot'); const actions = async page => { await bigbluebot.audio.modal.listen(page); }; bigbluebot.run(actions);

For your referrence, error screenshot is attached below: BotError

Awaiting for the response. Thanks

pedrobmarin commented 3 years ago

Hi @06dilipg ,

Did you set your configuration to version 2.3? https://github.com/mconf/bigbluebot/blob/0e27c5e7ca4de82314bf300a027d205f6fb4403e/config/config.json#L4

06dilipg commented 3 years ago

Hi @06dilipg ,

Did you set your configuration to version 2.3?

https://github.com/mconf/bigbluebot/blob/0e27c5e7ca4de82314bf300a027d205f6fb4403e/config/config.json#L4

Hi @pedrobmarin, The version was not present at bigbluebot/config/config.json. I've updated the version and re-run the run.js, but the above-mentioned error is not resolved.

Thanks

pedrobmarin commented 3 years ago

Maybe it's a locale mismatch issue. Could you confirm your bot is accessing a bigbluebutton room with english default locale? You can set browser's headless mode to false to make it easier to check on that https://github.com/mconf/bigbluebot/blob/0e27c5e7ca4de82314bf300a027d205f6fb4403e/config/config.json#L34

06dilipg commented 3 years ago

Maybe it's a locale mismatch issue. Could you confirm your bot is accessing a bigbluebutton room with english default locale? You can set browser's headless mode to false to make it easier to check on that

https://github.com/mconf/bigbluebot/blob/0e27c5e7ca4de82314bf300a027d205f6fb4403e/config/config.json#L34

Yes, bigbluebutton room is using english as default locale. Post that, i'm able to "join via video and chat" and perform testing. But "Join audio as a listener" snippet is not working as expected after running run.js file.

pedrobmarin commented 3 years ago

Hi @06dilipg

I just made a quick test using v2.0.0 against a bigbluebutton development server and had no problem on joining the listen only audio. So, unless you manage to provide more details over your problem (bot's/media server debug logs) there's no much I can do to help.

06dilipg commented 3 years ago

Hi @pedrobmarin,

Please find below additional information:

after running run.js below are the logs from begining with debug mode enabled:

ubuntu@ip-0-0-0-0:~/bigbluebot$ node run.js INFO 2021-06-25T15:00:25.095Z Bots: 2 INFO 2021-06-25T15:00:25.168Z Life: 60 seconds INFO 2021-06-25T15:00:25.168Z Creating meeting INFO 2021-06-25T15:00:25.874Z Fetching en locale DEBUG 2021-06-25T15:00:25.892Z Fetching en fallback locale DEBUG 2021-06-25T15:00:25.977Z Fetching en normalized locale DEBUG 2021-06-25T15:00:25.987Z Opening browser INFO 2021-06-25T15:00:59.677Z Zane Thompson: join https://example.com at Demo Room INFO 2021-06-25T15:00:59.688Z Roberta Heller: join https://example.com at Demo Room DEBUG 2021-06-25T15:01:56.070Z Roberta Heller: notice [aria-label^="Options"] DEBUG 2021-06-25T15:01:56.272Z Zane Thompson: notice [aria-label^="Options"] DEBUG 2021-06-25T15:02:08.983Z Roberta Heller: [aria-label^="Join audio modal"] is visible DEBUG 2021-06-25T15:02:08.983Z Roberta Heller: skip audio join INFO 2021-06-25T15:02:08.983Z Roberta Heller: perform audio modal listen DEBUG 2021-06-25T15:02:08.984Z Roberta Heller: click [aria-label^="Listen only"] WARN 2021-06-25T15:02:27.371Z Roberta Heller: [aria-label^="Leave audio"] is not visible FAIL 2021-06-25T15:02:27.371Z Roberta Heller: audio modal listen ERROR 2021-06-25T15:02:56.273Z { TimeoutError: waiting for selector [aria-label^="Options"] failed: timeout 60000ms exceeded at new WaitTask (/home/ubuntu/bigbluebot/node_modules/puppeteer/lib/cjs/puppeteer/common/DOMWorld.js:509:34) at DOMWorld.waitForSelectorInPage (/home/ubuntu/bigbluebot/node_modules/puppeteer/lib/cjs/puppeteer/common/DOMWorld.js:420:26) at Object.internalHandler.waitFor (/home/ubuntu/bigbluebot/node_modules/puppeteer/lib/cjs/puppeteer/common/QueryHandler.js:31:77) at DOMWorld.waitForSelector (/home/ubuntu/bigbluebot/node_modules/puppeteer/lib/cjs/puppeteer/common/DOMWorld.js:313:29) at Frame.waitForSelector (/home/ubuntu/bigbluebot/node_modules/puppeteer/lib/cjs/puppeteer/common/FrameManager.js:841:51) at Page.waitForSelector (/home/ubuntu/bigbluebot/node_modules/puppeteer/lib/cjs/puppeteer/common/Page.js:1280:33) at Object.join (/home/ubuntu/bigbluebot/lib/util.js:57:16) at process._tickCallback (internal/process/next_tick.js:68:7) name: 'TimeoutError' } INFO 2021-06-25T15:03:27.374Z Roberta Heller: leaving

Thanks

pedrobmarin commented 3 years ago

Hi @06dilipg , thanks for the logs.

Looks like one of your bots could not join the session:

INFO 2021-06-25T15:00:59.677Z Zane Thompson: join https://example.com at Demo Room
DEBUG 2021-06-25T15:01:56.272Z Zane Thompson: notice [aria-label^="Options"]

and 60 seconds after that it timed out

ERROR 2021-06-25T15:02:56.273Z { TimeoutError: waiting for selector [aria-label^="Options"] failed: timeout 60000ms exceeded

I would expect both bots to have the same problem if this was a bot issue. Did you notice that while testing out of browser headless mode?

06dilipg commented 3 years ago

Hi @06dilipg , thanks for the logs.

Looks like one of your bots could not join the session:

INFO 2021-06-25T15:00:59.677Z Zane Thompson: join https://example.com at Demo Room
DEBUG 2021-06-25T15:01:56.272Z Zane Thompson: notice [aria-label^="Options"]

and 60 seconds after that it timed out

ERROR 2021-06-25T15:02:56.273Z { TimeoutError: waiting for selector [aria-label^="Options"] failed: timeout 60000ms exceeded

I would expect both bots to have the same problem if this was a bot issue. Did you notice that while testing out of browser headless mode?

Hi @pedrobmarin,

Observation while testing out in browser using headless mode:

FYI:

Thanks for looking at the issue at earliest. Appriciate the efforts.

pedrobmarin commented 3 years ago

Hi @06dilipg

This 401 message you got might be related with something that is going wrong at your BigBlueButton deploy or even a problem regarding BigBlueButton itself. Do you face similar problems while joining a large number of regular users in a small time interval?

Can you reproduce this problem increasing bot's wait time? https://github.com/mconf/bigbluebot/blob/744ee63514c25747b5ec9c07b40e996d839c32e3/.env.template#L22-L23

06dilipg commented 3 years ago

Hi @06dilipg

This 401 message you got might be related with something that is going wrong at your BigBlueButton deploy or even a problem regarding BigBlueButton itself. Do you face similar problems while joining a large number of regular users in a small time interval?

Can you reproduce this problem increasing bot's wait time?

https://github.com/mconf/bigbluebot/blob/744ee63514c25747b5ec9c07b40e996d839c32e3/.env.template#L22-L23

Problem can be reproduced by increasing bot's wait time, BIGBLUEBOT_WAIT= 5000.

I believe, BigBlueButton deployment is configured in right way because we're able to use BigBlueButton as expected. So it might not be an issue from BigBlueButton deployment

When BIGBLUEBOT_BOTS=10, 6 are able to join and rest 4 bots are failing with below error:

ERROR   2021-06-30T02:44:24.634Z { TimeoutError: waiting for selector `[aria-label^="Options"]` failed: timeout 120000ms exceeded
    at new WaitTask (/home/ubuntu/bigbluebot/node_modules/puppeteer/lib/cjs/puppeteer/common/DOMWorld.js:509:34)
    at DOMWorld.waitForSelectorInPage (/home/ubuntu/bigbluebot/node_modules/puppeteer/lib/cjs/puppeteer/common/DOMWorld.js:420:26)
    at Object.internalHandler.waitFor (/home/ubuntu/bigbluebot/node_modules/puppeteer/lib/cjs/puppeteer/common/QueryHandler.js:31:77)
    at DOMWorld.waitForSelector (/home/ubuntu/bigbluebot/node_modules/puppeteer/lib/cjs/puppeteer/common/DOMWorld.js:313:29)
    at Frame.waitForSelector (/home/ubuntu/bigbluebot/node_modules/puppeteer/lib/cjs/puppeteer/common/FrameManager.js:841:51)
    at Page.waitForSelector (/home/ubuntu/bigbluebot/node_modules/puppeteer/lib/cjs/puppeteer/common/Page.js:1280:33)
    at Object.join (/home/ubuntu/bigbluebot/lib/util.js:57:16)
    at process._tickCallback (internal/process/next_tick.js:68:7) name: 'TimeoutError' }

Same issue is faced when joining a large number of regular users in a small time interval.

Thanks

pedrobmarin commented 3 years ago

Hmmm, another guess would be high CPU consumption at the machine that is triggering the bots (although 6 bots seems a really low number). Maybe that's the bottleneck you are facing.

When we run our load tests we have to place sets of bots in multiple machines (normally big ones).