MediathekView icon indicating copy to clipboard operation
MediathekView copied to clipboard

ConcurrentModificationException - when loading the old and also at same time start to download a new movie list

Open j0inty opened this issue 1 year ago • 2 comments

Hi,

if you starting MediathekView and the old movie list is loading then start also to download the new list.

java.util.ConcurrentModificationException
	at java.base/java.util.ArrayList$Itr.checkForComodification(ArrayList.java:1013)
	at java.base/java.util.ArrayList$Itr.next(ArrayList.java:967)
	at mediathek.gui.tasks.LuceneIndexWorker.doInBackground(LuceneIndexWorker.java:88)
	at mediathek.gui.tasks.LuceneIndexWorker.doInBackground(LuceneIndexWorker.java:21)
	at java.desktop/javax.swing.SwingWorker$1.call(SwingWorker.java:304)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
	at java.desktop/javax.swing.SwingWorker.run(SwingWorker.java:343)
	at java.base/java.util.concurrent.CompletableFuture$UniRun.tryFire(CompletableFuture.java:787)
	at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
	at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1810)
	at java.base/java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1796)
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312)
	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843)
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808)
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)

regards j0inty

j0inty avatar Nov 29 '23 23:11 j0inty

Hi! Which OS are you using and does it happen repeatingly?

derreisende77 avatar Dec 01 '23 18:12 derreisende77

Hi,

I'm using Arch Linux.

Here is the "--enhanced-logging" output when I reproduced this crash. I don't see the exception stacktrace in output so i will append it.

j0inty@celsius:~$ /home/j0inty/Downloads/MediathekView/MediathekView --enhanced-logging 
[INFO ] [AWT-EventQueue-0] mediathek.Main - Configuring for non-portable mode
[INFO ] [AWT-EventQueue-0] mediathek.Main - Programmstart: 2024-02-06T01:58:50.249569402
[INFO ] [AWT-EventQueue-0] mediathek.Main - Version: 14.0.0
[INFO ] [AWT-EventQueue-0] mediathek.Main - === Java Information ===
[INFO ] [AWT-EventQueue-0] mediathek.Main - Vendor: Eclipse Adoptium
[INFO ] [AWT-EventQueue-0] mediathek.Main - VMname: OpenJDK 64-Bit Server VM
[INFO ] [AWT-EventQueue-0] mediathek.Main - Version: 20.0.1
[INFO ] [AWT-EventQueue-0] mediathek.Main - Runtime Version: 20.0.1+9
[INFO ] [AWT-EventQueue-0] mediathek.Main - Maximum Memory: 15980 MB
[INFO ] [AWT-EventQueue-0] mediathek.Main - Operating System: Linux
[INFO ] [AWT-EventQueue-0] mediathek.Main - OS Version: 6.7.3-arch1-2
[INFO ] [AWT-EventQueue-0] mediathek.Main - OS Arch: amd64
[INFO ] [AWT-EventQueue-0] mediathek.Main - OS Dark Mode detection not supported
[INFO ] [AWT-EventQueue-0] mediathek.Main - OS Available Processors: 4
[DEBUG] [AWT-EventQueue-0] mediathek.Main - === JavaVM Parameter ===
[DEBUG] [AWT-EventQueue-0] mediathek.Main - -XX:+UseShenandoahGC
[DEBUG] [AWT-EventQueue-0] mediathek.Main - -XX:ShenandoahGCHeuristics=compact
[DEBUG] [AWT-EventQueue-0] mediathek.Main - -XX:MaxRAMPercentage=50.0
[DEBUG] [AWT-EventQueue-0] mediathek.Main - -XX:+UseStringDeduplication
[DEBUG] [AWT-EventQueue-0] mediathek.Main - --add-opens=java.desktop/sun.awt.X11=ALL-UNNAMED
[DEBUG] [AWT-EventQueue-0] mediathek.Main - -Dfile.encoding=UTF-8
[DEBUG] [AWT-EventQueue-0] mediathek.Main - -DexternalUpdateCheck
[DEBUG] [AWT-EventQueue-0] mediathek.Main - ========================
[INFO ] [AWT-EventQueue-0] mediathek.Main - Startparameter: --enhanced-logging
[TRACE] [AWT-EventQueue-0] mediathek.Main - Programmpfad: /home/j0inty/Downloads/MediathekView-14.0.0/
[INFO ] [AWT-EventQueue-0] mediathek.Main - Verzeichnis Einstellungen: /home/j0inty/.mediathek3
[TRACE] [AWT-EventQueue-0] mediathek.Main - migrating old config settings /home/j0inty/.mediathek3/mediathek.xml
[TRACE] [AWT-EventQueue-0] mediathek.tool.MessageBus - Initializing message bus
[DEBUG] [AWT-EventQueue-0] mediathek.config.MVConfig - User-Agent: MediathekView
[INFO ] [AWT-EventQueue-0] mediathek.config.Daten - Konfig wurde gelesen!
[TRACE] [AWT-EventQueue-0] mediathek.config.Daten - launching async history data loading
[TRACE] [ForkJoinPool.commonPool-worker-1] mediathek.controller.history.AboHistoryController - urlCacheSet size: 175 for file /home/j0inty/.mediathek3/downloadAbos.txt
[TRACE] [ForkJoinPool.commonPool-worker-1] mediathek.controller.history.AboHistoryController - dataList size: 175 for file /home/j0inty/.mediathek3/downloadAbos.txt
[TRACE] [AWT-EventQueue-0] mediathek.tool.TimerPool - Initializing timer pool...
[DEBUG] [AWT-EventQueue-0] mediathek.tool.notification.LinuxNotificationCenter - Name: Plasma
[DEBUG] [AWT-EventQueue-0] mediathek.tool.notification.LinuxNotificationCenter - Spec Version: 1.2
[DEBUG] [AWT-EventQueue-0] mediathek.tool.notification.LinuxNotificationCenter - Vendor: KDE
[DEBUG] [AWT-EventQueue-0] mediathek.tool.notification.LinuxNotificationCenter - Version: 5.27.10
[DEBUG] [AWT-EventQueue-0] mediathek.tool.notification.LinuxNotificationCenter - Server capabilities:
[DEBUG] [AWT-EventQueue-0] mediathek.tool.notification.LinuxNotificationCenter -         body
[DEBUG] [AWT-EventQueue-0] mediathek.tool.notification.LinuxNotificationCenter -         body-hyperlinks
[DEBUG] [AWT-EventQueue-0] mediathek.tool.notification.LinuxNotificationCenter -         body-markup
[DEBUG] [AWT-EventQueue-0] mediathek.tool.notification.LinuxNotificationCenter -         body-images
[DEBUG] [AWT-EventQueue-0] mediathek.tool.notification.LinuxNotificationCenter -         icon-static
[DEBUG] [AWT-EventQueue-0] mediathek.tool.notification.LinuxNotificationCenter -         actions
[DEBUG] [AWT-EventQueue-0] mediathek.tool.notification.LinuxNotificationCenter -         persistence
[DEBUG] [AWT-EventQueue-0] mediathek.tool.notification.LinuxNotificationCenter -         inline-reply
[DEBUG] [AWT-EventQueue-0] mediathek.tool.notification.LinuxNotificationCenter -         x-kde-urls
[DEBUG] [AWT-EventQueue-0] mediathek.tool.notification.LinuxNotificationCenter -         x-kde-origin-name
[DEBUG] [AWT-EventQueue-0] mediathek.tool.notification.LinuxNotificationCenter -         x-kde-display-appname
[DEBUG] [AWT-EventQueue-0] mediathek.tool.notification.LinuxNotificationCenter -         inhibitions

