MCXboxBroadcast / Broadcaster

A simple Geyser extension that broadcasts the server over Xbox Live.
GNU General Public License v3.0
220 stars 45 forks source link

MCXboxBroadcast Disappears from Friends List #145

Open HippieBeak opened 4 days ago

HippieBeak commented 4 days ago

I am having an issue where after a short period of time (<1 hour) MCXboxBroadcast disappears from the friends list and stops adding new friends. Previously, I got around this feature by restarting the extension, but after the recent Nethernet update I get a resource exhausted error (despite having plenty of resources allocated to my Geyser Standalone instance), so I can no longer rely on that:

[09:53:08 ERROR] [mcxboxbroadcast] [Primary Session] Session is dead and hit exception trying to re-create it
com.rtm516.mcxboxbroadcast.core.exceptions.SessionCreationException: Unable to connect to WebRTC for session: null
        at com.rtm516.mcxboxbroadcast.core.SessionManagerCore.createSession(SessionManagerCore.java:204) ~[?:?]
        at com.rtm516.mcxboxbroadcast.core.SessionManagerCore.checkConnection(SessionManagerCore.java:309) ~[?:?]
        at com.rtm516.mcxboxbroadcast.core.SessionManager.updateSession(SessionManager.java:134) ~[?:?]
        at com.rtm516.mcxboxbroadcast.core.SessionManager.updateSession(SessionManager.java:128) ~[?:?]
        at com.rtm516.mcxboxbroadcast.bootstrap.geyser.MCXboxBroadcastExtension.tick(MCXboxBroadcastExtension.java:217) ~[?:?]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) [?:?]
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) [?:?]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) [?:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?]
        at java.lang.Thread.run(Thread.java:833) [?:?]
[09:53:08 INFO] [mcxboxbroadcast] [Primary Session] Starting SessionManager...
>....[242282.028s][warning][os,thread] Failed to start thread - pthread_create failed (EAGAIN) for attributes: stacksize: 1024k, guardsize: 0k, detached.
[09:53:08 ERROR] [mcxboxbroadcast] [Auth] Failed to get/refresh auth token
javax.net.ssl.SSLHandshakeException: Remote host terminated the handshake
        at jdk.internal.net.http.HttpClientImpl.send(HttpClientImpl.java:578) ~[java.net.http:?]
        at jdk.internal.net.http.HttpClientFacade.send(HttpClientFacade.java:123) ~[java.net.http:?]
        at net.lenni0451.commons.httpclient.executor.HttpClientExecutor.execute(HttpClientExecutor.java:48) ~[geyser.jar:?]
        at net.lenni0451.commons.httpclient.HttpClient.execute(HttpClient.java:232) ~[geyser.jar:?]
        at net.lenni0451.commons.httpclient.HttpClient.execute(HttpClient.java:213) ~[geyser.jar:?]
        at com.rtm516.mcxboxbroadcast.core.AuthManager.fetchPlayfabSessionTicket(AuthManager.java:144) ~[?:?]
        at com.rtm516.mcxboxbroadcast.core.AuthManager.initialise(AuthManager.java:124) ~[?:?]
        at com.rtm516.mcxboxbroadcast.core.AuthManager.getXboxToken(AuthManager.java:157) ~[?:?]
        at com.rtm516.mcxboxbroadcast.core.SessionManagerCore.getXboxToken(SessionManagerCore.java:114) ~[?:?]
        at com.rtm516.mcxboxbroadcast.core.SessionManagerCore.init(SessionManagerCore.java:131) ~[?:?]
        at com.rtm516.mcxboxbroadcast.core.SessionManager.init(SessionManager.java:77) ~[?:?]
        at com.rtm516.mcxboxbroadcast.bootstrap.geyser.MCXboxBroadcastExtension.createSession(MCXboxBroadcastExtension.java:205) ~[?:?]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) [?:?]
        at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) [?:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?]
        at java.lang.Thread.run(Thread.java:833) [?:?]
