DenisD3D / Mc2Discord

Link your Minecraft server chat with your Discord (75k downloads)
https://modrinth.com/mod/mc2discord
Apache License 2.0
43 stars 11 forks source link

Source emited more than one item Error #101

Closed Jacob8547 closed 3 months ago

Jacob8547 commented 8 months ago

Describe the bug

Console keeps spamming this code below a few times per second. I'm using Fabric 1.20.2 with the latest version of the mod, ViaBackwards, and ViaVersion installed. However, I have a lot of other mods that could be causing this issue. If you could help me with this, it'd be much appreciated! Thank you.

[19:30:40 ERROR] [boundedElastic-4]: [Operators] Operator called default onErrorDropped fr.denisd3d.mc2discord.shadow.reactor.core.Exceptions$ErrorCallbackNotImplemented: java.lang.IndexOutOfBoundsException: Source emitted more than one item Caused by: java.lang.IndexOutOfBoundsException: Source emitted more than one item at fr.denisd3d.mc2discord.shadow.reactor.core.publisher.MonoSingle$SingleSubscriber.onNext(MonoSingle.java:134) ~[mc2discord-fabric-1.20.2-4.2.3.jar:?] at fr.denisd3d.mc2discord.shadow.reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onNext(FluxSwitchIfEmpty.java:74) ~[mc2discord-fabric-1.20.2-4.2.3.jar:?] at fr.denisd3d.mc2discord.shadow.reactor.core.publisher.FluxFilter$FilterSubscriber.onNext(FluxFilter.java:113) ~[mc2discord-fabric-1.20.2-4.2.3.jar:?] at fr.denisd3d.mc2discord.shadow.reactor.core.publisher.MonoFlatMapMany$FlatMapManyInner.onNext(MonoFlatMapMany.java:250) ~[mc2discord-fabric-1.20.2-4.2.3.jar:?] at fr.denisd3d.mc2discord.shadow.reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:122) ~[mc2discord-fabric-1.20.2-4.2.3.jar:?] at fr.denisd3d.mc2discord.shadow.reactor.core.publisher.MonoFlatMapMany$FlatMapManyInner.onNext(MonoFlatMapMany.java:250) ~[mc2discord-fabric-1.20.2-4.2.3.jar:?] at fr.denisd3d.mc2discord.shadow.reactor.core.publisher.FluxArray$ArraySubscription.fastPath(FluxArray.java:172) ~[mc2discord-fabric-1.20.2-4.2.3.jar:?] at fr.denisd3d.mc2discord.shadow.reactor.core.publisher.FluxArray$ArraySubscription.request(FluxArray.java:97) ~[mc2discord-fabric-1.20.2-4.2.3.jar:?] at fr.denisd3d.mc2discord.shadow.reactor.core.publisher.MonoFlatMapMany$FlatMapManyMain.onSubscribeInner(MonoFlatMapMany.java:150) ~[mc2discord-fabric-1.20.2-4.2.3.jar:?] at fr.denisd3d.mc2discord.shadow.reactor.core.publisher.MonoFlatMapMany$FlatMapManyInner.onSubscribe(MonoFlatMapMany.java:245) ~[mc2discord-fabric-1.20.2-4.2.3.jar:?] at fr.denisd3d.mc2discord.shadow.reactor.core.publisher.FluxArray.subscribe(FluxArray.java:53) ~[mc2discord-fabric-1.20.2-4.2.3.jar:?] at fr.denisd3d.mc2discord.shadow.reactor.core.publisher.FluxArray.subscribe(FluxArray.java:59) ~[mc2discord-fabric-1.20.2-4.2.3.jar:?] at fr.denisd3d.mc2discord.shadow.reactor.core.publisher.Flux.subscribe(Flux.java:8642) ~[mc2discord-fabric-1.20.2-4.2.3.jar:?] at fr.denisd3d.mc2discord.shadow.reactor.core.publisher.MonoFlatMapMany$FlatMapManyMain.onNext(MonoFlatMapMany.java:195) ~[mc2discord-fabric-1.20.2-4.2.3.jar:?] at fr.denisd3d.mc2discord.shadow.reactor.core.publisher.MonoPublishOn$PublishOnSubscriber.run(MonoPublishOn.java:181) ~[mc2discord-fabric-1.20.2-4.2.3.jar:?] at fr.denisd3d.mc2discord.shadow.reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:68) ~[mc2discord-fabric-1.20.2-4.2.3.jar:?] at fr.denisd3d.mc2discord.shadow.reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:28) ~[mc2discord-fabric-1.20.2-4.2.3.jar:?] at java.util.concurrent.FutureTask.run(FutureTask.java:317) ~[?:?] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[?:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?] at java.lang.Thread.run(Thread.java:1583) ~[?:?]

Your config file

http://m2d.denisd3d.fr/uploads/view?key=3241cdd9-3070-4cb6-bd2c-29613b84f12f

DenisD3D commented 7 months ago

Not sure how to fix those. I can't manage to reproduce them. Could you first try to run the server without any other mod and check if the error still appear ?

Jacob8547 commented 7 months ago

