Giter Club home page Giter Club logo

shaka-lab's People

Contributors

joeyparrish avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

shaka-lab's Issues

shaka-lab-node failure on Windows

Our lab nodes on Windows seem to have failed while I was on vacation. It's not clear what went wrong.

https://github.com/shaka-project/shaka-player/actions/runs/6260141172/job/16998932242

Log snippet from the nightly run, to preserve it:

21 09 2023 10:45:48.386:ERROR [WebDriver]: WebDriver command failed {
  spec: {
    platform: 'Windows',
    testName: 'Karma test',
    tags: [],
    version: undefined,
    base: 'WebDriver',
    pseudoActivityInterval: 20000,
    browserName: 'chrome',
    'goog:chromeOptions': { args: [Array], excludeSwitches: [Array] }
  },
  error: Error: [get("https://karma.shakalab.rocks:61[70](https://github.com/shaka-project/shaka-player/actions/runs/6260141172/job/16998932242#step:10:71)3/?id=[72](https://github.com/shaka-project/shaka-player/actions/runs/6260141172/job/16998932242#step:10:73)929002")] Error response status: 13, UnknownError - An unknown server-side error occurred while processing the command. Selenium error: Session [url] not available and is not among the last 1000 terminated sessions.
  Active sessions are[]
      at exports.newError (/tmp/runner/work/shaka-player/shaka-player/node_modules/wd/lib/utils.js:152:13)
      at /tmp/runner/work/shaka-player/shaka-player/node_modules/wd/lib/callbacks.js:36:19
      at /tmp/runner/work/shaka-player/shaka-player/node_modules/wd/lib/webdriver.js:205:5
      at Request._callback (/tmp/runner/work/shaka-player/shaka-player/node_modules/wd/lib/http-utils.js:89:7)
      at Request.self.callback (/tmp/runner/work/shaka-player/shaka-player/node_modules/request/request.js:185:22)
      at Request.emit (node:events:513:28)
      at Request.<anonymous> (/tmp/runner/work/shaka-player/shaka-player/node_modules/request/request.js:1161:10)
      at Request.emit (node:events:513:28)
      at IncomingMessage.<anonymous> (/tmp/runner/work/shaka-player/shaka-player/node_modules/request/request.js:10[83](https://github.com/shaka-project/shaka-player/actions/runs/6260141172/job/16998932242#step:10:84):12)
      at Object.onceWrapper (node:events:627:28) {
    status: 13,
    cause: { sessionId: null, status: 13, value: [Object] },
    inspect: [Function (anonymous)],
    'jsonwire-error': {
      status: 13,
      summary: 'UnknownError',
      detail: 'An unknown server-side error occurred while processing the command.'
    }
  }
}
21 09 2023 10:45:48.3[93](https://github.com/shaka-project/shaka-player/actions/runs/6260141172/job/16998932242#step:10:94):ERROR [launcher]: Cannot start chrome via Remote WebDriver
	undefined
21 09 2023 10:45:48.393:ERROR [launcher]: chrome via Remote WebDriver stdout: 
21 09 2023 10:45:48.393:ERROR [launcher]: chrome via Remote WebDriver stderr:

In this state, the tests fail fast in manual test runs. The Selenium hub knows it has no such nodes connected, so requesting Edge, ChromeWindows, or FirefoxWindows in Shaka Player lab runs fails right away without a long timeout.

When I investigated the device in its failed state, I found that Get-Service -name 'shaka-lab-node' reported it was "Running":

Status   Name               DisplayName
------   ----               -----------
Running  shaka-lab-node     Shaka Lab Node

Log files hadn't been touched in 5 days. The wrapper logs showed:

2023-09-16 18:30:27,375 DEBUG - Starting WinSW in service mode
2023-09-16 18:30:27,431 INFO  - Starting C:\Program Files\nodejs\node.exe C:\ProgramData\chocolatey\lib\shaka-lab-node\start-nodes.js
2023-09-16 18:30:27,449 INFO  - Started process 5900
2023-09-16 18:30:27,457 DEBUG - Forwarding logs of the process System.Diagnostics.Process (node) to WinSW.RollingLogAppender

Nothing unusual there. The error log for the service had been rotated at about the same time, but no logs had been written since then. Maybe the log rotation is broken?

I found that in its failed state, tasklist | Select -first 3; tasklist | select-string node found one instance of shaka-lab-node-svc.exe and two instances of node.exe. After restarting services, only one instance of node.exe was running. I'm not sure if that is significant or not.

shaka-lab-node adb failure

The Android nodes are failing when the shaka-lab-node user is not a member of the plugdev group. The package install script needs to correct for this in an update.

shaka-lab-node spurious error stopping child processes on Windows

stopAllProcesses may throw a spurious error on Windows when a child process dies before the kill() call:

Error: kill EINVAL                                                                                                                                                ^Z        179,27        57% 
    at ChildProcess.kill (node:internal/child_process:509:13)
    at stopAllProcesses (C:\ProgramData\chocolatey\lib\shaka-lab-node\start-nodes.js:164:13)
    at ChildProcess.<anonymous> (C:\ProgramData\chocolatey\lib\shaka-lab-node\start-nodes.js:287:7)
    at Object.onceWrapper (node:events:634:26)
    at ChildProcess.emit (node:events:519:28)
    at ChildProcess._handle.onexit (node:internal/child_process:292:12)
    at onErrorNT (node:internal/child_process:484:16)
    at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {
  errno: -4071,
  code: 'EINVAL',
  syscall: 'kill'
}

This should be ignored.

macOS machine stuck on prompts after OS update

If you install an OS update remotely over SSH on a mac, the machine may be unable to run tests again until a user clicks through OS prompts, either in person or via VNC.

If there were some way to configure the OS to avoid these prompts, that would be ideal.

shaka-lab-hub stuck after some kind of network failure

According to our logs, our shaka-lab-hub service got into a bad state. The network may have been down when the job started, leading it to complain that it couldn't bind to a non-localhost IP. However, the job stayed "up" in spite of not being functional. Had the service quit at that error, it would have restarted until it was able to run.

Here are the logs from sudo journalctl -xu shaka-lab-hub:

-- Boot 79734be3001a4c92a2bba28a3f6ad2b6 --
Mar 09 22:47:50 shaka-test-linux systemd[1]: Started Shaka Lab Hub.
░░ Subject: A start job for unit shaka-lab-hub.service has finished successfully
░░ Defined-By: systemd
░░ Support: http://www.ubuntu.com/support
░░ 
░░ A start job for unit shaka-lab-hub.service has finished successfully.
░░ 
░░ The job identifier is 207.
Mar 09 22:47:50 shaka-test-linux start-hub.sh[907]: 22:47:50.933 INFO [GridLauncherV3.parse] - Selenium server version: 3.141.59, revision: e82be7d358
Mar 09 22:47:51 shaka-test-linux start-hub.sh[907]: 22:47:51.002 INFO [GridLauncherV3.lambda$buildLaunchers$5] - Launching Selenium Grid hub on port 4444
Mar 09 22:47:51 shaka-test-linux start-hub.sh[907]: 2024-03-09 22:47:51.382:INFO::main: Logging initialized @735ms to org.seleniumhq.jetty9.util.log.StdErrLog
Mar 09 22:47:51 shaka-test-linux start-hub.sh[907]: Exception in thread "main" java.lang.RuntimeException: Error initializing the hub Could not find a non-loopback ip4 address for this mach>
Mar 09 22:47:51 shaka-test-linux start-hub.sh[907]: Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'
Mar 09 22:47:51 shaka-test-linux start-hub.sh[907]: System info: host: 'shaka-test-linux', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'amd64', os.version: '5.15.0-100-generic', java.versio>
Mar 09 22:47:51 shaka-test-linux start-hub.sh[907]: Driver info: driver.version: unknown
Mar 09 22:47:51 shaka-test-linux start-hub.sh[907]:         at org.openqa.grid.web.Hub.initServer(Hub.java:228)
Mar 09 22:47:51 shaka-test-linux start-hub.sh[907]:         at org.openqa.grid.web.Hub.start(Hub.java:243)
Mar 09 22:47:51 shaka-test-linux start-hub.sh[907]:         at org.openqa.grid.selenium.GridLauncherV3.lambda$buildLaunchers$5(GridLauncherV3.java:265)
Mar 09 22:47:51 shaka-test-linux start-hub.sh[907]:         at org.openqa.grid.selenium.GridLauncherV3.lambda$launch$0(GridLauncherV3.java:86)
Mar 09 22:47:51 shaka-test-linux start-hub.sh[907]:         at java.base/java.util.Optional.map(Optional.java:265)
Mar 09 22:47:51 shaka-test-linux start-hub.sh[907]:         at org.openqa.grid.selenium.GridLauncherV3.launch(GridLauncherV3.java:86)
Mar 09 22:47:51 shaka-test-linux start-hub.sh[907]:         at org.openqa.grid.selenium.GridLauncherV3.main(GridLauncherV3.java:70)
Mar 09 22:47:51 shaka-test-linux start-hub.sh[907]: Caused by: org.openqa.selenium.WebDriverException: Could not find a non-loopback ip4 address for this machine
Mar 09 22:47:51 shaka-test-linux start-hub.sh[907]: Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'
Mar 09 22:47:51 shaka-test-linux start-hub.sh[907]: System info: host: 'shaka-test-linux', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'amd64', os.version: '5.15.0-100-generic', java.versio>
Mar 09 22:47:51 shaka-test-linux start-hub.sh[907]: Driver info: driver.version: unknown
Mar 09 22:47:51 shaka-test-linux start-hub.sh[907]:         at org.openqa.selenium.net.NetworkUtils.getIp4NonLoopbackAddressOfThisMachine(NetworkUtils.java:73)
Mar 09 22:47:51 shaka-test-linux start-hub.sh[907]:         at org.openqa.grid.web.Hub.updateHostToNonLoopBackAddressOfThisMachine(Hub.java:309)
Mar 09 22:47:51 shaka-test-linux start-hub.sh[907]:         at org.openqa.grid.web.Hub.initServer(Hub.java:188)
Mar 09 22:47:51 shaka-test-linux start-hub.sh[907]:         ... 6 more
Mar 11 19:11:07 shaka-test-linux systemd[1]: Stopping Shaka Lab Hub...

The service started, failed but didn't die, then stayed like that for two days until I restarted it.

Security Policy violation Binary Artifacts

This issue was automatically created by Allstar.

Security Policy Violation
Project is out of compliance with Binary Artifacts policy: binaries present in source code

Rule Description
Binary Artifacts are an increased security risk in your repository. Binary artifacts cannot be reviewed, allowing the introduction of possibly obsolete or maliciously subverted executables. For more information see the Security Scorecards Documentation for Binary Artifacts.

Remediation Steps
To remediate, remove the generated executable artifacts from the repository.

Artifacts Found

  • selenium-jar/selenium-server-standalone-3.141.59.jar
  • shaka-lab-node/windows/WinSW-x64.exe

Additional Information
This policy is drawn from Security Scorecards, which is a tool that scores a project's adherence to security best practices. You may wish to run a Scorecards scan directly on this repository for more details.


Allstar has been installed on all Google managed GitHub orgs. Policies are gradually being rolled out and enforced by the GOSST and OSPO teams. Learn more at http://go/allstar

This issue will auto resolve when the policy is in compliance.

Issue created by Allstar. See https://github.com/ossf/allstar/ for more information. For questions specific to the repository, please contact the owner or maintainer.

shaka-lab-browsers upgrade error on Mac

Failure while executing; `/usr/bin/env /usr/bin/xattr -d com.apple.quarantine /Applications/Firefox.app` exited with 1. Here's the output:
xattr: /Applications/Firefox.app: No such xattr: com.apple.quarantine

In some cases, the quarantine attribute has already been removed. This xattr command should either silently ignore failures or check for the existence of the attribute before attempting to remove it.

Even with this error, the package is still treated as upgraded/installed afterward, so this is not a high priority to fix.

shaka-lab-certs fails when certbot package is too old

Installing certbot-dns-google-domains may cause a separate certbot package to be installed to /usr/local/ if the one from dpkg in /usr is too old. But the renewal job started by systemd will still invoke the old one, which will fail. After 90 days without an update, the cert will no longer be valid, and most test browsers will fail.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.