We found today that page stops crashing if docker connector is removed and starts crashing again if it returned back.
luminiscence_6236
@luminiscence_6236
Best posts made by luminiscence_6236
Latest posts made by luminiscence_6236
-
RE: Can't open Docker feed because of null reference exception
-
RE: Can't open Docker feed because of null reference exception
Hi, @rhessinger
Do you see any other errors in the diagnostic center?
No, that's the only error we found
Does the page load when you click the Containers link at the top of the page?
Yes
are you able to navigate to your registry by first going to the Feeds then clicking on your registry there?
Any link to the registry fails with exception, either from Feeds or from Home page
-
RE: Can't open Docker feed because of null reference exception
Attached stack from diagnostics center, although it's the same as far as I can see
Stack trace: at System.String.StartsWith(String value, StringComparison comparisonType) at System.Linq.Enumerable.WhereListIterator`1.MoveNext() at System.Linq.Enumerable.Count[TSource](IEnumerable`1 source) at Inedo.ProGet.WebApplication.Pages.Docker.ListRepositoriesPage.<CreateOutOfBoxExperience>d__17.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 Inedo.ProGet.WebApplication.Pages.Docker.ListRepositoriesPage.<CreateChildControlsAsync>d__16.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 Inedo.ProGet.WebApplication.Pages.ProGetSimplePageBase.<InitializeAsync>d__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 Inedo.Web.PageFree.SimplePageBase.<ExecutePageLifeCycleAsync>d__46.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 Inedo.Web.PageFree.SimplePageBase.<ProcessRequestAsync>d__45.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.Web.TaskAsyncHelper.EndTask(IAsyncResult ar) at Inedo.Web.Handlers.AsyncHandlerWrapper.EndProcessRequest(IAsyncResult result) at System.Web.HttpApplication.CallHandlerExecutionStep.InvokeEndHandler(IAsyncResult ar) at System.Web.HttpApplication.CallHandlerExecutionStep.OnAsyncHandlerCompletion(IAsyncResult ar)
-
Can't open Docker feed because of null reference exception
Since migration to Proget 5.4.3 docker registry page could not be opened any more for logged in user. Instead of docker images list, standard asp.net exception page is always shown with the following stacktrace:
[ArgumentNullException: Value cannot be null. Parameter name: value] System.String.StartsWith(String value, StringComparison comparisonType) +598 System.Linq.WhereListIterator1.MoveNext() +81 System.Linq.Enumerable.Count(IEnumerable1 source) +259 Inedo.ProGet.WebApplication.Pages.Docker.d__17.MoveNext() +5963 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() +31 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +60 Inedo.ProGet.WebApplication.Pages.Docker.d__16.MoveNext() +1642 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() +31 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +60 Inedo.ProGet.WebApplication.Pages.d__3.MoveNext() +201 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() +31 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +60 Inedo.Web.PageFree.d__46.MoveNext() +220 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() +31 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +60 Inedo.Web.PageFree.d__45.MoveNext() +323 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() +31 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +60 System.Web.TaskAsyncHelper.EndTask(IAsyncResult ar) +59 Inedo.Web.Handlers.AsyncHandlerWrapper.EndProcessRequest(IAsyncResult result) +33 System.Web.CallHandlerExecutionStep.InvokeEndHandler(IAsyncResult ar) +234 System.Web.CallHandlerExecutionStep.OnAsyncHandlerCompletion(IAsyncResult ar) +169
Problem has workaround - page could be opened without problems for anonymous users.
-
Docker registry mirroring support
Vanilla docker registry supports mirroring with pull-through cache feature. When user tries to pull some image hosted on dockerhub, docker daemon redirects this request to mirror, mirror checks if image is cached locally, and if not, fetches its layers and manifests and responds with cached local content.
I am wondering is this feature implemented in ProGet in some way. Docker registry connector, mentioned here and here didn't work for me, because registry address from vanilla docker registry example (https://registry-1.docker.io/v2) requires bearer authentication and ProGet fails with "authentication required" error. Even when I got it to work with some another address, it just fetched all manifests from dockerhub (what is quite unexpected behavior), but I'm not sure is it really mirroring functionality I want, because it is quite hard to understand whether image was pulled from dockerhub directly or from ProGet.