Okay I did some troubleshooting, and it only spams the error once you add "logs" to the config (1st code block). It also send's the previous errors TWICE when you change the name and pfp of the webhook. It also sends this (2nd code block), when you HAVEN'T changed the "logs" config but change the name and pfp, which i've never seen before.

subscriptions = ["info", "chat", "command", "logs"]

[16:26:06] [Timer-2/ERROR]: Operator called default onErrorDropped
fr.denisd3d.mc2discord.shadow.reactor.core.Exceptions$ErrorCallbackNotImplemented: fr.denisd3d.mc2discord.shadow.reactor.core.publisher.Sinks$EmissionException: Spec. Rule 1.3 - onSubscribe, onNext, onError and onComplete signaled to a Subscriber MUST be signaled serially.
Caused by: fr.denisd3d.mc2discord.shadow.reactor.core.publisher.Sinks$EmissionException: Spec. Rule 1.3 - onSubscribe, onNext, onError and onComplete signaled to a Subscriber MUST be signaled serially.
    at fr.denisd3d.mc2discord.shadow.reactor.core.publisher.InternalManySink.emitNext(InternalManySink.java:56) ~[mc2discord-fabric-1.20.2-4.2.3.jar:?]
    at fr.denisd3d.mc2discord.shadow.discord4j.gateway.GatewayClient.lambda$send$0(GatewayClient.java:115) ~[mc2discord-fabric-1.20.2-4.2.3.jar:?]
    at fr.denisd3d.mc2discord.shadow.reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onNext(FluxPeekFuseable.java:196) ~[mc2discord-fabric-1.20.2-4.2.3.jar:?]
    at fr.denisd3d.mc2discord.shadow.reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2400) ~[mc2discord-fabric-1.20.2-4.2.3.jar:?]
    at fr.denisd3d.mc2discord.shadow.reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.request(FluxPeekFuseable.java:144) ~[mc2discord-fabric-1.20.2-4.2.3.jar:?]
    at fr.denisd3d.mc2discord.shadow.reactor.core.publisher.MonoIgnoreElements$IgnoreElementsSubscriber.onSubscribe(MonoIgnoreElements.java:72) ~[mc2discord-fabric-1.20.2-4.2.3.jar:?]
    at fr.denisd3d.mc2discord.shadow.reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onSubscribe(FluxPeekFuseable.java:178) ~[mc2discord-fabric-1.20.2-4.2.3.jar:?]
    at fr.denisd3d.mc2discord.shadow.reactor.core.publisher.FluxJust.subscribe(FluxJust.java:68) ~[mc2discord-fabric-1.20.2-4.2.3.jar:?]
    at fr.denisd3d.mc2discord.shadow.reactor.core.publisher.Mono.subscribe(Mono.java:4490) ~[mc2discord-fabric-1.20.2-4.2.3.jar:?]
    at fr.denisd3d.mc2discord.shadow.reactor.core.publisher.FluxFlatMap$FlatMapMain.onNext(FluxFlatMap.java:427) ~[mc2discord-fabric-1.20.2-4.2.3.jar:?]
    at fr.denisd3d.mc2discord.shadow.reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:335) ~[mc2discord-fabric-1.20.2-4.2.3.jar:?]
    at fr.denisd3d.mc2discord.shadow.reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294) ~[mc2discord-fabric-1.20.2-4.2.3.jar:?]
    at fr.denisd3d.mc2discord.shadow.reactor.core.publisher.FluxFlatMap$FlatMapMain.onSubscribe(FluxFlatMap.java:371) ~[mc2discord-fabric-1.20.2-4.2.3.jar:?]
    at fr.denisd3d.mc2discord.shadow.reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) ~[mc2discord-fabric-1.20.2-4.2.3.jar:?]
    at fr.denisd3d.mc2discord.shadow.reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) ~[mc2discord-fabric-1.20.2-4.2.3.jar:?]
    at fr.denisd3d.mc2discord.shadow.reactor.core.publisher.Mono.subscribe(Mono.java:4490) ~[mc2discord-fabric-1.20.2-4.2.3.jar:?]
    at fr.denisd3d.mc2discord.shadow.reactor.core.publisher.Mono.subscribeWith(Mono.java:4605) ~[mc2discord-fabric-1.20.2-4.2.3.jar:?]
    at fr.denisd3d.mc2discord.shadow.reactor.core.publisher.Mono.subscribe(Mono.java:4318) ~[mc2discord-fabric-1.20.2-4.2.3.jar:?]
    at fr.denisd3d.mc2discord.core.StatusManager$PresenceUpdateTask.run(StatusManager.java:119) ~[mc2discord-fabric-1.20.2-4.2.3.jar:?]
    at java.util.TimerThread.mainLoop(Timer.java:566) ~[?:?]
    at java.util.TimerThread.run(Timer.java:516) ~[?:?]

EDIT: This was in a test 1.20.2 server with only the mod and fabric api installed

DenisD3D commented 7 months ago

The errors are internal to the Discord library. It usually retry by itself after an error. I'm gonna try to reproduce the issue but you can keep it like this if everything still works fine

togreglove commented 4 months ago

We had a similar bug, traced it down to the bot having 2 copies of the same webhook. Deleting one solved the issues.