-
Notifications
You must be signed in to change notification settings - Fork 74
Open
Description
Current behavior
When a .torrent
file added to Joal has no announcer starting with http*
, the program makes a fatal error with message No valid http trackers provided
and crashes.
Line 23 in cad5df1
throw new NoMoreUriAvailableException("No valid http trackers provided"); |
Expected behavior
When a .torrent
file added to Joal has no announcer starting with http*
, the file is moved to the archive
folder, and the program continue.
Related issue
Setup
OS : Synology DSM 7.2.2
Joal version : 2.1.36
Docker version : 24.0.2
config.json
{
"minUploadRate" : 30,
"maxUploadRate" : 400,
"simultaneousSeed" : 500,
"client" : "qbittorrent-4.6.0.client",
"keepTorrentWithZeroLeechers" : true,
"uploadRatioTarget" : -1.0
}
compose.yaml
version: "3"
services:
joal-ygg:
image: anthonyraymond/joal:latest
container_name: joal-ygg
restart: unless-stopped
volumes:
- /volume1/docker/joal/joal-ygg:/data
ports:
- 3232:3232
command: ["--joal-conf=/data", "--spring.main.web-environment=true", "--server.port=3232", "--joal.ui.path.prefix=MY-PREFIX", "--joal.ui.secret-token=MY-TOCKEN"]
Logs
2025/04/22 13:56:52,stdout,�[m�[0;33m[WARN ] 2025-04-22 11:56:51.687 [ main] o.a.c.l.WebappClassLoaderBase: The web application [ROOT] appears to have started a thread named [clientInboundChannel-2] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
2025/04/22 13:56:52,stdout, java.base@11.0.13/java.lang.Thread.run(Unknown Source)
2025/04/22 13:56:52,stdout, java.base@11.0.13/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
2025/04/22 13:56:52,stdout, java.base@11.0.13/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
2025/04/22 13:56:52,stdout, java.base@11.0.13/java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
2025/04/22 13:56:52,stdout, java.base@11.0.13/java.util.concurrent.LinkedBlockingQueue.poll(Unknown Source)
2025/04/22 13:56:52,stdout, java.base@11.0.13/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source)
2025/04/22 13:56:52,stdout, java.base@11.0.13/java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)
2025/04/22 13:56:52,stdout, java.base@11.0.13/jdk.internal.misc.Unsafe.park(Native Method)
2025/04/22 13:56:52,stdout,�[m�[0;33m[WARN ] 2025-04-22 11:56:51.681 [ main] o.a.c.l.WebappClassLoaderBase: The web application [ROOT] appears to have started a thread named [clientInboundChannel-1] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
2025/04/22 13:56:52,stdout,�[m�[0m[INFO ] 2025-04-22 11:56:51.503 [ main] o.a.c.c.C.[.[.[/]: Destroying Spring FrameworkServlet 'joal'
2025/04/22 13:56:52,stdout,�[m�[0m[INFO ] 2025-04-22 11:56:51.501 [ main] o.a.c.c.StandardService: Stopping service [Tomcat]
2025/04/22 13:56:52,stdout,�[m�[0m[INFO ] 2025-04-22 11:56:51.500 [ main] o.a.c.h.Http11NioProtocol: Pausing ProtocolHandler ["http-nio-3233"]
2025/04/22 13:56:52,stdout,�[m�[0m[INFO ] 2025-04-22 11:56:50.814 [ main] o.a.j.ApplicationClosingListener: JOAL gracefully shut down
2025/04/22 13:56:52,stdout,�[m�[0m[INFO ] 2025-04-22 11:56:50.802 [ Thread-1] o.a.j.c.t.c.ConnectionHandler: IP fetcher thread has been stopped
2025/04/22 13:56:52,stdout,�[m�[0m[INFO ] 2025-04-22 11:56:50.664 [ main] o.a.j.ApplicationClosingListener: Gracefully shutting down application...
2025/04/22 13:56:52,stdout, ... 24 more
2025/04/22 13:56:52,stdout, at org.araymond.joal.ApplicationReadyListener.onApplicationEvent(ApplicationReadyListener.java:33)
2025/04/22 13:56:52,stdout, at org.araymond.joal.core.SeedManager.startSeeding(SeedManager.java:140)
2025/04/22 13:56:52,stdout, at org.araymond.joal.core.ttorrent.client.Client.start(Client.java:102)
2025/04/22 13:56:52,stdout, at org.araymond.joal.core.ttorrent.client.Client.addTorrentFromDirectory(Client.java:126)
2025/04/22 13:56:52,stdout, at org.araymond.joal.core.ttorrent.client.Client.addTorrent(Client.java:130)
2025/04/22 13:56:52,stdout, at org.araymond.joal.core.ttorrent.client.announcer.AnnouncerFactory.create(AnnouncerFactory.java:16)
2025/04/22 13:56:52,stdout, at org.araymond.joal.core.ttorrent.client.announcer.Announcer.<init>(Announcer.java:43)
2025/04/22 13:56:52,stdout, at org.araymond.joal.core.ttorrent.client.announcer.Announcer.buildTrackerClient(Announcer.java:53)
2025/04/22 13:56:52,stdout, at org.araymond.joal.core.ttorrent.client.announcer.tracker.TrackerClientUriProvider.<init>(TrackerClientUriProvider.java:23)
2025/04/22 13:56:52,stdout,Caused by: org.araymond.joal.core.ttorrent.client.announcer.tracker.NoMoreUriAvailableException: No valid http trackers provided
2025/04/22 13:56:52,stdout, at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:65)
2025/04/22 13:56:52,stdout, at org.springframework.boot.loader.Launcher.launch(Launcher.java:58)
2025/04/22 13:56:52,stdout, at org.springframework.boot.loader.Launcher.launch(Launcher.java:108)
2025/04/22 13:56:52,stdout, at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49)
2025/04/22 13:56:52,stdout, at java.base/java.lang.reflect.Method.invoke(Unknown Source)
2025/04/22 13:56:52,stdout, at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
2025/04/22 13:56:52,stdout, at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
2025/04/22 13:56:52,stdout, at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2025/04/22 13:56:52,stdout, at org.araymond.joal.JackOfAllTradesApplication.main(JackOfAllTradesApplication.java:15)
2025/04/22 13:56:52,stdout, at org.springframework.boot.SpringApplication.run(SpringApplication.java:1295)
2025/04/22 13:56:52,stdout, at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306)
2025/04/22 13:56:52,stdout, at org.springframework.boot.SpringApplication.run(SpringApplication.java:323)
2025/04/22 13:56:52,stdout, at org.springframework.boot.SpringApplicationRunListeners.ready(SpringApplicationRunListeners.java:82)
2025/04/22 13:56:52,stdout, at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:114)
2025/04/22 13:56:52,stdout, at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:120)
2025/04/22 13:56:52,stdout, at java.base/java.util.ArrayList.forEach(Unknown Source)
2025/04/22 13:56:52,stdout, at org.springframework.boot.SpringApplicationRunListeners.lambda$ready$6(SpringApplicationRunListeners.java:82)
2025/04/22 13:56:52,stdout, at org.springframework.boot.context.event.EventPublishingRunListener.ready(EventPublishingRunListener.java:114)
2025/04/22 13:56:52,stdout, at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:378)
2025/04/22 13:56:52,stdout, at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:421)
2025/04/22 13:56:52,stdout, at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:143)
2025/04/22 13:56:52,stdout, at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:169)
2025/04/22 13:56:52,stdout, at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:176)
2025/04/22 13:56:52,stdout, at org.araymond.joal.ApplicationReadyListener.onApplicationEvent(ApplicationReadyListener.java:16)
2025/04/22 13:56:52,stdout, at org.araymond.joal.ApplicationReadyListener.onApplicationEvent(ApplicationReadyListener.java:35)
2025/04/22 13:56:52,stdout,java.lang.IllegalStateException: Fatal error encountered
2025/04/22 13:56:52,stdout,�[m�[31m[ERROR] 2025-04-22 11:56:50.661 [ main] o.a.j.ApplicationReadyListener: Fatal error encountered
2025/04/22 13:56:52,stdout,�[m�[0m[INFO ] 2025-04-22 11:56:49.204 [ main] o.a.j.c.c.JoalConfigProvider: App configuration has been successfully loaded
Metadata
Metadata
Assignees
Labels
No labels