Red5 RTMPT streaming over port 80 exception - actionscript-3

I followed Mondain's post to set up Red5 with RTMPT over port 80 and it mostly works.
However, on a Mac the stream breaks down after a couple of seconds. Here is the relevant excerpt from the Red5 console:
[WARN] [NioProcessor-16] org.red5.server.net.rtmp.RTMPMinaIoHandler - Exception caught null
[WARN] [Red5_Scheduler_Worker-4] org.red5.server.net.rtmp.RTMPConnection - Closing RTMPTConnection from 98.207.104.42 : 37953 to 54.245.114.146 (in: 64790 out 3665 ), with id 25769, due to too much inactivity (79868 ms), last ping sent 4999 ms ago
[WARN] [Red5_Scheduler_Worker-4] org.red5.server.net.rtmp.RTMPConnection - This often happens if YOUR Red5 application generated an exception on start-up. Check earlier in the log for that exception first!
Did anyone manage to get RTMPT streaming working on a Mac?

I debug and develop on Mac with Red5. I have had no issues with Red5 on OSX.
The log message actually tells you that there might be some other exception elsewhere.
Also you did not tell anything about your Red5 version. You should try to use the latest snapshot/release.
"due to too much inactivity" can also happen if you simply forget to close your old browser instance connected to a red5 server while you restart red5.

Related

finding Element causing chrome driver instance to crash

First the Environment:
Node JS 16.15.0
Web Driver io v7 (wdio)
wdio/cucumber framework
end to end testing of a website
-obviously using cucumber and feature files
using a test configuration file similar to wdio's
using wdio-chromedriver-service v7.2.6 and npm chromedriver package version ^107 to produce a browser to hit
my browser : chrome v107.0.5304.62
The Question:
an element cannot be found by webDriver as I expect, but the command causes the instance to crash
I am searching for an element that no longer appears on the page (it is a spinner element that shows the page is loading)
I call
if(await this.spinner.isDisplayed())
and then the test run hangs, the debugger tells me the command
INFO webdriver: COMMAND findElement("css selector", "i.fa-spinner")
is running and then nothing else, finally the renderer times out
WARN chromedriver: [SEVERE]: Timed out receiving message from renderer: 600.000
DEBUG webdriver: request failed due to response error: timeout
and the chrome instance crashes shortly later
I am unsure why this behavior is happening, is something wrong with my wdio configuration? or with my chrome driver?
What I have tried
I understand that
browser.setTimeout exists but
I am sure it is not set in my config anywhere.
I have done a global search (using vscode for all development) for browser.setTimeout (no results).
I have manually set browser.setTimeout({ 'implicit': 0 }) (no success).
I have also tried directly hitting a chrome driver instance by manually downloading a chrome driver exe that matched my browser version v107.0.5304.62 and removing the 'services: ['chromedriver']'
from my test config file
when this happens something very interesting occurs, I can keep running after searching for the element that broke the run before, but we dont get very far and the command still causes issues. Chrome driver is throwing errors like
error: 'no such element',
[0-0] message: 'no such element: Unable to locate element: {"method":"css selector","selector":"i.fa-spinner"}\n' +
[0-0] ' (Session info: chrome=107.0.5304.87)'
The browser closes shortly afterwards without progressing through the rest of the tests.
I find it interesting that the version that chrome driver says it is running is 107.0.5304.87 since the version of chromedriver I downloaded clearly says it is v107.0.5304.62 and my chrome version clearly states it is also v107.0.5304.62 .
though theoretically using v107.0.5304.87 shouldnt be an issue according to this
since the 107.0.5304 part matches across the board
I could use some assistance.
We had the same issue this days, seems there is a bug introduced in Chrome 106; try to change config or downgrade Chrome on the machine to use Chrome 105 as with this version is working.

chrome 83 started crashing since upgrade