Caused by: javax.net.ssl.SSLHandshakeException: Remote host terminated the handshake
        at jdk.internal.net.http.common.SSLTube.checkForHandshake(SSLTube.java:595) ~[java.net.http:?]
        at jdk.internal.net.http.common.SSLTube$SSLTubeFlowDelegate.checkForHandshake(SSLTube.java:156) ~[java.net.http:?]
        at jdk.internal.net.http.common.SSLFlowDelegate$Reader.errorCommon(SSLFlowDelegate.java:365) ~[java.net.http:?]
        at jdk.internal.net.http.common.SubscriberWrapper.onError(SubscriberWrapper.java:410) ~[java.net.http:?]
        at jdk.internal.net.http.SocketTube$InternalReadPublisher$ReadSubscription.signalCompletion(SocketTube.java:637) ~[java.net.http:?]
        at jdk.internal.net.http.SocketTube$InternalReadPublisher$InternalReadSubscription.read(SocketTube.java:821) ~[java.net.http:?]
        at jdk.internal.net.http.SocketTube$SocketFlowTask.run(SocketTube.java:181) ~[java.net.http:?]
        at jdk.internal.net.http.common.SequentialScheduler$SchedulableTask.run(SequentialScheduler.java:230) ~[java.net.http:?]
        at jdk.internal.net.http.common.SequentialScheduler.runOrSchedule(SequentialScheduler.java:303) ~[java.net.http:?]
        at jdk.internal.net.http.common.SequentialScheduler.runOrSchedule(SequentialScheduler.java:256) ~[java.net.http:?]
        at jdk.internal.net.http.SocketTube$InternalReadPublisher$InternalReadSubscription.handleError(SocketTube.java:757) ~[java.net.http:?]
        at jdk.internal.net.http.SocketTube$InternalReadPublisher.signalError(SocketTube.java:590) ~[java.net.http:?]
        at jdk.internal.net.http.SocketTube$InternalWriteSubscriber.signalError(SocketTube.java:433) ~[java.net.http:?]
        at jdk.internal.net.http.SocketTube$InternalWriteSubscriber.startSubscription(SocketTube.java:390) ~[java.net.http:?]
        at jdk.internal.net.http.AsyncTriggerEvent.handle(AsyncTriggerEvent.java:54) ~[java.net.http:?]
        at jdk.internal.net.http.HttpClientImpl$SelectorManager.run(HttpClientImpl.java:837) ~[java.net.http:?]
Caused by: java.lang.OutOfMemoryError: unable to create native thread: possibly out of memory or process/resource limits reached
        at java.lang.Thread.start0(Native Method) ~[?:?]
        at java.lang.Thread.start(Thread.java:802) ~[?:?]
        at java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:945) ~[?:?]
        at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1364) ~[?:?]
        at jdk.internal.net.http.HttpClientImpl$DelegatingExecutor.execute(HttpClientImpl.java:155) ~[java.net.http:?]
        at jdk.internal.net.http.SocketTube$InternalWriteSubscriber.startSubscription(SocketTube.java:388) ~[java.net.http:?]
        at jdk.internal.net.http.AsyncTriggerEvent.handle(AsyncTriggerEvent.java:54) ~[java.net.http:?]
        at jdk.internal.net.http.HttpClientImpl$SelectorManager.run(HttpClientImpl.java:837) ~[java.net.http:?]
[09:53:08 INFO] [mcxboxbroadcast] [Primary Session] Successfully authenticated as PlayMegaCraft (2535417506101497)
>....[242282.045s][warning][os,thread] Failed to start thread - pthread_create failed (EAGAIN) for attributes: stacksize: 1024k, guardsize: 0k, detached.
[09:53:08 ERROR] [mcxboxbroadcast] [Primary Session] Failed to check profile settings
javax.net.ssl.SSLHandshakeException: Remote host terminated the handshake
        at jdk.internal.net.http.HttpClientImpl.send(HttpClientImpl.java:578) ~[java.net.http:?]
        at jdk.internal.net.http.HttpClientFacade.send(HttpClientFacade.java:123) ~[java.net.http:?]
        at com.github.mizosoft.methanol.Methanol$InterceptorChain.forward(Methanol.java:828) ~[?:?]
        at com.github.mizosoft.methanol.Methanol$AutoDecompressingInterceptor.intercept(Methanol.java:937) ~[?:?]
        at com.github.mizosoft.methanol.Methanol$InterceptorChain.forward(Methanol.java:833) ~[?:?]
        at com.github.mizosoft.methanol.Methanol$RequestRewritingInterceptor.intercept(Methanol.java:881) ~[?:?]
        at com.github.mizosoft.methanol.Methanol$InterceptorChain.forward(Methanol.java:833) ~[?:?]
        at com.github.mizosoft.methanol.Methanol.send(Methanol.java:316) ~[?:?]
        at com.rtm516.mcxboxbroadcast.core.SessionManagerCore.checkGamertagUpdate(SessionManagerCore.java:479) ~[?:?]
        at com.rtm516.mcxboxbroadcast.core.SessionManagerCore.init(SessionManagerCore.java:135) ~[?:?]
        at com.rtm516.mcxboxbroadcast.core.SessionManager.init(SessionManager.java:77) ~[?:?]
        at com.rtm516.mcxboxbroadcast.bootstrap.geyser.MCXboxBroadcastExtension.createSession(MCXboxBroadcastExtension.java:205) ~[?:?]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) [?:?]
        at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) [?:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?]
        at java.lang.Thread.run(Thread.java:833) [?:?]
