Open getroot opened 7 months ago
The destination (OSP) had an internet hickup, and connections would stall. So I'm assuming that the output queue in OME just got bigger and bigger till it crashed. Perhaps if the queue grows too big, OME should consider the connection ended and try to reconnect. From the logs it looks like it only warns when the threshold is reached, but takes no action. Perhaps there can be a warning threshold and a kill threshold. I don't know if it already does this but that's my two cents.
Hopefully this is resolved soon, one of the important features to us.
Can you post your Server.xml? I'm curious to see your settings.
I use this as a template on multiple servers:
<?xml version="1.0" encoding="UTF-8" ?>
<Server version="8">
<Name>OvenMediaEngine</Name>
<Type>origin</Type>
<IP>*</IP>
<PrivacyProtection>false</PrivacyProtection>
<Modules>
<HTTP2><Enable>true</Enable></HTTP2>
<LLHLS><Enable>true</Enable></LLHLS>
</Modules>
<Bind>
<Managers>
<API>
<Port>60080</Port>
<TLSPort>60443</TLSPort>
<WorkerCount>1</WorkerCount>
</API>
</Managers>
<Providers>
<RTMP>
<Port>61935</Port>
<WorkerCount>1</WorkerCount>
</RTMP>
<SRT>
<Port>60999</Port>
<WorkerCount>1</WorkerCount>
</SRT>
</Providers>
<Publishers>
<LLHLS>
<Port>60080</Port>
<TLSPort>60443</TLSPort>
<WorkerCount>1</WorkerCount>
</LLHLS>
</Publishers>
</Bind>
<Managers>
<Host>
<Names>
<Name>localhost:60080</Name>
</Names>
<TLS>
<CertPath>cert.pem</CertPath>
<KeyPath>key.pem</KeyPath>
<ChainCertPath>cert.pem</ChainCertPath>
</TLS>
</Host>
<API>
<AccessToken>poopy</AccessToken>
<CrossDomains><Url>*</Url></CrossDomains>
</API>
</Managers>
<VirtualHosts>
<VirtualHost>
<Name>default</Name>
<Distribution>LiveJoiner</Distribution>
<Host>
<Names><Name>*</Name></Names>
<TLS>
<CertPath>cert.pem</CertPath>
<KeyPath>key.pem</KeyPath>
<ChainCertPath>cert.pem</ChainCertPath>
</TLS>
</Host>
<Applications>
<Application>
<Name>live</Name>
<Type>live</Type>
<Providers><RTMP/><SRT/></Providers>
<Publishers><RTMPPush></RTMPPush><LLHLS><CrossDomains><Url>*</Url></CrossDomains></LLHLS></Publishers>
<OutputProfiles>
<OutputProfile>
<Name>bypass_stream</Name>
<OutputStreamName>${OriginStreamName}</OutputStreamName>
<Encodes>
<Audio>
<Name>bypass_audio</Name>
<Bypass>true</Bypass>
</Audio>
<Video>
<Name>bypass_video</Name>
<Bypass>true</Bypass>
</Video>
</Encodes>
</OutputProfile>
</OutputProfiles>
</Application>
</Applications>
<AdmissionWebhooks>
<ControlServerUrl>http://localhost:9999/webhook/25</ControlServerUrl>
<SecretKey>asdf</SecretKey>
<Timeout>3000</Timeout>
<Enables>
<Providers>rtmp,srt</Providers>
<Publishers></Publishers>
</Enables>
</AdmissionWebhooks>
<CrossDomains>
<Url>*</Url>
</CrossDomains>
</VirtualHost>
</VirtualHosts>
</Server>
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
@vampirefrog
Thank you for reporting. I think I know the cause of the issue you sent me. I'll put it in my improvement plan. I will contact you when it is completed.
Thanks, buddy. I also need to mention that the server is a $4 digital ocean droplet in SFO3 so you can probably test that way if that helps any.
Also, there is another issue here, it doesn't tell you which push is experiencing the issue, it just says that it's one of the pushes. Could you guys add the push ID in the log?
In fact, for me, the server admin, this would be very useful.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Y'all still working on this?I've found another issue where a long running server fills up memory and will not send some pushes, although they appear in the push list, and I'm not sure whether it's the same issue or not. After a restart it works.
@vampirefrog
I found a hang in a specific Push session and applied a Timeout to avoid it. I've patched the master branch. Please test it when you have time to see if the issue is fixed.
https://github.com/AirenSoft/OvenMediaEngine/commit/b53080a50fb9e877ee2cd30d26dd706c202d1264
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
still testing this, it does seem to be working better lately but it's a long term test anyway
Discussed in https://github.com/AirenSoft/OvenMediaEngine/discussions/1572