(java:38795): Gtk-CRITICAL **: 01:58:51.971: gtk_window_resize: assertion 'height > 0' failed
[TRACE] [ForkJoinPool.commonPool-worker-1] mediathek.mainwindow.MediathekGui - Reading local filmlist
[TRACE] [ForkJoinPool.commonPool-worker-1] mediathek.filmlisten.reader.FilmListReader - Liste Filme lesen von: /home/j0inty/.mediathek3/filme.json
[DEBUG] [AWT-EventQueue-0] mediathek.update.ProgramUpdateCheck - ProgramUpdateCheck Started.
[TRACE] [AWT-EventQueue-0] mediathek.mainwindow.MediathekGui - Loading bandwidth monitor
[TRACE] [AWT-EventQueue-0] mediathek.mainwindow.MediathekGui - Finished loading bandwidth monitor
[TRACE] [AWT-EventQueue-0] mediathek.mainwindow.MediathekGui - Loading info dialog
[TRACE] [AWT-EventQueue-0] mediathek.mainwindow.MediathekGui - Finished loading info dialog
[TRACE] [AWT-EventQueue-0] mediathek.javafx.AustrianVlcCheck - ORF setup tutorial display check started
[TRACE] [AWT-EventQueue-0] mediathek.javafx.AustrianVlcCheck - ORF setup tutorial display check finished
[INFO ] [ForkJoinPool.commonPool-worker-1] mediathek.filmlisten.reader.FilmListReader - Liste Filme gelesen am: 06.02.2024, 01:58
[INFO ] [ForkJoinPool.commonPool-worker-1] mediathek.filmlisten.reader.FilmListReader -   erstellt am: 05.02.2024, 23:36
[INFO ] [ForkJoinPool.commonPool-worker-1] mediathek.filmlisten.reader.FilmListReader -   Anzahl Filme: 898299
[TRACE] [ForkJoinPool.commonPool-worker-1] mediathek.mainwindow.MediathekGui - Check for filmlist updates
[DEBUG] [AWT-EventQueue-0] mediathek.filmlisten.FilmeLaden - Filme laden (Update), start
[INFO ] [AWT-EventQueue-0] mediathek.filmlisten.FilmeLaden - 
[INFO ] [AWT-EventQueue-0] mediathek.filmlisten.FilmeLaden - Alte Liste erstellt am: 05.02.2024, 23:36
[INFO ] [AWT-EventQueue-0] mediathek.filmlisten.FilmeLaden -   Anzahl Filme: 898299
[INFO ] [AWT-EventQueue-0] mediathek.filmlisten.FilmeLaden -   Anzahl Neue: 847
[INFO ] [AWT-EventQueue-0] mediathek.filmlisten.FilmeLaden - Filmliste laden von: 
[TRACE] [Thread-14] mediathek.filmlisten.ImportFilmliste - Filmliste laden von: https://liste.mediathekview.de/Filmliste-akt.xz
[TRACE] [Thread-14] mediathek.filmlisten.reader.FilmListReader - Liste Filme lesen von: https://liste.mediathekview.de/Filmliste-akt.xz
[INFO ] [AWT-EventQueue-0] mediathek.daten.ListeDownloads - Filme in Downloads eintragen
[INFO ] [Thread-14] mediathek.tool.http.MVHttpClient - MVHttpClient: Proxy not configured
[INFO ] [AWT-EventQueue-0] mediathek.config.Daten - -------------------------------------------------------
[INFO ] [AWT-EventQueue-0] mediathek.config.Daten - Einstellungen sichern
[INFO ] [AWT-EventQueue-0] mediathek.config.Daten - Einstellungen wurden heute schon gesichert
[INFO ] [AWT-EventQueue-0] mediathek.config.Daten - -------------------------------------------------------
[DEBUG] [AWT-EventQueue-0] mediathek.controller.IoXmlSchreiben - Daten Schreiben nach: /home/j0inty/.mediathek3/mediathek.xml
[DEBUG] [AWT-EventQueue-0] mediathek.controller.IoXmlSchreiben - Config Schreiben nach: /home/j0inty/.mediathek3/mediathek.xml startet
[DEBUG] [AWT-EventQueue-0] mediathek.controller.IoXmlSchreiben - Config Schreiben beendet
[DEBUG] [AWT-EventQueue-0] mediathek.update.AutomaticFilmlistUpdate - AutomaticFilmlistUpdate Started.
[TRACE] [Thread-14] mediathek.tool.dns.DnsSelector - Dns (liste.mediathekview.de): liste.mediathekview.de/88.99.10.178, liste.mediathekview.de/88.99.10.179
[TRACE] [Thread-14] mediathek.filmlisten.reader.FilmListReader - Final Endpoint URL for filmlist: https://liste.mediathekview.de/Filmliste-akt.xz
[TRACE] [pool-2-thread-2] mediathek.tool.ApplicationConfiguration - Writing app configuration file
[DEBUG] [AWT-EventQueue-0] mediathek.update.AutomaticFilmlistUpdate - AutomaticFilmlistUpdate closed.
[DEBUG] [AWT-EventQueue-0] mediathek.update.ProgramUpdateCheck - ProgramUpdateCheck closed.
[TRACE] [ForkJoinPool.commonPool-worker-3] mediathek.controller.history.SeenHistoryController - Start maintenance
[DEBUG] [AWT-EventQueue-0] mediathek.controller.IoXmlSchreiben - Daten Schreiben nach: /home/j0inty/.mediathek3/mediathek.xml
[DEBUG] [AWT-EventQueue-0] mediathek.controller.IoXmlSchreiben - Config Schreiben nach: /home/j0inty/.mediathek3/mediathek.xml startet
[TRACE] [ForkJoinPool.commonPool-worker-3] mediathek.controller.history.SeenHistoryController - Finished maintenance
[DEBUG] [AWT-EventQueue-0] mediathek.controller.IoXmlSchreiben - Config Schreiben beendet
[INFO ] [AWT-EventQueue-0] mediathek.tool.RuntimeStatistics - ################################################################################
[INFO ] [AWT-EventQueue-0] mediathek.tool.RuntimeStatistics -    --> Start: 2024-02-06T01:58:50.249569402
[INFO ] [AWT-EventQueue-0] mediathek.tool.RuntimeStatistics -    --> Ende:  2024-02-06T01:59:09.312431021
[INFO ] [AWT-EventQueue-0] mediathek.tool.RuntimeStatistics -    --> Laufzeit: 0h 0m 19s
[INFO ] [AWT-EventQueue-0] mediathek.tool.RuntimeStatistics - total data sent: 1,6 KiB
[INFO ] [AWT-EventQueue-0] mediathek.tool.RuntimeStatistics - total data received: 62,6 MiB
java.util.ConcurrentModificationException
	at java.base/java.util.ArrayList$Itr.checkForComodification(ArrayList.java:1013)
	at java.base/java.util.ArrayList$Itr.next(ArrayList.java:967)
	at mediathek.gui.tasks.LuceneIndexWorker.doInBackground(LuceneIndexWorker.java:88)
	at mediathek.gui.tasks.LuceneIndexWorker.doInBackground(LuceneIndexWorker.java:21)
	at java.desktop/javax.swing.SwingWorker$1.call(SwingWorker.java:304)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
	at java.desktop/javax.swing.SwingWorker.run(SwingWorker.java:343)
	at java.base/java.util.concurrent.CompletableFuture$UniRun.tryFire(CompletableFuture.java:787)
	at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
	at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1810)
	at java.base/java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1796)
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312)
	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843)
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808)
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)

j0inty avatar Feb 06 '24 01:02 j0inty