Caused by: javax.net.ssl.SSLHandshakeException: Remote host terminated the handshake
        at jdk.internal.net.http.common.SSLTube.checkForHandshake(SSLTube.java:595) ~[java.net.http:?]
        at jdk.internal.net.http.common.SSLTube$SSLTubeFlowDelegate.checkForHandshake(SSLTube.java:156) ~[java.net.http:?]
        at jdk.internal.net.http.common.SSLFlowDelegate$Reader.errorCommon(SSLFlowDelegate.java:365) ~[java.net.http:?]
        at jdk.internal.net.http.common.SubscriberWrapper.onError(SubscriberWrapper.java:410) ~[java.net.http:?]
        at jdk.internal.net.http.SocketTube$InternalReadPublisher$ReadSubscription.signalCompletion(SocketTube.java:637) ~[java.net.http:?]
        at jdk.internal.net.http.SocketTube$InternalReadPublisher$InternalReadSubscription.read(SocketTube.java:821) ~[java.net.http:?]
        at jdk.internal.net.http.SocketTube$SocketFlowTask.run(SocketTube.java:181) ~[java.net.http:?]
        at jdk.internal.net.http.common.SequentialScheduler$SchedulableTask.run(SequentialScheduler.java:230) ~[java.net.http:?]
        at jdk.internal.net.http.common.SequentialScheduler.runOrSchedule(SequentialScheduler.java:303) ~[java.net.http:?]
        at jdk.internal.net.http.common.SequentialScheduler.runOrSchedule(SequentialScheduler.java:256) ~[java.net.http:?]
        at jdk.internal.net.http.SocketTube$InternalReadPublisher$InternalReadSubscription.handleError(SocketTube.java:757) ~[java.net.http:?]
        at jdk.internal.net.http.SocketTube$InternalReadPublisher.signalError(SocketTube.java:590) ~[java.net.http:?]
        at jdk.internal.net.http.SocketTube$InternalWriteSubscriber.signalError(SocketTube.java:433) ~[java.net.http:?]
        at jdk.internal.net.http.SocketTube$InternalWriteSubscriber.startSubscription(SocketTube.java:390) ~[java.net.http:?]
        at jdk.internal.net.http.AsyncTriggerEvent.handle(AsyncTriggerEvent.java:54) ~[java.net.http:?]
        at jdk.internal.net.http.HttpClientImpl$SelectorManager.run(HttpClientImpl.java:837) ~[java.net.http:?]
Caused by: java.lang.OutOfMemoryError: unable to create native thread: possibly out of memory or process/resource limits reached
        at java.lang.Thread.start0(Native Method) ~[?:?]
        at java.lang.Thread.start(Thread.java:802) ~[?:?]
        at java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:945) ~[?:?]
        at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1364) ~[?:?]
        at jdk.internal.net.http.HttpClientImpl$DelegatingExecutor.execute(HttpClientImpl.java:155) ~[java.net.http:?]
        at jdk.internal.net.http.SocketTube$InternalWriteSubscriber.startSubscription(SocketTube.java:388) ~[java.net.http:?]
        at jdk.internal.net.http.AsyncTriggerEvent.handle(AsyncTriggerEvent.java:54) ~[java.net.http:?]
        at jdk.internal.net.http.HttpClientImpl$SelectorManager.run(HttpClientImpl.java:837) ~[java.net.http:?]
[09:53:08 INFO] [mcxboxbroadcast] [Primary Session] Creating Xbox LIVE session...
>....[242282.049s][warning][os,thread] Failed to start thread - pthread_create failed (EAGAIN) for attributes: stacksize: 1024k, guardsize: 0k, detached.

And after the restart command, I can no longer dump my session (no errors in the console, but the files do not appear)

Geyser version: This server is running Geyser version 2.4.2-SNAPSHOT MCXboxBroadcast Version: MCXboxBroadcast Extension build 56