Tool for generating diff images of BYOND .dmi files
This project would not be possible without the groundwork made by @lzimann on https://github.com/lzimann/IconDiffBot
This project is licensed under GNU AGPL v3.
See LICENSE for more details.
Creates diff images of BYOND .dmi files
License: GNU Affero General Public License v3.0
Tool for generating diff images of BYOND .dmi files
This project would not be possible without the groundwork made by @lzimann on https://github.com/lzimann/IconDiffBot
This project is licensed under GNU AGPL v3.
See LICENSE for more details.
Under some circumstances, IconDiffBot will fail, completely.
PR in question: ParadiseSS13/Paradise#9050
In a PR that I submitted that completely replaced a sprite file, it just plain had a hissyfit, and threw this error:
System.ArgumentOutOfRangeException: Length cannot be less than zero.
Parameter name: length
at System.String.Substring(Int32 startIndex, Int32 length)
at IconDiffBot.Core.DiffGenerator.BuildDmi(String metadata) in /src/IconDiffBot/DiffGenerator.cs:line 85
at IconDiffBot.Core.DiffGenerator.GenerateDiffs(Stream before, Stream after) in /src/IconDiffBot/DiffGenerator.cs:line 247
at IconDiffBot.Core.PayloadProcessor.<>c__DisplayClass10_1.<<GenerateDiffs>g__DiffDmi|0>d.MoveNext() in /src/IconDiffBot/PayloadProcessor.cs:line 232
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at IconDiffBot.Core.PayloadProcessor.<GenerateDiffs>d__10.MoveNext() in /src/IconDiffBot/PayloadProcessor.cs:line 266
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at IconDiffBot.Core.PayloadProcessor.<ScanPullRequestImpl>d__9.MoveNext() in /src/IconDiffBot/PayloadProcessor.cs:line 153
System.NotSupportedException: Unknown DMI state key: movement
at IconDiffBot.Core.DiffGenerator.BuildDmi(String metadata) in /src/IconDiffBot/DiffGenerator.cs:line 122
at IconDiffBot.Core.DiffGenerator.GenerateDiffs(Stream before, Stream after) in /src/IconDiffBot/DiffGenerator.cs:line 355
at IconDiffBot.Core.PayloadProcessor.<>c__DisplayClass10_1.<g__DiffDmi|0>d.MoveNext() in /src/IconDiffBot/PayloadProcessor.cs:line 232
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at IconDiffBot.Core.PayloadProcessor.d__10.MoveNext() in /src/IconDiffBot/PayloadProcessor.cs:line 281
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at IconDiffBot.Core.PayloadProcessor.d__9.MoveNext() in /src/IconDiffBot/PayloadProcessor.cs:line 153
PR that caused this: vgstation-coders/vgstation13#18339
tgstation/tgstation#37695
https://github.com/tgstation/tgstation/pull/37695/checks?check_run_id=1102049
Octokit.NotFoundException: repositories/3234987/contents/icons/misc/pic_in_pic.dmi?ref=6adef1e6d4b5281a83f00a6112ae0a4bee2104c8 was not found.
at Octokit.ApiPagination.<GetAllPages>d__0`1.MoveNext() in D:\octokit.net\Octokit\Clients\ApiPagination.cs:line 34
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()
at IconDiffBot.Core.GitHubManager.<GetFileAtCommit>d__10.MoveNext() in /src/IconDiffBot/GitHubManager.cs:line 135
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()
at IconDiffBot.Core.PayloadProcessor.<>c__DisplayClass10_2.<<GenerateDiffs>g__GetImageFor|4>d.MoveNext() in /src/IconDiffBot/PayloadProcessor.cs:line 215
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()
at IconDiffBot.Core.PayloadProcessor.<>c__DisplayClass10_1.<<GenerateDiffs>g__DiffDmi|0>d.MoveNext() in /src/IconDiffBot/PayloadProcessor.cs:line 221
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at IconDiffBot.Core.PayloadProcessor.<GenerateDiffs>d__10.MoveNext() in /src/IconDiffBot/PayloadProcessor.cs:line 257
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at IconDiffBot.Core.PayloadProcessor.<ScanPullRequestImpl>d__9.MoveNext() in /src/IconDiffBot/PayloadProcessor.cs:line 153
vgstation-coders/vgstation13#18147
Octokit.ForbiddenException: This API returns blobs up to 1 MB in size. The requested blob is too large to fetch via the API, but you can use the Git Data API to request blobs up to 100 MB in size.
at Octokit.Connection.HandleErrors(IResponse response) in D:\octokit.net\Octokit\Http\Connection.cs:line 665
at Octokit.Connection.d__58.MoveNext() in D:\octokit.net\Octokit\Http\Connection.cs:line 642
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Octokit.Connection.d__571.MoveNext() in D:\octokit.net\Octokit\Http\Connection.cs:line 626 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Octokit.ApiConnection.<GetPage>d__41
1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Octokit.ApiConnection.<>c__DisplayClass17_01.<<GetAll>b__0>d.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Octokit.ApiPagination.<GetAllPages>d__0
1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.ConfiguredTaskAwaitable1.ConfiguredTaskAwaiter.GetResult() at IconDiffBot.Core.GitHubManager.<GetFileAtCommit>d__10.MoveNext() in /src/IconDiffBot/GitHubManager.cs:line 135 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.ConfiguredTaskAwaitable
1.ConfiguredTaskAwaiter.GetResult()
at IconDiffBot.Core.PayloadProcessor.<>c__DisplayClass10_2.<g__GetImageFor|4>d.MoveNext() in /src/IconDiffBot/PayloadProcessor.cs:line 215
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()
at IconDiffBot.Core.PayloadProcessor.<>c__DisplayClass10_1.<g__DiffDmi|0>d.MoveNext() in /src/IconDiffBot/PayloadProcessor.cs:line 229
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at IconDiffBot.Core.PayloadProcessor.d__10.MoveNext() in /src/IconDiffBot/PayloadProcessor.cs:line 266
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at IconDiffBot.Core.PayloadProcessor.d__9.MoveNext() in /src/IconDiffBot/PayloadProcessor.cs:line 153
{"message":"This API returns blobs up to 1 MB in size. The requested blob is too large to fetch via the API, but you can use the Git Data API to request blobs up to 100 MB in size.","errors":[{"resource":"Blob","field":"data","code":"too_large"}],"documentation_url":"https://developer.github.com/v3/repos/contents/#get-contents"}
Note that inconsistencies/errors in renderings should be reported on the upstream repository: https://github.com/SpaceManiac/SpacemanDMM
Please leave permanent links to:
a) The commit that caused the failure
Baystation12/Baystation12@a0987e7
b) The failed check run
https://github.com/Baystation12/Baystation12/pull/32406/checks?check_run_id=7819674089
Both IconDiffBot and IconDiffBot2 are failing on this specific PR, even after rerunning the tasks. This is the only PR on the repo this is happening to.
Right now viewing the report for animated icon_states only plays the animation once. It would be nicer if the GIFs could be made to loop.
Job: https://github.com/FortunaSS13/Fortuna/runs/4234985573
Original PR: FortunaSS13/Fortuna#454
I saw this was 'fixed' in 2019: #53 (comment)
Microsoft.EntityFrameworkCore.DbUpdateException: An error occurred while updating the entries. See the inner exception for details.
---> MySql.Data.MySqlClient.MySqlException (0x80004005): Incorrect string value: '\xC2\x91\xC3\x83\xC2\xAC...' for column `ss13_icon_diff_bot`.`IconDiffs`.`StateName` at row 254
---> MySql.Data.MySqlClient.MySqlException (0x80004005): Incorrect string value: '\xC2\x91\xC3\x83\xC2\xAC...' for column `ss13_icon_diff_bot`.`IconDiffs`.`StateName` at row 254
at MySqlConnector.Core.ServerSession.TryAsyncContinuation(Task`1 task) in C:\projects\mysqlconnector\src\MySqlConnector\Core\ServerSession.cs:line 1243
at System.Threading.Tasks.ContinuationResultTaskFromResultTask`2.InnerInvoke()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location where exception was thrown ---
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
--- End of stack trace from previous location where exception was thrown ---
at MySqlConnector.Core.ResultSet.ReadResultSetHeaderAsync(IOBehavior ioBehavior) in C:\projects\mysqlconnector\src\MySqlConnector\Core\ResultSet.cs:line 42
at MySql.Data.MySqlClient.MySqlDataReader.ActivateResultSet(ResultSet resultSet) in C:\projects\mysqlconnector\src\MySqlConnector\MySql.Data.MySqlClient\MySqlDataReader.cs:line 80
at MySql.Data.MySqlClient.MySqlDataReader.ReadFirstResultSetAsync(IOBehavior ioBehavior) in C:\projects\mysqlconnector\src\MySqlConnector\MySql.Data.MySqlClient\MySqlDataReader.cs:line 303
at MySql.Data.MySqlClient.MySqlDataReader.CreateAsync(MySqlCommand command, CommandBehavior behavior, ResultSetProtocol resultSetProtocol, IOBehavior ioBehavior) in C:\projects\mysqlconnector\src\MySqlConnector\MySql.Data.MySqlClient\MySqlDataReader.cs:line 296
at MySqlConnector.Core.TextCommandExecutor.ExecuteReaderAsync(String commandText, MySqlParameterCollection parameterCollection, CommandBehavior behavior, IOBehavior ioBehavior, CancellationToken cancellationToken) in C:\projects\mysqlconnector\src\MySqlConnector\Core\TextCommandExecutor.cs:line 52
at Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommand.ExecuteAsync(IRelationalConnection connection, DbCommandMethod executeMethod, IReadOnlyDictionary`2 parameterValues, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.ExecuteAsync(IRelationalConnection connection, CancellationToken cancellationToken)
--- End of inner exception stack trace ---
at Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.ExecuteAsync(IRelationalConnection connection, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.ExecuteAsync(DbContext _, ValueTuple`2 parameters, CancellationToken cancellationToken)
at Pomelo.EntityFrameworkCore.MySql.Storage.Internal.MySqlExecutionStrategy.ExecuteAsync[TState,TResult](TState state, Func`4 operation, Func`4 verifySucceeded, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChangesAsync(IReadOnlyList`1 entriesToSave, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChangesAsync(Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.DbContext.SaveChangesAsync(Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken)
at IconDiffBot.Core.PayloadProcessor.HandleResults(PullRequest pullRequest, Int64 installationId, Int64 checkRunId, List`1 diffResults, IServiceScope scope, IDatabaseContext databaseContext, CancellationToken cancellationToken)
at IconDiffBot.Core.PayloadProcessor.GenerateDiffs(PullRequest pullRequest, Int64 installationId, Int64 checkRunId, IReadOnlyList`1 changedDmis, IServiceScope scope, CancellationToken cancellationToken)
at IconDiffBot.Core.PayloadProcessor.<>c__DisplayClass11_0.<<ScanPullRequestImpl>g__RunCheck|0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at IconDiffBot.Core.PayloadProcessor.ScanPullRequestImpl(Int64 repositoryId, Int32 pullRequestNumber, Int64 installationId, IServiceScope scope, CancellationToken cancellationToken)
Note that inconsistencies/errors in renderings should be reported on the upstream repository: https://github.com/SpaceManiac/SpacemanDMM
Please leave permanent links to:
Octokit.AuthorizationException: Bad credentials
at Octokit.Connection.HandleErrors(IResponse response) in C:\projects\octokit-net\Octokit\Http\Connection.cs:line 665
at Octokit.Connection.RunRequest(IRequest request, CancellationToken cancellationToken) in C:\projects\octokit-net\Octokit\Http\Connection.cs:line 642
at Octokit.Connection.Run[T](IRequest request, CancellationToken cancellationToken) in C:\projects\octokit-net\Octokit\Http\Connection.cs:line 626
at Octokit.ApiConnection.Patch[T](Uri uri, Object data, String accepts)
at IconDiffBot.Core.GitHubManager.UpdateCheckRun(Int64 repositoryId, Int64 installationId, Int64 checkRunId, CheckRunUpdate checkRunUpdate, CancellationToken cancellationToken) in /src/IconDiffBot/GitHubManager.cs:line 116
at IconDiffBot.Core.PayloadProcessor.GenerateDiffs(PullRequest pullRequest, Int64 installationId, Int64 checkRunId, IReadOnlyList`1 changedDmis, IServiceScope scope, CancellationToken cancellationToken) in /src/IconDiffBot/PayloadProcessor.cs:line 337
at IconDiffBot.Core.PayloadProcessor.<>c__DisplayClass11_0.<<ScanPullRequestImpl>g__RunCheck|0>d.MoveNext() in /src/IconDiffBot/PayloadProcessor.cs:line 156
--- End of stack trace from previous location where exception was thrown ---
at IconDiffBot.Core.PayloadProcessor.ScanPullRequestImpl(Int64 repositoryId, Int32 pullRequestNumber, Int64 installationId, IServiceScope scope, CancellationToken cancellationToken) in /src/IconDiffBot/PayloadProcessor.cs:line 166
{"message":"Bad credentials","documentation_url":"https://developer.github.com/v3"}
https://github.com/tgstation/tgstation/pull/38270/checks
Octokit.NotFoundException: repositories/3234987/contents/icons/obj?ref=425318e88965531fba06d71b6b4a50cad66aaded was not found.
at Octokit.ApiPagination.<GetAllPages>d__0`1.MoveNext() in D:\octokit.net\Octokit\Clients\ApiPagination.cs:line 34
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()
at IconDiffBot.Core.GitHubManager.<GetFileAtCommit>d__10.MoveNext() in /src/IconDiffBot/GitHubManager.cs:line 141
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()
at IconDiffBot.Core.PayloadProcessor.<>c__DisplayClass10_2.<<GenerateDiffs>g__GetImageFor|4>d.MoveNext() in /src/IconDiffBot/PayloadProcessor.cs:line 215
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()
at IconDiffBot.Core.PayloadProcessor.<>c__DisplayClass10_1.<<GenerateDiffs>g__DiffDmi|0>d.MoveNext() in /src/IconDiffBot/PayloadProcessor.cs:line 229
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at IconDiffBot.Core.PayloadProcessor.<GenerateDiffs>d__10.MoveNext() in /src/IconDiffBot/PayloadProcessor.cs:line 285
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at IconDiffBot.Core.PayloadProcessor.<ScanPullRequestImpl>d__9.MoveNext() in /src/IconDiffBot/PayloadProcessor.cs:line 153
Only 65535 characters are allowed; 186882 were supplied.
Octokit.ApiValidationException: Invalid request.
Only 65535 characters are allowed; 186882 were supplied.
at Octokit.Connection.HandleErrors(IResponse response) in D:\octokit.net\Octokit\Http\Connection.cs:line 665
at Octokit.Connection.<RunRequest>d__58.MoveNext() in D:\octokit.net\Octokit\Http\Connection.cs:line 642
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Octokit.Connection.<Run>d__57`1.MoveNext() in D:\octokit.net\Octokit\Http\Connection.cs:line 626
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Octokit.ApiConnection.<Patch>d__32`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()
at IconDiffBot.Core.GitHubManager.<UpdateCheckRun>d__8.MoveNext() in /src/IconDiffBot/GitHubManager.cs:line 116
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at IconDiffBot.Core.PayloadProcessor.<HandleResults>d__13.MoveNext() in /src/IconDiffBot/PayloadProcessor.cs:line 437
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at IconDiffBot.Core.PayloadProcessor.<GenerateDiffs>d__12.MoveNext() in /src/IconDiffBot/PayloadProcessor.cs:line 342
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at IconDiffBot.Core.PayloadProcessor.<>c__DisplayClass11_0.<<ScanPullRequestImpl>g__RunCheck|0>d.MoveNext() in /src/IconDiffBot/PayloadProcessor.cs:line 160
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at IconDiffBot.Core.PayloadProcessor.<ScanPullRequestImpl>d__11.MoveNext() in /src/IconDiffBot/PayloadProcessor.cs:line 170
{"message":"Invalid request.\n\nOnly 65535 characters are allowed; 186882 were supplied.","documentation_url":"https://developer.github.com/v3/checks/runs/#update-a-check-run"}
a) commit: vgstation-coders/vgstation13@46b3816
b) check run: https://github.com/vgstation-coders/vgstation13/pull/18752/checks?check_run_id=7276200
System.IO.FileLoadException: Could not load file or assembly 'MetadataExtractor, Version=2.2.0.0, Culture=neutral, PublicKeyToken=null'. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
File name: 'MetadataExtractor, Version=2.2.0.0, Culture=neutral, PublicKeyToken=null'
at IconDiffBot.Core.DiffGenerator.StreamToMetadataString(Stream stream)
at IconDiffBot.Core.DiffGenerator.GenerateDiffs(Stream before, Stream after)
at IconDiffBot.Core.PayloadProcessor.<>c__DisplayClass12_0.<<GenerateDiffs>g__DiffDmi|0>d.MoveNext()
a) The commit that caused the failure
goonstation/goonstation@779bc0a
b) The failed check run
https://github.com/goonstation/goonstation/pull/78/checks?check_run_id=557732022
Cannot rerun job either, as it was 'passing.'
Note that inconsistencies/errors in renderings should be reported on the upstream repository: https://github.com/SpaceManiac/SpacemanDMM
Please leave permanent links to:
a) The commit that caused the failure
ParadiseSS13/Paradise#9937
b) The failed check run
https://github.com/ParadiseSS13/Paradise/pull/9937/checks?check_run_id=25219300
Simply, Paradise had some empty icon .dmi's... I deleted them. Bot was unhappy.
System.NullReferenceException: Object reference not set to an instance of an object.
at IconDiffBot.Core.PayloadProcessor.<HandleResults>d__13.MoveNext() in /src/IconDiffBot/PayloadProcessor.cs:line 398
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at IconDiffBot.Core.PayloadProcessor.<GenerateDiffs>d__12.MoveNext() in /src/IconDiffBot/PayloadProcessor.cs:line 338
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at IconDiffBot.Core.PayloadProcessor.<>c__DisplayClass11_0.<<ScanPullRequestImpl>g__RunCheck|0>d.MoveNext() in /src/IconDiffBot/PayloadProcessor.cs:line 156
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at IconDiffBot.Core.PayloadProcessor.<ScanPullRequestImpl>d__11.MoveNext() in /src/IconDiffBot/PayloadProcessor.cs:line 166```
System.NullReferenceException: Object reference not set to an instance of an object.
at IconDiffBot.Core.DiffGenerator.<>c.<StreamToMetadataString>b__0_1(Tag x) in /src/IconDiffBot/DiffGenerator.cs:line 32
at System.Linq.Enumerable.TryGetFirst[TSource](IEnumerable`1 source, Func`2 predicate, Boolean& found)
at System.Linq.Enumerable.First[TSource](IEnumerable`1 source, Func`2 predicate)
at IconDiffBot.Core.DiffGenerator.StreamToMetadataString(Stream stream) in /src/IconDiffBot/DiffGenerator.cs:line 32
at IconDiffBot.Core.DiffGenerator.GenerateDiffs(Stream before, Stream after) in /src/IconDiffBot/DiffGenerator.cs:line 369
at IconDiffBot.Core.PayloadProcessor.<>c__DisplayClass10_1.<<GenerateDiffs>g__DiffDmi|0>d.MoveNext() in /src/IconDiffBot/PayloadProcessor.cs:line 235
Commit specific version of the DMI which caused the issue: https://github.com/CakeQ/Baystation12/blob/7b6f80826907f225afe12e5500473904ed699255/icons/obj/doors/hazard/door.dmi
Octokit.ApiException: An error occurred with this API request
at Octokit.Connection.HandleErrors(IResponse response) in C:\projects\octokit-net\Octokit\Http\Connection.cs:line 665
at Octokit.Connection.RunRequest(IRequest request, CancellationToken cancellationToken) in C:\projects\octokit-net\Octokit\Http\Connection.cs:line 643
at Octokit.Connection.Run[T](IRequest request, CancellationToken cancellationToken) in C:\projects\octokit-net\Octokit\Http\Connection.cs:line 628
at Octokit.ApiConnection.Patch[T](Uri uri, Object data, String accepts) in C:\projects\octokit-net\Octokit\Http\ApiConnection.cs:line 440
at IconDiffBot.Core.GitHubManager.UpdateCheckRun(Int64 repositoryId, Int64 installationId, Int64 checkRunId, CheckRunUpdate checkRunUpdate, CancellationToken cancellationToken)
at IconDiffBot.Core.PayloadProcessor.<>c__DisplayClass11_0.<g__RunCheck|0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at IconDiffBot.Core.PayloadProcessor.ScanPullRequestImpl(Int64 repositoryId, Int32 pullRequestNumber, Int64 installationId, IServiceScope scope, CancellationToken cancellationToken)
a) The commit that caused the failure
BeeStation/BeeStation-Hornet@c23d435
(#6733)
b) The failed check run
https://github.com/BeeStation/BeeStation-Hornet/pull/6733/checks?check_run_id=6138827687
This keeps happening a lot on goon for the past month or so. Happens for MapdiffBot as well.
Error:
Octokit.AuthorizationException: Bad credentials
at Octokit.Connection.HandleErrors(IResponse response) in C:\projects\octokit-net\Octokit\Http\Connection.cs:line 665
at Octokit.Connection.RunRequest(IRequest request, CancellationToken cancellationToken) in C:\projects\octokit-net\Octokit\Http\Connection.cs:line 643
at Octokit.Connection.Run[T](IRequest request, CancellationToken cancellationToken) in C:\projects\octokit-net\Octokit\Http\Connection.cs:line 628
at Octokit.ApiConnection.Get[T](Uri uri, IDictionary`2 parameters) in C:\projects\octokit-net\Octokit\Http\ApiConnection.cs:line 72
at IconDiffBot.Core.GitHubManager.GetFileAtCommit(Int64 repositoryId, Int64 installationId, String filePath, String commit, CancellationToken cancellationToken) in /hosting/services/idb-building/IconDiffBot/Core/GitHubManager.cs:line 150
at IconDiffBot.Core.PayloadProcessor.<>c__DisplayClass12_1.<<GenerateDiffs>g__GetImageFor|2>d.MoveNext() in /hosting/services/idb-building/IconDiffBot/Core/PayloadProcessor.cs:line 245
--- End of stack trace from previous location where exception was thrown ---
at IconDiffBot.Core.PayloadProcessor.<>c__DisplayClass12_0.<<GenerateDiffs>g__DiffDmi|0>d.MoveNext() in /hosting/services/idb-building/IconDiffBot/Core/PayloadProcessor.cs:line 259
--- End of stack trace from previous location where exception was thrown ---
at IconDiffBot.Core.PayloadProcessor.GenerateDiffs(PullRequest pullRequest, Int64 installationId, Int64 checkRunId, IReadOnlyList`1 changedDmis, IServiceScope scope, CancellationToken cancellationToken) in /hosting/services/idb-building/IconDiffBot/Core/PayloadProcessor.cs:line 315
at IconDiffBot.Core.PayloadProcessor.<>c__DisplayClass11_0.<<ScanPullRequestImpl>g__RunCheck|0>d.MoveNext() in /hosting/services/idb-building/IconDiffBot/Core/PayloadProcessor.cs:line 157
--- End of stack trace from previous location where exception was thrown ---
at IconDiffBot.Core.PayloadProcessor.ScanPullRequestImpl(Int64 repositoryId, Int32 pullRequestNumber, Int64 installationId, IServiceScope scope, CancellationToken cancellationToken) in /hosting/services/idb-building/IconDiffBot/Core/PayloadProcessor.cs:line 166
{"message":"Bad credentials","documentation_url":"https://developer.github.com/v3"}
Failed check run:
https://github.com/goonstation/goonstation/pull/1594/checks?check_run_id=906278442
Similar but shorter stack trace here:
https://github.com/goonstation/goonstation/pull/1583/checks?check_run_id=902526522
This needs to go in to avoid cases (like what happened today) where one repository ate up all system resources and caused the diffbots to brick, while also obliterating githubs rate limit.
edit: wrong repo rip
The DMI onmob_accessories.dmi could not be rendered due to the error referenced at the bottom of this issue ticket.
a) The commit that caused the failure
Baystation12/Baystation12@d5d3063
b) The failed check run
https://github.com/Baystation12/Baystation12/pull/28254/checks
System.IO.FileLoadException: Could not load file or assembly 'MetadataExtractor, Version=2.2.0.0, Culture=neutral, PublicKeyToken=null'. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
File name: 'MetadataExtractor, Version=2.2.0.0, Culture=neutral, PublicKeyToken=null'
at IconDiffBot.Core.DiffGenerator.StreamToMetadataString(Stream stream)
at IconDiffBot.Core.DiffGenerator.GenerateDiffs(Stream before, Stream after)
at IconDiffBot.Core.PayloadProcessor.<>c__DisplayClass12_0.<<GenerateDiffs>g__DiffDmi|0>d.MoveNext()
I want this so I can bundle it into a discord bot
Note that inconsistencies/errors in renderings should be reported on the upstream repository: https://github.com/SpaceManiac/SpacemanDMM
Please leave permanent links to:
a) The commit that caused the failure
tgstation/tgstation@6b79f58
b) The failed check run
https://github.com/tgstation/tgstation/runs/2582693340
https://github.com/tgstation/tgstation/runs/1408540
System.ArgumentException: Parameter is not valid.
at System.Drawing.Image.get_Width()
at IconDiffBot.Core.DiffGenerator.ExtractImages(Dmi dmi, Stream stream) in /src/IconDiffBot/DiffGenerator.cs:line 222
at IconDiffBot.Core.DiffGenerator.GenerateDiffs(Stream before, Stream after) in /src/IconDiffBot/DiffGenerator.cs:line 359
at IconDiffBot.Core.PayloadProcessor.<>c__DisplayClass10_1.<<GenerateDiffs>g__DiffDmi|0>d.MoveNext() in /src/IconDiffBot/PayloadProcessor.cs:line 232
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at IconDiffBot.Core.PayloadProcessor.<GenerateDiffs>d__10.MoveNext() in /src/IconDiffBot/PayloadProcessor.cs:line 266
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at IconDiffBot.Core.PayloadProcessor.<ScanPullRequestImpl>d__9.MoveNext() in /src/IconDiffBot/PayloadProcessor.cs:line 153
It failed to run for a big PR, linked here:
vgstation-coders/vgstation13#18296
Note that the original IconDiffBot ran correctly.
System.InvalidOperationException: An exception was thrown while attempting to evaluate a LINQ query parameter expression. To show additional information call EnableSensitiveDataLogging() when overriding DbContext.OnConfiguring. ---> System.NullReferenceException: Object reference not set to an instance of an object.
at lambda_method(Closure )
at Microsoft.EntityFrameworkCore.Query.ExpressionVisitors.Internal.ParameterExtractingExpressionVisitor.Evaluate(Expression expression, String& parameterName)
--- End of inner exception stack trace ---
at Microsoft.EntityFrameworkCore.Query.ExpressionVisitors.Internal.ParameterExtractingExpressionVisitor.Evaluate(Expression expression, String& parameterName)
at Microsoft.EntityFrameworkCore.Query.ExpressionVisitors.Internal.ParameterExtractingExpressionVisitor.TryExtractParameter(Expression expression)
at Microsoft.EntityFrameworkCore.Query.ExpressionVisitors.Internal.ParameterExtractingExpressionVisitor.VisitMember(MemberExpression memberExpression)
at System.Linq.Expressions.MemberExpression.Accept(ExpressionVisitor visitor)
at System.Linq.Expressions.ExpressionVisitor.Visit(Expression node)
at System.Linq.Expressions.ExpressionVisitor.VisitConditional(ConditionalExpression node)
at System.Linq.Expressions.ConditionalExpression.Accept(ExpressionVisitor visitor)
at System.Linq.Expressions.ExpressionVisitor.Visit(Expression node)
at System.Linq.Expressions.ExpressionVisitor.VisitBinary(BinaryExpression node)
at Microsoft.EntityFrameworkCore.Query.ExpressionVisitors.Internal.ParameterExtractingExpressionVisitor.VisitBinary(BinaryExpression binaryExpression)
at System.Linq.Expressions.BinaryExpression.Accept(ExpressionVisitor visitor)
at System.Linq.Expressions.ExpressionVisitor.Visit(Expression node)
at System.Linq.Expressions.ExpressionVisitor.VisitLambda[T](Expression`1 node)
at Microsoft.EntityFrameworkCore.Query.ExpressionVisitors.Internal.ParameterExtractingExpressionVisitor.VisitLambda[T](Expression`1 node)
at System.Linq.Expressions.Expression`1.Accept(ExpressionVisitor visitor)
at System.Linq.Expressions.ExpressionVisitor.Visit(Expression node)
at System.Linq.Expressions.ExpressionVisitor.VisitUnary(UnaryExpression node)
at Microsoft.EntityFrameworkCore.Query.ExpressionVisitors.Internal.ParameterExtractingExpressionVisitor.VisitUnary(UnaryExpression unaryExpression)
at System.Linq.Expressions.UnaryExpression.Accept(ExpressionVisitor visitor)
at System.Linq.Expressions.ExpressionVisitor.Visit(Expression node)
at System.Dynamic.Utils.ExpressionVisitorUtils.VisitArguments(ExpressionVisitor visitor, IArgumentProvider nodes)
at System.Linq.Expressions.ExpressionVisitor.VisitMethodCall(MethodCallExpression node)
at Microsoft.EntityFrameworkCore.Query.ExpressionVisitors.Internal.ParameterExtractingExpressionVisitor.VisitMethodCall(MethodCallExpression methodCallExpression)
at System.Linq.Expressions.MethodCallExpression.Accept(ExpressionVisitor visitor)
at System.Linq.Expressions.ExpressionVisitor.Visit(Expression node)
at System.Dynamic.Utils.ExpressionVisitorUtils.VisitArguments(ExpressionVisitor visitor, IArgumentProvider nodes)
at System.Linq.Expressions.ExpressionVisitor.VisitMethodCall(MethodCallExpression node)
at Microsoft.EntityFrameworkCore.Query.ExpressionVisitors.Internal.ParameterExtractingExpressionVisitor.VisitMethodCall(MethodCallExpression methodCallExpression)
at System.Linq.Expressions.MethodCallExpression.Accept(ExpressionVisitor visitor)
at System.Linq.Expressions.ExpressionVisitor.Visit(Expression node)
at Microsoft.EntityFrameworkCore.Query.ExpressionVisitors.Internal.ParameterExtractingExpressionVisitor.ExtractParameters(Expression expression)
at Microsoft.EntityFrameworkCore.Query.Internal.QueryCompiler.ExtractParameters(Expression query, QueryContext queryContext, Boolean parameterize)
at Microsoft.EntityFrameworkCore.Query.Internal.QueryCompiler.ExecuteAsync[TResult](Expression query)
at Microsoft.EntityFrameworkCore.Query.Internal.EntityQueryProvider.ExecuteAsync[TResult](Expression expression)
at Microsoft.EntityFrameworkCore.Query.Internal.EntityQueryable`1.System.Collections.Generic.IAsyncEnumerable<TResult>.GetEnumerator()
at System.Linq.AsyncEnumerable.<Aggregate_>d__6`3.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()
at IconDiffBot.Core.PayloadProcessor.<>c__DisplayClass10_1.<<GenerateDiffs>g__CheckDiffImages|3>d.MoveNext() in /src/IconDiffBot/PayloadProcessor.cs:line 229
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()
at IconDiffBot.Core.PayloadProcessor.<>c__DisplayClass10_1.<<GenerateDiffs>g__DiffDmi|0>d.MoveNext() in /src/IconDiffBot/PayloadProcessor.cs:line 266
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at IconDiffBot.Core.PayloadProcessor.<GenerateDiffs>d__10.MoveNext() in /src/IconDiffBot/PayloadProcessor.cs:line 273
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at IconDiffBot.Core.PayloadProcessor.<ScanPullRequestImpl>d__9.MoveNext() in /src/IconDiffBot/PayloadProcessor.cs:line 149
The lack of a proper 404
page generates many errors on the server, filling the database, and causing a large stacktrace in the console, which pins the CPU at 100%, and also destroys my ears.
a) The commit that caused the failure: vgstation-coders/vgstation13@2ceaf7b
b) The failed check run: https://github.com/vgstation-coders/vgstation13/pull/18817/checks?check_run_id=7628128
System.ArgumentException: Version string portion was too short or too long. (Parameter 'input')
at System.Version.ParseVersion(ReadOnlySpan`1 input, Boolean throwOnFailure)
at System.Version.Parse(String input)
at IconDiffBot.Core.DiffGenerator.BuildDmi(String metadata)
at IconDiffBot.Core.DiffGenerator.GenerateDiffs(Stream before, Stream after)
at IconDiffBot.Core.PayloadProcessor.<>c__DisplayClass12_0.<<GenerateDiffs>g__DiffDmi|0>d.MoveNext()
a) The commit that caused the failure
goonstation/goonstation#7226
Skeletonman0/goonstation@45accdd
https://github.com/Skeletonman0/goonstation/blob/0cb66d9e0cd362feac9a5bfbf495446045057d0c/icons/turf/walls_ancient.dmi
https://github.com/Skeletonman0/goonstation/blob/0cb66d9e0cd362feac9a5bfbf495446045057d0c/icons/turf/walls_cave.dmi
b) The failed check run
https://github.com/goonstation/goonstation/pull/7226/checks?check_run_id=4876785039
https://github.com/tgstation/tgstation/pull/38908/checks?check_run_id=6388523
Not present in the old bot's output
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.