NickvisionApps / Tagger

Tag your music
https://flathub.org/apps/details/org.nickvision.tagger
MIT License
226 stars 14 forks source link

Issue Encountered While Loading Audio Files #392

Closed ashenafiDL closed 11 months ago

ashenafiDL commented 11 months ago

I encountered an issue while loading audio files. After selecting my Music folder, the program loads for a few seconds and crashes. Even if I try to open it again it crashes immediately.

When I try to open it from the command linen I get the following output:

UnhandledException - unhandled exception: SixLabors.ImageSharp.UnknownImageFormatException: Image cannot be loaded. Available decoders:
 - TGA : TgaDecoder
 - PNG : PngDecoder
 - BMP : BmpDecoder
 - JPEG : JpegDecoder
 - PBM : PbmDecoder
 - TIFF : TiffDecoder
 - GIF : GifDecoder
 - Webp : WebpDecoder

   at SixLabors.ImageSharp.Formats.ImageFormatManager.ThrowInvalidDecoder(ImageFormatManager manager)
   at SixLabors.ImageSharp.Image.InternalDetectFormat(Configuration configuration, Stream stream)
   at SixLabors.ImageSharp.Image.DiscoverDecoder(DecoderOptions options, Stream stream)
   at SixLabors.ImageSharp.Image.Decode(DecoderOptions options, Stream stream)
   at SixLabors.ImageSharp.Image.<>c__DisplayClass80_0.<Load>b__0(Stream s)
   at SixLabors.ImageSharp.Image.WithSeekableStream[T](DecoderOptions options, Stream stream, Func`2 action)
   at SixLabors.ImageSharp.Image.Load(DecoderOptions options, Stream stream)
   at SixLabors.ImageSharp.Image.Load(DecoderOptions options, ReadOnlySpan`1 buffer)
   at SixLabors.ImageSharp.Image.Load(ReadOnlySpan`1 buffer)
   at NickvisionTagger.Shared.Models.AlbumArt.set_Image(Byte[] value) in /run/build/org.nickvision.tagger/NickvisionTagger.Shared/Models/AlbumArt.cs:line 92
   at NickvisionTagger.Shared.Models.AlbumArt..ctor(PictureInfo pictureInfo) in /run/build/org.nickvision.tagger/NickvisionTagger.Shared/Models/AlbumArt.cs:line 74
   at NickvisionTagger.Shared.Models.MusicFile..ctor(String path) in /run/build/org.nickvision.tagger/NickvisionTagger.Shared/Models/MusicFile.cs:line 127
   at NickvisionTagger.Shared.Models.MusicLibrary.<ReloadMusicFilesAsync>b__48_1() in /run/build/org.nickvision.tagger/NickvisionTagger.Shared/Models/MusicLibrary.cs:line 221
   at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
   at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
--- End of stack trace from previous location ---
   at NickvisionTagger.Shared.Models.MusicLibrary.ReloadMusicFilesAsync() in /run/build/org.nickvision.tagger/NickvisionTagger.Shared/Models/MusicLibrary.cs:line 204
   at NickvisionTagger.Shared.Controllers.MainWindowController.ReloadLibraryAsync() in /run/build/org.nickvision.tagger/NickvisionTagger.Shared/Controllers/MainWindowController.cs:line 514
   at NickvisionTagger.Shared.Controllers.MainWindowController.OpenLibraryAsync(String path) in /run/build/org.nickvision.tagger/NickvisionTagger.Shared/Controllers/MainWindowController.cs:line 481
   at NickvisionTagger.Shared.Controllers.MainWindowController.StartupAsync() in /run/build/org.nickvision.tagger/NickvisionTagger.Shared/Controllers/MainWindowController.cs:line 396
   at NickvisionTagger.GNOME.Views.MainWindow.StartAsync() in /run/build/org.nickvision.tagger/NickvisionTagger.GNOME/Views/MainWindow.cs:line 575
   at NickvisionTagger.GNOME.Program.OnActivate(Application sender, EventArgs e) in /run/build/org.nickvision.tagger/NickvisionTagger.GNOME/Program.cs:line 116
   at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__128_0(Object state)
   at GLib.Internal.MainLoopSynchronizationContext.<>c__DisplayClass1_0.<Post>b__0()
   at GLib.Internal.MainLoopSynchronizationContext.<>c__DisplayClass3_0.<ScheduleAction>b__0()

I just installed tagger and the info is

Tagger - Tag your music

          ID: org.nickvision.tagger
         Ref: app/org.nickvision.tagger/x86_64/stable
        Arch: x86_64
      Branch: stable
     Version: 2023.10.0
     License: MIT
      Origin: flathub
  Collection: org.flathub.Stable
Installation: system
   Installed: 88.7 MB
     Runtime: org.gnome.Platform/x86_64/44
         Sdk: org.gnome.Sdk/x86_64/44

      Commit: 9b15d0f87c681db61ca7d553673ac28d5f2a1f703f0d94ed7b98d3426976fbf3
      Parent: 2e2be30a9f85a82bda4ce5ceee8f4cc4585e6c07ba3b1628a49dcc5eb85034f3
     Subject: Update org.nickvision.tagger.json (61495214)
        Date: 2023-10-27 16:23:00 +0000

OS:- Ubuntu 23.04 x86_64 Kernel:- 6.2.0-36-generic GNOME: GNOME 44.3

nlogozzo commented 11 months ago

It looks like Tagger is unable to read data about one of your file's album art. I will fix it now and release a new version with the fix. Give me around an hour...

nlogozzo commented 11 months ago

Here we go: https://github.com/NickvisionApps/Tagger/releases/tag/2023.11.0

Should be available via flathub update within like 10 minutes...

ashenafiDL commented 11 months ago

Now it is a different exception

Unhandled exception. GLib.GException: Unrecognized image file format
   at GLib.Error.ThrowOnError(ErrorHandle error)
   at Gdk.Texture.NewFromBytes(Bytes bytes)
   at NickvisionTagger.GNOME.Controls.MusicFileRow.SetArtFromAlbumArt(AlbumArt art) in /run/build/org.nickvision.tagger/NickvisionTagger.GNOME/Controls/MusicFileRow.cs:line 52
   at NickvisionTagger.GNOME.Controls.MusicFileRow.Update(MusicFile musicFile) in /run/build/org.nickvision.tagger/NickvisionTagger.GNOME/Controls/MusicFileRow.cs:line 84
   at NickvisionTagger.GNOME.Controls.MusicFileRow..ctor(Builder builder, MusicFile musicFile) in /run/build/org.nickvision.tagger/NickvisionTagger.GNOME/Controls/MusicFileRow.cs:line 26
   at NickvisionTagger.GNOME.Controls.MusicFileRow..ctor(MusicFile musicFile) in /run/build/org.nickvision.tagger/NickvisionTagger.GNOME/Controls/MusicFileRow.cs:line 33
   at NickvisionTagger.GNOME.Views.MainWindow.MusicLibraryUpdated() in /run/build/org.nickvision.tagger/NickvisionTagger.GNOME/Views/MainWindow.cs:line 1435
   at GLib.Internal.SourceFuncNotifiedHandler.<.ctor>b__4_0(IntPtr userData)
nlogozzo commented 11 months ago

Ok I will fix that too.

It seems you have a file that has a corrupted album art picture...

nlogozzo commented 11 months ago

https://github.com/NickvisionApps/Tagger/releases/tag/2023.11.1

Will be available through flathub within the hour!

Tagger should also tell you now the exact file that is corrupted and can even attempt to fix it within the app.

nlogozzo commented 11 months ago

@ashenafiDL any update on using the latest release?

ashenafiDL commented 11 months ago

Works fine now. Sorry for not replying right away.