dvdkhl / avdump3 Goto Github PK
View Code? Open in Web Editor NEWMetadata Extraction Tool for Media Files
License: MIT License
Metadata Extraction Tool for Media Files
License: MIT License
TTH hashes are always wrong, independent of file size.
Example file: https://anidb.net/f1840938
The issue seems to already exist in AVD2 and has been ported to AVD3. But not all files are affected.
<size>84390127</size>
<avmf>
<date>0</date>
<duration>210.071</duration>
The MediaInfoXMLReport for the file above gives the following:
<Encoded_Date Unit="">UTC 2010-02-22 21:41:29</Encoded_Date>
<File_Created_Date Unit="">UTC 2020-05-17 21:24:21.355</File_Created_Date>
<File_Created_Date_Local Unit="">2020-05-17 23:24:21.355</File_Created_Date_Local>
<File_Modified_Date Unit="">UTC 2020-05-17 21:24:57.600</File_Modified_Date>
<File_Modified_Date_Local Unit="">2020-05-17 23:24:57.600</File_Modified_Date_Local>
Currently --CRC32Error only allows a filename ("crcerr.txt") or at most a partial file path ("..\crcerr.txt") as the first argument.
Any path containing a ":" (like a drive letter) will break it.
it looks like AVD3 is spamming my user die with XML files filled with this.
AVD3AniDBModule.ACreqing.ACReqException: Cannot query ACReq, ACreqQueue is or is being shut down at AVD3AniDBModule.ACreqing.ACreqQueue.QueryACReq(Byte[] acreqData, Object tag) in D:\Projects\C#\AVD3AniDB\AVD3AniDBModule\ACreqing\ACreqQueue.cs:line 130 at AVD3AniDBModule.AVD3AniDBModule.FileProcessed(Object sender, AVD3CLFileProcessedEventArgs e) in D:\Projects\C#\AVD3AniDB\AVD3AniDBModule\AVD3AniDBModule.cs:line 338 with Status: Shutdown
MediaInfoLib reports a subtitle Track with an id x**-**y.
Currently only integer values are used as an id.
Previously only the first number x was used, now "-" is replaced by "0"
To properly handle this issue, I'll have to change ids from integer to string.
it looks like AVD3 is spamming my user die with XML files filled with this.
AVD3AniDBModule.ACreqing.ACReqException: Cannot query ACReq, ACreqQueue is or is being shut down
at AVD3AniDBModule.ACreqing.ACreqQueue.QueryACReq(Byte[] acreqData, Object tag) in D:\Projects\C#\AVD3AniDB\AVD3AniDBModule\ACreqing\ACreqQueue.cs:line 130
at AVD3AniDBModule.AVD3AniDBModule.FileProcessed(Object sender, AVD3CLFileProcessedEventArgs e) in D:\Projects\C#\AVD3AniDB\AVD3AniDBModule\AVD3AniDBModule.cs:line 338 with Status: Shutdown
{"type":1,"target":"AVDump:Message","arguments":[{"filePath":"/shoko/(Hi10)_Bleach_-_Sennen_Kessen-hen_-_14_(1080p)_(Lazy)_(14D12867).mkv","videoID":1,"commandID":4,"type":"Ended","progress":100.0,"success":false,"message":"Testing anidb connection\nAccepted files: 1\n\n","errorMessage":"Unhandled exception. System.DivideByZeroException: Attempted to divide by zero.\nat AVDump3CL.AVD3Console.OnWriteProgress(Object _)\nat System.Threading.TimerQueueTimer.<>c.<.cctor>b__27_0(Object state)\nat System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)\n--- End of stack trace from previous location ---\nat System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)\nat System.Threading.TimerQueueTimer.CallCallback(Boolean isThreadPool)\nat System.Threading.TimerQueueTimer.Fire(Boolean isThreadPool)\nat System.Threading.TimerQueue.FireNextTimers()\nat System.Threading.TimerQueue.AppDomainTimerCallback(Int32 id)\n","startedAt":"2023-07-30T18:17:17.6700343Z","endedAt":"2023-07-30T18:17:23.2006602Z"}]}�
AVDump3/AVDump3CL/AVD3ProgressDisplay.cs
Lines 42 to 97 in d96bce1
CRC32, Ed2k, MD5, SHA1, SHA256, SHA384 and SHA512 hashes are wrong for files 2GiB or larger but correct for 2GiB-1byte files.
TTH hashes are also wrong, but they are also wrong for smaller files (issue #4).
Haven’t tested the other hash consumers.
AVD3 (like AVD2) switches off the terminal cursor. Killing it with Ctrl-C leaves you with no cursor. Can also happen when it crashes.
Happens on both Windows and Linux.
Reimplement --version parameter
Reference output:
AVDump2CL.exe --version
1.0.7101.0
MediaInfoLib - v18.12
Implement the parameter to output a hashed file's ed2k link again.
AVD Version: 8188 (From AniDB wiki download link)
Command: .\AVDump3CL.exe --Concurrent=4 --Ed2kLogPath={snip path}\ed2k.txt {snipped other args} {snipped path to files}
Exception: Error System.IO.IOException: The process cannot access the file '{snip path}\ed2k.txt' because it is being used by another process.
This would probably be hard to reproduce intentionally, so I can't be 100% sure what caused it. My suspicion is, when processing multiple files concurrently, if two or more files finish at the same time, the ed2k hash file writer is called without any safety to ensure that the file isn't already open. I can also see that I'm missing two ed2k hashes from the file from either when or after the exception was thrown (don't know what file it threw on).
https://anidb.net/admin/avmf/error/?do=xml&id=723792
https://anidb.net/admin/avmf/error/?do=xml&id=723953
https://anidb.net/admin/avmf/error/?do=xml&id=723952
https://anidb.net/admin/avmf/error/?do=xml&id=723951
https://anidb.net/admin/avmf/error/?do=xml&id=723785
[23:50:22] <&worf> are you sometimes running multiple instances of avd3 in parallel, Soulweaver?
[23:50:40] <Soulweaver> just one
[23:52:01] <Soulweaver> I do have --Concurrent=4 in my arguments though
These errors are local errors and really not all that important for us. Is there a way to log these kinds of errors just locally but not upload them to the server?
Alternatively, fix the root cause? :p
AVD2 7101: ed2k://|file|test_ext.txt|19837|B457600C8C6299E92C44BA96A8F39C81|/
AVD3 8213: ed2k://|file|test_ext.txt|19837|5FF8FBF6383EC38C518D31A6195689E8|/
AVD2 7101: ed2k://|file|Kyoshin to Hyouka no Shiro [Web] (Episode 002) [F2B295EC] [A-R].mkv|10014562|C3299C512ED1923F74EE49232A03C9EE|/
AVD3 8213: ed2k://|file|Kyoshin to Hyouka no Shiro [Web] (Episode 002) [F2B295EC] [A-R].mkv|10014562|C3299C512ED1923F74EE49232A03C9EE|/
Some .idx and .sub files get different amounts of subtitle streams detected, which leads to DEL creqs, effectively removing all subtitle streams in some cases.
For some cases the issue already existed in AVD2, apparently:
Example https://anidb.net/file/884051
<?xml version="1.0" encoding="utf-8"?>
<file>
<crc>4541710d</crc>
<ed2k>935db5a9dc9972d87870893101435dd0</ed2k>
<md5>8e615638ac62695af0e67a025e0c16e5</md5>
<sha1>5f07bd6fd0c48bbb7d15ca0b3fca092edee6a678</sha1>
<tth>igelpnqi5ag6ci2rk56aooirjakoofdeidfk4ly</tth>
<size>16698</size>
<avmf>
<extension>idx</extension>
<file_extension>idx</file_extension>
</avmf>
</file>
Test
Ver 8069
https://anidb.net/file/2099625
AVD2:
<chapters flags="None">
<entry flags="Enabled">
<pos start="0"/>
<title lang="fin">BUMP OF CHICKEN: Fighter</title>
<title lang="eng">BUMP OF CHICKEN: Fighter</title>
</entry>
</chapters>
AVD3:
<chapters flags="None">
<entry flags="Enabled">
<pos start="0"/>
<title lang="fin">BUMP OF CHICKEN: Fighter</title>
</entry>
</chapters>
Under certain conditions (cmd window not wide enough?) the progress bars are not update in-place but scroll the window instead.
Resulting in output like:
-------------------------------------------------------------------------------
ED2K [############# ] 1
-------------------------------------------------------------------------------
ED2K [########################## ] 1
-------------------------------------------------------------------------------
ED2K [####################################### ] 1
-------------------------------------------------------------------------------
ED2K [#################################################### ] 1
Running AVD3 with dotnet AVDump3CL.dll
creates an error dump when aborting the process with Ctrl+C:
<AVD3CLException thrownOn="2020-05-18 21:31:22.1609">
<Information>
<EntryAssemblyVersion>3.0.8061.0</EntryAssemblyVersion>
<LibVersion>3.0.8061.0</LibVersion>
<Session>19c30e8d-a23a-4694-964f-4d737d7ddc7c</Session>
<Framework>3.1.2</Framework>
<OSVersion>Microsoft Windows NT 10.0.18363.0</OSVersion>
<IntPtr.Size>8</IntPtr.Size>
<Is64BitOperatingSystem>true</Is64BitOperatingSystem>
<Is64BitProcess>true</Is64BitProcess>
<ProcessorCount>4</ProcessorCount>
<UserInteractive>true</UserInteractive>
<SystemPageSize>4096</SystemPageSize>
<WorkingSet>182730752</WorkingSet>
<Commandline>E:\Programme\AVD3\AVDump3CL.dll FROMFILE arguments.txt "path"</Commandline>
</Information>
<Message>ConsumingStream</Message>
<Data>
<FileName>filename.mkv</FileName>
</Data>
<Cause>
<StreamConsumerException thrownOn="2020-05-18 21:31:22.1598">
<Message>StreamConsumer threw an Exception</Message>
<Data>
<StreamTag>fullpath+filename.mkv</StreamTag>
</Data>
<Cause>
<AggregateException>
<Message>One or more errors occurred. (The operation was canceled.) (The operation was canceled.) (The operation was canceled.) (The operation was canceled.) (The operation was canceled.)</Message>
<Stacktrace />
<Data />
<Cause>
<OperationCanceledException>
<Message>The operation was canceled.</Message>
<Stacktrace>
<Frame>at System.Threading.CancellationToken.ThrowOperationCanceledException()</Frame>
<Frame>at AVDump3Lib.Processing.BlockConsumers.HashCalculator.DoWork(CancellationToken ct) in /home/runner/work/AVDump3/AVDump3/AVDump3Lib/Processing/BlockConsumers/HashCalculator.cs:line 39</Frame>
<Frame>at AVDump3Lib.Processing.BlockConsumers.BlockConsumer.ProcessBlocks(CancellationToken ct) in /home/runner/work/AVDump3/AVDump3/AVDump3Lib/Processing/BlockConsumers/BlockConsumer.cs:line 30</Frame>
</Stacktrace>
<Data>
<BlockConsumerName>CRC32</BlockConsumerName>
<BlockConsumerReadBytes>905969664</BlockConsumerReadBytes>
</Data>
</OperationCanceledException>
<OperationCanceledException>
<Message>The operation was canceled.</Message>
<Stacktrace>
<Frame>at System.Threading.CancellationToken.ThrowOperationCanceledException()</Frame>
<Frame>at AVDump3Lib.Processing.BlockBuffers.BlockStream.GetBlock(Int32 consumerIndex, Int32 minBlockLength) in /home/runner/work/AVDump3/AVDump3/AVDump3Lib/Processing/BlockBuffers/BlockStream.cs:line 110</Frame>
<Frame>at AVDump3Lib.Processing.BlockConsumers.HashCalculator.DoWork(CancellationToken ct) in /home/runner/work/AVDump3/AVDump3/AVDump3Lib/Processing/BlockConsumers/HashCalculator.cs:line 41</Frame>
<Frame>at AVDump3Lib.Processing.BlockConsumers.BlockConsumer.ProcessBlocks(CancellationToken ct) in /home/runner/work/AVDump3/AVDump3/AVDump3Lib/Processing/BlockConsumers/BlockConsumer.cs:line 30</Frame>
</Stacktrace>
<Data>
<BlockConsumerName>ED2K</BlockConsumerName>
<BlockConsumerReadBytes>894976000</BlockConsumerReadBytes>
</Data>
</OperationCanceledException>
<OperationCanceledException>
<Message>The operation was canceled.</Message>
<Stacktrace>
<Frame>at System.Threading.CancellationToken.ThrowOperationCanceledException()</Frame>
<Frame>at AVDump3Lib.Processing.BlockConsumers.HashCalculator.DoWork(CancellationToken ct) in /home/runner/work/AVDump3/AVDump3/AVDump3Lib/Processing/BlockConsumers/HashCalculator.cs:line 39</Frame>
<Frame>at AVDump3Lib.Processing.BlockConsumers.BlockConsumer.ProcessBlocks(CancellationToken ct) in /home/runner/work/AVDump3/AVDump3/AVDump3Lib/Processing/BlockConsumers/BlockConsumer.cs:line 30</Frame>
</Stacktrace>
<Data>
<BlockConsumerName>MD5</BlockConsumerName>
<BlockConsumerReadBytes>905969664</BlockConsumerReadBytes>
</Data>
</OperationCanceledException>
<OperationCanceledException>
<Message>The operation was canceled.</Message>
<Stacktrace>
<Frame>at System.Threading.CancellationToken.ThrowOperationCanceledException()</Frame>
<Frame>at AVDump3Lib.Processing.BlockConsumers.HashCalculator.DoWork(CancellationToken ct) in /home/runner/work/AVDump3/AVDump3/AVDump3Lib/Processing/BlockConsumers/HashCalculator.cs:line 39</Frame>
<Frame>at AVDump3Lib.Processing.BlockConsumers.BlockConsumer.ProcessBlocks(CancellationToken ct) in /home/runner/work/AVDump3/AVDump3/AVDump3Lib/Processing/BlockConsumers/BlockConsumer.cs:line 30</Frame>
</Stacktrace>
<Data>
<BlockConsumerName>SHA1</BlockConsumerName>
<BlockConsumerReadBytes>905969664</BlockConsumerReadBytes>
</Data>
</OperationCanceledException>
<OperationCanceledException>
<Message>The operation was canceled.</Message>
<Stacktrace>
<Frame>at System.Threading.CancellationToken.ThrowOperationCanceledException()</Frame>
<Frame>at AVDump3Lib.Processing.BlockBuffers.BlockStream.GetBlock(Int32 consumerIndex, Int32 minBlockLength) in /home/runner/work/AVDump3/AVDump3/AVDump3Lib/Processing/BlockBuffers/BlockStream.cs:line 110</Frame>
<Frame>at AVDump3Lib.Processing.BlockConsumers.HashCalculator.DoWork(CancellationToken ct) in /home/runner/work/AVDump3/AVDump3/AVDump3Lib/Processing/BlockConsumers/HashCalculator.cs:line 41</Frame>
<Frame>at AVDump3Lib.Processing.BlockConsumers.BlockConsumer.ProcessBlocks(CancellationToken ct) in /home/runner/work/AVDump3/AVDump3/AVDump3Lib/Processing/BlockConsumers/BlockConsumer.cs:line 30</Frame>
</Stacktrace>
<Data>
<BlockConsumerName>TTH</BlockConsumerName>
<BlockConsumerReadBytes>889192448</BlockConsumerReadBytes>
</Data>
</OperationCanceledException>
</Cause>
</AggregateException>
</Cause>
<Stacktrace>
<Frame>at AVDump3Lib.Processing.StreamConsumer.StreamConsumer.ConsumeStream(IProgress`1 progress, CancellationToken ct) in /home/runner/work/AVDump3/AVDump3/AVDump3Lib/Processing/StreamConsumer/StreamConsumer.cs:line 84</Frame>
<Frame>at AVDump3Lib.Processing.StreamConsumer.StreamConsumerCollection.ConsumeStream(ProvidedStream providedStream, IBytesReadProgress progress, CancellationToken ct) in /home/runner/work/AVDump3/AVDump3/AVDump3Lib/Processing/StreamConsumer/StreamConsumerCollection.cs:line 98</Frame>
</Stacktrace>
</StreamConsumerException>
</Cause>
<Stacktrace />
</AVD3CLException>
https://anidb.net/admin/avmf/error/?do=xml&id=723793
These errors are local errors and really not all that important for us. Is there a way to log these kinds of errors just locally but not upload them to the server?
In addition to the already existing placeholders "FileName, FileNameWithoutExtension, FileExtension, ReportName, ReportFileExtension" add two more placeholders:
This would allow the construction of unique report filenames.
Please implement the parameter to open the file's AniDB link/page again.
For a file with
Duration: 01:19:47.01, start: 0.000000, bitrate: 299 kb/s
Stream #0:0: Video: msmpeg4v3 (MP43 / 0x3334504D), yuv420p, 320x240, 284 kb/s, 30.04 fps, 30.04 tbr, 30.04 tbn, 30.04 tbc
Stream #0:1: Audio: wmav2 (a[1][0][0] / 0x0161), 8000 Hz, mono, fltp, 8 kb/s
avd3 created a creq to move the audio up to 1575kbit/s (see 13395761). avd2 submitted the original and correct 8kbit/s.
So this is rather odd, and I'm not entirely sure if the title makes sense, so I've included my test cases at the bottom of the issue. Please note that I've tried both '
and "
to see if there's any difference on the failing paths†. I've also included paths with no spaces in them, using various combinations of '
, "
, and trailing \
, to ensure that it is actually the space causing the error.
I'd also like to note that when printing the Filediscovery
error when a space is in the directory, it prints the trailing '
or "
, whereas when there is no space, it removes the character and just prints the path. I don't know if this is related, or useful at all, but I've included additions test paths for a true non-existent directory (X:\Anime\NotThere\
in case it wasn't obvious -- all other folders used exist on the file system) which shows what the 'normal' output for the error shows. You can also note that the error for the directory that actually doesn't exist properly prints the trailing \
, while it's missing from a directory with a space.
† It seems like using Command Prompt, it won't accept '
at all -- which could be a separate issue. I'm not sure if anything in cmd will accept paths surrounded by '
, or if it just accepts "
. I've tried both because I'm using Terminal, which accepts paths using either. Note the test using '
instead of "
returns a "
trailing the path in the error, which leads me to believe that Terminal is just converting the '
into a "
before the executable receives it, but I'm not sure about that.
Sorry that this issue is kinda a massive info dump. I tried to include anything I might find useful as a developer, but if there's anything else you need/want to know or have me test, just let me know. I'll also try to take a look at the code later, to see if I can try to fix it myself.
Base Command (should it even matter): .\AVDump3CL.exe --auth={snip} --Ed2kLogPath=ed2k.txt -R {path}
Paths tested:
'X:\Anime\Steins Gate\'
FAILS"X:\Anime\Steins Gate\"
FAILS'X:\Anime\Steins Gate'
WORKS"X:\Anime\Steins Gate"
WORKS'X:\Anime\Kanon\'
WORKS"X:\Anime\Kanon\"
WORKSX:\Anime\Kanon\
WORKS'X:\Anime\Kanon'
WORKS"X:\Anime\Kanon"
WORKSX:\Anime\Kanon
WORKSError Output:
'X:\Anime\Steins Gate\'
-- Filediscovery: Path not found: X:\Anime\Steins Gate"
"X:\Anime\Steins Gate\"
-- Filediscovery: Path not found: X:\Anime\Steins Gate"
'X:\Anime\NotThere\'
-- Filediscovery: Path not found: X:\Anime\NotThere\
'X:\Anime\NotThere'
-- Filediscovery: Path not found: X:\Anime\NotThere
X:\Anime\NotThere\
-- Filediscovery: Path not found: X:\Anime\NotThere\
X:\Anime\NotThere
-- Filediscovery: Path not found: X:\Anime\NotThere
8152: https://anidb.net/admin/avmf/error/?do=xml&id=723950
8134: https://anidb.net/admin/avmf/error/?do=xml&id=723947
[23:23:18] <&worf> oh wow .. that Trigun ep10 file is so broken .. it was never dumped before, with any avdump version
[23:23:37] <&worf> mind uploading that for Arokh somewhere and sending him the link, zeromind?
[23:28:29] <+zeromind> yeah, slighly corrupt
[23:29:00] <&worf> is it even playable?
[23:29:09] <+zeromind> yes
[23:29:55] <+zeromind> bunch of [ffmpeg/demuxer] ogg: CRC mismatch!
[23:34:34] <zeromind> Arokh: put broken trigun ogm e into your home dir on the avdump vm, does that work for you?
Using CRC32C on a processor that doesn’t have the requiired instructions or using CRC32-Native on Linux will make AVD3 exit silently without any indication for what’s wrong.
Trying to dump e.g. "(Hi10)_Space☆Dandy_-_01_(720p)_(Commie)_(Dual_Audio)_(F042204B).mkv
" will throw an "Error System.InvalidOperationException: MediaInfoLib couldn't open the file" exception.
Remove the "☆" and dumping will work.
Should MIL even be called at all on such a file? It is an .mkv file afterall and shouldn't require MIL?
v8188
https://anidb.net/admin/avmf/file/761921
AVD2: https://anidb.net/admin/avmf/1079462/?do=xml
<crc>3e0c3aac</crc>
<ed2k>7327220ef6a049a876f430a25ba498d6</ed2k>
<ed2k_alt>915c361308b30b2482148410cbb1ab99</ed2k_alt>
<md5>8b7c23164ad6684e8a6c3ed90cef9447</md5>
<sha1>5d420127418752086c77b7ab0543e05a7709c157</sha1>
<tth>5hf577krec6ykl4yeo2fq6ue2guc3r7icucxlya</tth>
<size>252928000</size>
AVD3: https://anidb.net/admin/avmf/5001822/?do=xml
<crc>3e0c3aac</crc>
<ed2k>7e03600fb071b5ef5d398b8c5d63717a</ed2k>
<md5>8b7c23164ad6684e8a6c3ed90cef9447</md5>
<sha1>5d420127418752086c77b7ab0543e05a7709c157</sha1>
<tth>5hf577krec6ykl4yeo2fq6ue2guc3r7icucxlya</tth>
<size>252928000</size>
While AVD2 calculated the red and blue variants of the ed2k hash, AVD3 calculates a completely different ed2k hash.
Also, the <ed2k_alt/> node is missing from the XML.
https://anidb.net/admin/avmf/error/?do=xml&id=723965
<FileName>The Disastrous Life of Saiki K - 1x19 - Hurray! Tsundere Grandpa + Hip, Hip, Hurray! Tsundere Grandpa + Welcome to the Farthest Amusement Park! + See You Again! Saying Goodbye to the Grandparents + Congratulations on the Video Game Release! Kunio Sai.mkv</FileName>
The filename alone already exceeds the path length limit under Windows. Not surprising that MIL can't open the file.
Report locally but not upload the error to the server?
the generated ed2k links look like this f.e
ed2k://|file|Irozuku Sekai no Ashita kara - 01 (BD 1080p) [F7505C7B].mkv|130|E69431115E758BD3EB0F8B878D1F370A|/
notice 130 instead of actual file size of what symlink points too
v8188/8236
Using AVD2 with the --Log parameter gave me the following output in the logfile:
F:\Anime (DDD)\test\aaabbb_\Gasshin Sentai Mechander Robo - 23 Il sacrificio [76D8265C].avi
<?xml version="1.0" encoding="utf-16"?>
<file>
<crc>76d8265c</crc>
<ed2k>3362c78e0a4ffcd2b52ceb164a150eb4</ed2k>
<ed2k_alt>57fd0ca8153e8dc7d50f1c3137532165</ed2k_alt>
<md5>ec74189188e20a3ff8bf4ca162ba0ac9</md5>
<sha1>3384eba9b19aa94a4aeed2868c939a1beef8c5d5</sha1>
<tth>qgyokwrdsin2ibxmsf6mmtqrx22yf2vt5o64wva</tth>
<size>262656000</size>
<avmf>
[...]
</avmf>
</file>
AVD3 with the following arguments (among others)
--Reports=AniDBReport
--ReportDirectory=Reports
--ReportFilename=report_${FileExtension}.txt
is giving me the following output in the logfile:
<file>
<crc>76d8265c</crc>
<ed2k>3362c78e0a4ffcd2b52ceb164a150eb4</ed2k>
<ed2k_alt>57fd0ca8153e8dc7d50f1c3137532165</ed2k_alt>
<md5>ec74189188e20a3ff8bf4ca162ba0ac9</md5>
<sha1>3384eba9b19aa94a4aeed2868c939a1beef8c5d5</sha1>
<tth>qgyokwrdsin2ibxmsf6mmtqrx22yf2vt5o64wva</tth>
<size>262656000</size>
<avmf>
[...]
</avmf>
</file>
As you can see, the following two lines, that were present in the AVD2 output, are missing in the AVD3 output:
F:\Anime (DDD)\test\aaabbb_\Gasshin Sentai Mechander Robo - 23 Il sacrificio [76D8265C].avi
<?xml version="1.0" encoding="utf-16"?>
While the <?xml> element isn't that important, it would be nice to know which file the XML in the log is associated with.
Continuation of #51 apparently
it wasnt really fixed, 8293 still produces incorrect ed2k links from symlinks, just in a different way
example
this is correct ed2k ed2k://|file|100-man no Inochi no Ue ni Ore wa Tatte Iru 06.mkv|990898024|176B66E4B55FF361291A9EDE0561651E|/
and this one is from symlink to that file
ed2k://|file|100-man no Inochi no Ue ni Ore wa Tatte Iru 06.mkv|990898152|176B66E4B55FF361291A9EDE0561651E|/
notice the file size?
https://anidb.net/admin/avmf/error/?do=xml&id=723949
https://anidb.net/admin/avmf/error/?do=xml&id=723948
https://anidb.net/admin/avmf/error/?do=xml&id=723786
<Commandline>O:\Profile\AVDump3\AVDump3CL.dll FROMFILE O:\Profile\AVDump3\arguments.txt .</Commandline>
Possibly an issue with "." given as the path? "--PrintDiscoveredFiles" doesn't show anything weird though. https://i.imgur.com/1Uaf4nt.png (ignore the "System.NullReferenceException")
If --IncludePersonalData is enabled the user's apikey is potentially included in uploaded error reports.
Avd3 should obfuscate them since they are not required and kind of sensitive data.
A simple regexp-based replacement of the apikey should suffice.
Help text is printed in black. On a black terminal background, it’s unreadable. (Tested on Linux)
Ver 8066
Running AVD3 over an entire hdd will throw "UnauthorizedAccessExceptions" errors.
2 2020-05-21T23:28:46 "Access to the path 'M:\$RECYCLE.BIN\<user_windows_sid_here>' is denied."
2 2020-05-21T23:28:46 "Access to the path 'M:\System Volume Information' is denied."
<?xml version="1.0" encoding="utf-8"?>
<AVD3CLException thrownOn="2020-08-10 00:02:06.7744">
<Information>
<EntryAssemblyVersion>3.0.8134.0</EntryAssemblyVersion>
<LibVersion>3.0.8134.0</LibVersion>
<Session>d370b87c-54e2-40bd-b44e-591ee42cea18</Session>
<Framework>3.1.2</Framework>
<OSVersion>Microsoft Windows NT 10.0.18363.0</OSVersion>
<IntPtr.Size>8</IntPtr.Size>
<Is64BitOperatingSystem>true</Is64BitOperatingSystem>
<Is64BitProcess>true</Is64BitProcess>
<ProcessorCount>4</ProcessorCount>
<UserInteractive>true</UserInteractive>
<SystemPageSize>4096</SystemPageSize>
<WorkingSet>1571553280</WorkingSet>
<Commandline>E:\Programme\AVD3\AVDump3CL.dll --NullStreamTest=16:2000:16 --consumers=ed2k</Commandline>
</Information>
<Message>Unhandled AppDomain wide Exception</Message>
<Data />
<Cause>
<AggregateException>
<Message>One or more errors occurred. (Couldn't create Mirrored Buffer) (Couldn't create Mirrored Buffer) (Couldn't create Mirrored Buffer)</Message>
<Stacktrace>
<Frame>at System.AggregateException.Handle(Func`2 predicate)</Frame>
<Frame>at AVDump3Lib.Processing.StreamConsumer.StreamConsumerCollection.ConsumeStreams(IBytesReadProgress progress, CancellationToken ct) in D:\Projects\C#\AVDump3\AVDump3Lib\Processing\StreamConsumer\StreamConsumerCollection.cs:line 0</Frame>
<Frame>at AVDump3CL.AVD3CLModule.Process(String[] paths) in D:\Projects\C#\AVDump3\AVDump3CL\AVD3CLModule.cs:line 332</Frame>
<Frame>at AVDump3CL.Program.Main(String[] args) in D:\Projects\C#\AVDump3\AVDump3CL\Program.cs:line 110</Frame>
</Stacktrace>
<Data />
<Cause>
<Exception>
<Message>Couldn't create Mirrored Buffer</Message>
<Stacktrace>
<Frame>at AVDump3Lib.Processing.BlockBuffers.MirroredBuffer..ctor(Int32 length) in D:\Projects\C#\AVDump3\AVDump3Lib\Processing\BlockBuffers\MirroredBuffer.cs:line 41</Frame>
<Frame>at AVDump3Lib.Processing.BlockBuffers.MirroredBufferPool.Take() in D:\Projects\C#\AVDump3\AVDump3Lib\Processing\BlockBuffers\MirroredBufferPool.cs:line 24</Frame>
<Frame>at AVDump3Lib.Processing.StreamConsumer.StreamConsumerFactory.Create(ProvidedStream providedStream) in D:\Projects\C#\AVDump3\AVDump3Lib\Processing\StreamConsumer\StreamConsumerFactory.cs:line 34</Frame>
<Frame>at AVDump3Lib.Processing.StreamConsumer.StreamConsumerCollection.ConsumeStream(ProvidedStream providedStream, IBytesReadProgress progress, CancellationToken ct) in D:\Projects\C#\AVDump3\AVDump3Lib\Processing\StreamConsumer\StreamConsumerCollection.cs:line 96</Frame>
<Frame>at AVDump3Lib.Processing.StreamConsumer.StreamConsumerCollection.<>c__DisplayClass15_2.<ConsumeStreams>b__2() in D:\Projects\C#\AVDump3\AVDump3Lib\Processing\StreamConsumer\StreamConsumerCollection.cs:line 62</Frame>
<Frame>at System.Threading.Tasks.Task.InnerInvoke()</Frame>
<Frame>at System.Threading.Tasks.Task.<>c.<.cctor>b__274_0(Object obj)</Frame>
<Frame>at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)</Frame>
<Frame>--- End of stack trace from previous location where exception was thrown ---</Frame>
<Frame>at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)</Frame>
<Frame>at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)</Frame>
</Stacktrace>
<Data />
</Exception>
</Cause>
</AggregateException>
</Cause>
<Stacktrace />
</AVD3CLException>
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.