Skip to content

Fatal error when no trackers is found (No valid http trackers provided) #251

@maximecharriere

Description

@maximecharriere

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.

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

#239

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

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions