Closed jwsmesaaz closed 5 months ago
Sorry for the error. Thank you much for your log file. This is a tricky little bug I've never seen before.
I built this pre-release to address your issue. Please let me know if this fixes things for you: https://github.com/rmcrackan/Libation/releases/tag/v11.3.12
Don't worry about the file locations like D:\a\Libation\Libation\Source\ApplicationServices\LibraryCommands.cs:line 281
or /home/runner/work/AudibleApi/AudibleApi/AudibleApi/Api.Library.cs:line 416
. When I tell github to compile my code into the final app, it does so somewhere on its own computers with their own file info. It's useful for me to include in error logs because it also shows the exact line in my code where an error caused us grief.
Downloaded and ran it but am still receiving an error. I saw that one of my other books had an error so I removed it from the library to see if that resolved the issue but same problem keeps happening.
One or more errors occurred. (Object reference not set to an instance of an object.)
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task1.GetResultCore(Boolean waitCompletionNotification) at AudibleApi.Api.GetLibraryItemsPagesAsync(LibraryOptions libraryOptions, Int32 numItemsPerRequest, SemaphoreSlim semaphore)+MoveNext() in /home/runner/work/AudibleApi/AudibleApi/AudibleApi/Api.Library.cs:line 393 at AudibleApi.Api.GetLibraryItemsPagesAsync(LibraryOptions libraryOptions, Int32 numItemsPerRequest, SemaphoreSlim semaphore)+System.Threading.Tasks.Sources.IValueTaskSource<System.Boolean>.GetResult() at AudibleUtilities.ApiExtended.getItemsAsync(LibraryOptions libraryOptions, Boolean importEpisodes) in D:\a\Libation\Libation\Source\AudibleUtilities\ApiExtended.cs:line 102 at AudibleUtilities.ApiExtended.getItemsAsync(LibraryOptions libraryOptions, Boolean importEpisodes) in D:\a\Libation\Libation\Source\AudibleUtilities\ApiExtended.cs:line 102 at Polly.Retry.AsyncRetryEngine.ImplementationAsync[TResult](Func
3 action, Context context, CancellationToken cancellationToken, ExceptionPredicates shouldRetryExceptionPredicates, ResultPredicates1 shouldRetryResultPredicates, Func
5 onRetryAsync, Int32 permittedRetryCount, IEnumerable1 sleepDurationsEnumerable, Func
4 sleepDurationProvider, Boolean continueOnCapturedContext)
at Polly.AsyncPolicy.ExecuteAsync[TResult](Func3 action, Context context, CancellationToken cancellationToken, Boolean continueOnCapturedContext) at ApplicationServices.LibraryCommands.scanAccountAsync(ApiExtended apiExtended, Account account, LibraryOptions libraryOptions, LogArchiver archiver) in D:\a\Libation\Libation\Source\ApplicationServices\LibraryCommands.cs:line 281 at ApplicationServices.LibraryCommands.scanAccountsAsync(Func
2 apiExtendedfunc, Account[] accounts, LibraryOptions libraryOptions) in D:\a\Libation\Libation\Source\ApplicationServices\LibraryCommands.cs:line 263
at ApplicationServices.LibraryCommands.scanAccountsAsync(Func2 apiExtendedfunc, Account[] accounts, LibraryOptions libraryOptions) in D:\a\Libation\Libation\Source\ApplicationServices\LibraryCommands.cs:line 265 at ApplicationServices.LibraryCommands.ImportAccountAsync(Func
2 apiExtendedfunc, Account[] accounts) in D:\a\Libation\Libation\Source\ApplicationServices\LibraryCommands.cs:line 132
at LibationWinForms.Form1.scanLibrariesAsync(Account[] accounts) in D:\a\Libation\Libation\Source\LibationWinForms\Form1.ScanManual.cs:line 77
I believe that I figured out the issue. I had a problem in the Audible UI as well when I looked at my library and went to the last page. My kids added a bunch of children's books as well as my 5. When I clicked on the last page it threw an error. After removing the books that they added everything worked correctly. No issues with this application. I'll just need to remember and go back and remove the plus catalog items my family adds from time to time.
Thanks for the follow up log. There's still an error in there that I'm not crazy about so I'm doing another tweak and pre-release this morning. If the current one works for you, don't feel pressured to upgrade.
For books in Libation that you want to hide, you can right-click: Remove from library. This sends them to something like the windows recycling bin. Now they're out of sight and out of mind, even when you scan again. If they've been entirely removed from your audible library you can also go to settings > Trash bin to fully delete the book from Libation. If you do this to a book that is still in audible's library though, then the next scan will import it again.
I'm also experiencing this issue. I downloaded the pre-release (11-3-13 .deb), and the issue remains. As you suggested, it seems to be choking on the longer titles. Audible seems to be breaking the downloads of these titles up into multiple sections. Sometimes it has a "full" download option, and sometimes it only has options to download individual "parts".
For example, "[B0CDXWSS5D] The Eye of the Bedlam Bride: Dungeon Crawler Carl, Book 6", which is 1560 minutes long, has three download options: Part 1 Part 2 Part 3 (no "full" download option)
Here is the latest log entry from the prebuild, in case it's useful:
{}2024-08-19 23:18:48.834 -07:00 [INF] (at LibationAvalonia.ViewModels.ProcessQueueViewModel+<QueueLoop>d__69.MoveNext()) Begin processing queued item. 8/12/2024 [B0CDXWSS5D] The Eye of the Bedlam Bride: Dungeon Crawler Carl, Book 6 {}2024-08-19 23:18:48.849 -07:00 [INF] (at FileLiberator.Processable+<ProcessSingleAsync>d__23.MoveNext()) Begin ProcessSingleAsync {"TitleWithSubtitle":"The Eye of the Bedlam Bride: Dungeon Crawler Carl, Book 6","AudibleProductId ":"B0CDXWSS5D","Locale":"us","Account":"d[...]s@g[...]l.c[...]m"} {}2024-08-19 23:18:48.863 -07:00 [INF] (at AudibleUtilities.ApiExtended+<CreateAsync>d__9.MoveNext()) {"Username":"d[...]s@g[...]l.c[...]m","LocaleName":"us"} {}2024-08-19 23:18:48.943 -07:00 [INF] (at LibationAvalonia.ViewModels.ProcessBookViewModel+<Processable_Begin>d__75.MoveNext()) Automated backup: Download & Decrypt Step, Begin: [B0CDXWSS5D] The Eye of the Bedlam Bride: Dungeon Crawler Carl, Book 6 {}2024-08-19 23:18:49.280 -07:00 [INF] (at LibationAvalonia.ViewModels.ProcessBookViewModel+<Processable_Completed>d__76.MoveNext()) Automated backup: Download & Decrypt Step, Completed: [B0CDXWSS5D] The Eye of the Bedlam Bride: D ungeon Crawler Carl, Book 6 {}2024-08-19 23:18:49.293 -07:00 [ERR] (at LibationUiBase.LogMe.Error(System.Exception, System.String)) Download & Decrypt System.NullReferenceException: Object reference not set to an instance of an object. at AaxDecrypter.AudiobookDownloadBase.OpenNetworkFileStream() in /home/runner/work/Libation/Libation/Source/AaxDecrypter/AudiobookDownloadBase.cs:line 226 at AaxDecrypter.AudiobookDownloadBase..ctor(String outFileName, String cacheDirectory, IDownloadOptions dlOptions) in /home/runner/work/Libation/Libation/Source/AaxDecrypter/AudiobookDownloadBase.cs:line 56 at AaxDecrypter.AaxcDownloadSingleConverter..ctor(String outFileName, String cacheDirectory, IDownloadOptions dlOptions) in /home/runner/work/Libation/Libation/Source/AaxDecrypter/AaxcDownloadSingleConverter.cs:line 15 at FileLiberator.DownloadDecryptBook.downloadAudiobookAsync(LibraryBook libraryBook) in /home/runner/work/Libation/Libation/Source/FileLiberator/DownloadDecryptBook.cs:line 137 at FileLiberator.DownloadDecryptBook.ProcessAsync(LibraryBook libraryBook) in /home/runner/work/Libation/Libation/Source/FileLiberator/DownloadDecryptBook.cs:line 56 at FileLiberator.Processable.ProcessSingleAsync(LibraryBook libraryBook, Boolean validate) in /home/runner/work/Libation/Libation/Source/FileLiberator/Processable.cs:line 54 at LibationAvalonia.ViewModels.ProcessBookViewModel.ProcessOneAsync() in /home/runner/work/Libation/Libation/Source/LibationAvalonia/ViewModels/ProcessBookViewModel.cs:line 138 {"ExceptionDetail":{"Type":"System.NullReferenceException","HResult":-2147467261,"Message":"Object reference not set to an instance of an object.","Source":"AaxDecrypter","TargetSite":"AaxDecrypter.NetworkFileStreamPersister OpenN etworkFileStream()"}}2024-08-19 23:18:49.312 -07:00 [ERR] (at LibationAvalonia.ViewModels.ProcessBookViewModel+<showRetry>d__77.MoveNext()) ERROR. All books have not been processed. Most recent book: processing failed {}2024-08-19 23:18:49.355 -07:00 [INF] (at LibationAvalonia.ViewModels.ProcessQueueViewModel+<QueueLoop>d__69.MoveNext()) Completed processing queued item: 8/12/2024 [B0CDXWSS5D] The Eye of the Bedlam Bride: Dungeon Crawler Carl, Book 6 Result: "FailedRetry"
I appreciate the work you're putting into this. Please let me know if I can provide any additional information.
Describe the bug I've been using Libation for a few months now and everything has worked great until recently. Whenever I try to import the books I just got it presents the following error message:
One or more errors occurred. (Object reference not set to an instance of an object.)
at AudibleApi.Api.GetLibraryItemsPagesAsync(LibraryOptions libraryOptions, Int32 numItemsPerRequest, SemaphoreSlim semaphore)+MoveNext() in /home/runner/work/AudibleApi/AudibleApi/AudibleApi/Api.Library.cs:line 402 at AudibleApi.Api.GetLibraryItemsPagesAsync(LibraryOptions libraryOptions, Int32 numItemsPerRequest, SemaphoreSlim semaphore)+System.Threading.Tasks.Sources.IValueTaskSource.GetResult()
at AudibleUtilities.ApiExtended.getItemsAsync(LibraryOptions libraryOptions, Boolean importEpisodes) in D:\a\Libation\Libation\Source\AudibleUtilities\ApiExtended.cs:line 169
at AudibleUtilities.ApiExtended.getItemsAsync(LibraryOptions libraryOptions, Boolean importEpisodes) in D:\a\Libation\Libation\Source\AudibleUtilities\ApiExtended.cs:line 169
at Polly.Retry.AsyncRetryEngine.ImplementationAsync[TResult](Func
3 action, Context context, CancellationToken cancellationToken, ExceptionPredicates shouldRetryExceptionPredicates, ResultPredicates
1 shouldRetryResultPredicates, Func5 onRetryAsync, Int32 permittedRetryCount, IEnumerable
1 sleepDurationsEnumerable, Func4 sleepDurationProvider, Boolean continueOnCapturedContext) at Polly.AsyncPolicy.ExecuteAsync[TResult](Func
3 action, Context context, CancellationToken cancellationToken, Boolean continueOnCapturedContext) at ApplicationServices.LibraryCommands.scanAccountAsync(ApiExtended apiExtended, Account account, LibraryOptions libraryOptions, LogArchiver archiver) in D:\a\Libation\Libation\Source\ApplicationServices\LibraryCommands.cs:line 281 at ApplicationServices.LibraryCommands.scanAccountsAsync(Func2 apiExtendedfunc, Account[] accounts, LibraryOptions libraryOptions) in D:\a\Libation\Libation\Source\ApplicationServices\LibraryCommands.cs:line 263 at ApplicationServices.LibraryCommands.scanAccountsAsync(Func
2 apiExtendedfunc, Account[] accounts, LibraryOptions libraryOptions) in D:\a\Libation\Libation\Source\ApplicationServices\LibraryCommands.cs:line 265 at ApplicationServices.LibraryCommands.ImportAccountAsync(Func`2 apiExtendedfunc, Account[] accounts) in D:\a\Libation\Libation\Source\ApplicationServices\LibraryCommands.cs:line 132 at LibationWinForms.Form1.scanLibrariesAsync(Account[] accounts) in D:\a\Libation\Libation\Source\LibationWinForms\Form1.ScanManual.cs:line 77To Reproduce Steps to reproduce the behavior:
Expected behavior I would expect the newly purchased items to appear
Screenshots If applicable, add screenshots to help explain your problem.
Platform
Windows 11, Classic Libation 11.1.0
Log Files _Log202405_002.log
Note The directory "D:\a\" doesn't exist I'm not even sure where it is getting this directory as the settings go to either the C drive or the E Drive. I have also removed and re-added the account to see if this resolved the issue but it didn't. Restarted the computer. Re-downloaded Libation. Ensured no VPN is used. Restarted the modem. This just started happening after I purchased 5 more books this past weekend for Mother's day.