Since the upgrade my angular e2e tests started failing with following message.
I am using directConnect: true and all my tests are using async/await.
It looks it is crashing and does not always crash at the same point in my tests - and I do have some test running successfully. Disabled sharding as well.
- Failed: unknown error: session deleted because of page crash
from unknown error: cannot determine loading status
from tab crashed
(Session info: headless chrome=83.0.4103.61)
(Driver info: chromedriver=83.0.4103.39 (ccbf011cb2d2b19b506d844400483861342c20cd-refs/branch-heads/4103#{#416}),platform=Linux 3.10.0-1127.el7.x86_64 x86_64)
UPDATE: 6/1/2020
After adding more shared memory (finding CI runners that have more memory) this problem is gone. Still leaves the problem in a "mystery mode".
Update 6/2/2020:
Chrome Flags
'headless',
'verbose',
'w3c=false',
'disable-infobars',
'window-size=1440x1080',
'disable-dev-shm-usage',
'disable-gpu',
'incognito',
'disable-extensions',
'disable-plugins',
'no-sandbox'
I'm using chrome headless in podman and I've run into the same issue, here's what seems to work for me:
increase /dev/shm
remove "disable-dev-shm-usage" option
I needed the option in the past because it was impossible to change default /dev/shm size in a proprietary cloud software I'm using, looks like it's broken in the last chrome release.
The funny thing is - chrome also runs much faster after the changes
same here, after every update they want us to suffer, to find a pass to buddhism

Selenium Timedout Exception while running test cases from Jenkins

Am running a set of test cases from Jenkins. All the test cases are failing with org.openqa.selenium.TimedoutException on all the functions. I have tested the same code using eclipse in local and its executing fine. Please check on the below error and help on resolving this issue
Configurations:
Selenium- standalone - jar - 2.53
Chromedriver - 2.36
Chrome Browser - 65
testng jar = 6.8
Code Sample:
WebDriverWait wait = new WebDriverWait(driver, 1000);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath(ORCollection.get("BtnMDUEligibilityClick").toString())));
WebElement el = driver.findElement(By.xpath(ORCollection.get("BtnMDUEligibilityClick").toString()));
((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true);", el);
WebElementClick(" ",ORCollection.get("BtnMDUEligibilityClick").toString());
Thread.sleep(10000);
Logs:
org.openqa.selenium.TimeoutException: Timed out after 40 seconds waiting for visibility of element located by By.xpath: //button[contains(#class,'js-submit')]
I have increased webdriver.wait value in code from 40 seconds to 1000 but still we are getting the same error as Timedout.
I assume that your XPath expressions are correct and you can manually open the browser on the Jenkins slave machine.
The issue could be connected with the lack of interactive desktop. This could happen if you have installed Jenkins on the slave machine as windows service. The recommended for Windows way to control a Windows slave is by using Launch slave agents via Java Web Start. More info here and here.

IDEA Javascript Chrome Remote Debugging

I try to get the JetBrains IDE Support 2.0.9 running with my IDEA 2017.1.4.
IDEA says that it waits for connection from the Support Extension on IDE port 63342.
The problem I found is that the Chrome Plugin gets an 404 error when it tries to create the WebSocket Connection
Ready to load system latest for IntelliJ IDEA 2017.1.4 (127.0.0.1:63342)
logging.kt:43 System latest loaded for IntelliJ IDEA 2017.1.4 (127.0.0.1:63342)
socket.kt:50 WebSocket connection to 'ws://127.0.0.1:63342/jsonRpc?v=2.0.9&f=Mozilla%2F5.0%20(Windows%20NT%206.1%3B%20Win64%3B%20x64)%20AppleWebKit%2F537.36%20(KHTML%2C%20like%20Gecko)%20Chrome%2F59.0.3071.115%20Safari%2F537.36' failed: Error during WebSocket handshake: Unexpected response code: 404
value # socket.kt:50
value # socket.kt:69
value # platform.kt:32
value # chrome.kt:23
$f9 # console.kt:57
$fb # bootstrap.kt:157
$fc # bootstrap.kt:174
logging.kt:51 onerror [object Event]
value # logging.kt:51
$f4 # socket.kt:92
I try to find some solution via Google but the keyword "jsonRpc" polluted the results with no connections to IDEA that helped.
Further informations:
Network has no access to Internet
Chrome Version 59.0.3071.115 64-Bit
OS: Win 7 64bit
IDEA 2017.1.4
Plugin 2.0.9
Installed IDEA Plugins (External Ones)
Atlassian Connector for IntelliJ IDE (Version 3.0.16,SVN:1504201227)
CodeReview for IntelliJ IDEA (Version 0.5.4)
Grep Console (Version 5.9.141.000)
IDETalk (Version 145.258.11)
Lombok Plugin (Version 0.14.16)
SonarLint (Version 2.3.2)
String Manipulatio (Version 4.2.132.445)
Maven Helper (Version 3.1.138.1503)
I know that some could be very old but we don't have Internet Access at our Workstation to se updates or even update very good
PS: is there some kind of documentation what all the WebInterface URLs in IDEA are/how the Interface is constructed?

Failed to Resolve Target Definition on OpenShift

I'm trying to get a Tycho build to work on an OpenShift server. Locally resolving the target definition and building works fine, but when deploying I get the following error:
Unable to read repository at http://download.eclipse.org/rt/rap/2.2/content.xml. Permission denied
I'm not sure if its a problem in the Tycho configuration (but as far as I can remember, I didn't do anything outside the build reactor to make Tycho work) or the one of OpenShift. Could someone tell me what the problem is or how to narrow it down?
I tried switching from a target platform file to defining the repository in the pom.xml. Then I get a similar error message:
Failed to load p2 repository with ID 'rap' from location http://download.eclipse.org/rt/rap/2.2
I found a Linux bug that might be relevant. It doesn't help me, since I'm not even able confirm the server is a Debian. I tried to get the Jenkins to build on some other platform and tried any abbreviation or combination of "Windows" in the (seemingly undocumented) "platform" field, but neither of these values made it change the OS.
Finally got Maven to work with parameters (for how, see here). The log shows nothing out of the ordinary, as far as I can see:
[INFO] Computing target platform for MavenProject: org.acme.dummy:org.acme.dummy.feature:0.0.1-SNAPSHOT # /var/lib/openshift/537cb333e0b8cd68ad000187/app-root/runtime/repo/org.acme.dummy.feature/pom.xml
[DEBUG] Added p2 repository rap-repository (http://download.eclipse.org/rt/rap/2.2)
[DEBUG] Using default execution environment 'JavaSE-1.6'
[DEBUG] Registered artifact repository org.eclipse.tycho.repository.registry.facade.RepositoryBlackboardKey(uri=file:/resolution-context-artifacts#/var/lib/openshift/537cb333e0b8cd68ad000187/app-root/runtime/repo/org.acmr.dummy.feature)
May 21, 2014 10:15:59 AM org.apache.http.impl.client.DefaultRequestDirector tryConnect
INFO: I/O exception (java.net.BindException) caught when connecting to the target host: Permission denied
It's retrying to connect a couple of times, then there is the above exception:
!ENTRY org.eclipse.equinox.p2.transport.ecf 2 0 2014-05-21 10:16:00.073
!MESSAGE Connection to http://download.eclipse.org/rt/rap/2.2/p2.index failed on Permission denied. Retry attempt 0 started
!STACK 0
java.net.BindException: Permission denied
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:376)
at java.net.Socket.bind(Socket.java:631)
at org.eclipse.ecf.internal.provider.filetransfer.httpclient4.ECFHttpClientProtocolSocketFactory.connectSocket(ECFHttpClientProtocolSocketFactory.java:82)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:148)
at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:150)
at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:121)
at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:575)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:425)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:820)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:754)