Javinizer icon indicating copy to clipboard operation
Javinizer copied to clipboard

Add arm docker images

Open loveqianool opened this issue 3 years ago • 14 comments

Current Behavior

WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested

loveqianool avatar Jul 12 '21 11:07 loveqianool

I pushed an experimental image.

Can you try using tag: jvlflame/javinizer:latest-arm64v8 https://hub.docker.com/layers/jvlflame/javinizer/latest-arm64v8/images/sha256-5ab3c45f246f9c533488d1d104932843f4d9b06279d180e2f6ad26dfba4f52b6?context=repo

jvlflame avatar Jul 12 '21 14:07 jvlflame

I pushed an experimental image.

Can you try using tag: jvlflame/javinizer:latest-arm64v8 https://hub.docker.com/layers/jvlflame/javinizer/latest-arm64v8/images/sha256-5ab3c45f246f9c533488d1d104932843f4d9b06279d180e2f6ad26dfba4f52b6?context=repo

➜  ~ docker run --name javinizer -p 8600:8600 -d jvlflame/javinizer:latest-arm64v8
7ae7e26a0df1a49e8d3d5db4c23eabb9a8e419d89ae0d37b0ccd183ff2bf98ff
➜  ~ docker logs javinizer
/docker-entrypoint-arm64v8.sh: line 5: /home/Universal/Universal.Server: cannot execute binary file: Exec format error

loveqianool avatar Jul 13 '21 00:07 loveqianool

Ok, I need to add the ARM64 binary for PowerShell Universal...

jvlflame avatar Jul 13 '21 01:07 jvlflame

I pushed a new version to the same tag jvlflame/javinizer:latest-arm64v8. Can you clear your docker cache and try it again?

I had to bump PoweShell Universal v1.5.13 => v2.1.2 to use the ARM64 binary. I tested the Windows version of v2.1.2 and it seems to be compatible but it throws out random errors (which should not affect functionality).

jvlflame avatar Jul 13 '21 02:07 jvlflame

It ran successfully, but the dashboard could not be opened

Dashboard is not running

➜  ~ docker logs javinizer
2021-07-13 07:35:43 [INFO]  (Hangfire.BackgroundJobServer) Starting Hangfire Server using job storage: 'Hangfire.MemoryStorage.MemoryStorage'
2021-07-13 07:35:43 [INFO]  (Hangfire.BackgroundJobServer) Using the following options for Hangfire Server:
    Worker count: 20
    Listening queues: 'default'
    Shutdown timeout: 00:00:15
    Schedule polling interval: 00:00:15
info: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[35]
      No XML encryptor configured. Key {673305cc-e109-4e6e-83e3-07953cb2e42e} may be persisted to storage in unencrypted form.
2021-07-13 07:35:43 [INFO]  (Hangfire.Server.BackgroundServerProcess) Server cdec471270b0:7:e9adddc0 successfully announced in 117.8975 ms
2021-07-13 07:35:43 [INFO]  (Hangfire.Server.BackgroundServerProcess) Server cdec471270b0:7:e9adddc0 is starting the registered dispatchers: ServerWatchdog, ServerJobCancellationWatcher, ExpirationManager, CountersAggregator, Worker, DelayedJobScheduler, RecurringJobScheduler...
2021-07-13 07:35:43 [INFO]  (Hangfire.Server.BackgroundServerProcess) Server cdec471270b0:7:e9adddc0 all the dispatchers started
2021-07-13 07:35:45 [INFO]  (Hangfire.BackgroundJobServer) Starting Hangfire Server using job storage: 'Hangfire.MemoryStorage.MemoryStorage'
2021-07-13 07:35:45 [INFO]  (Hangfire.BackgroundJobServer) Using the following options for Hangfire Server:
    Worker count: 20
    Listening queues: 'default'
    Shutdown timeout: 00:00:15
    Schedule polling interval: 00:00:15
2021-07-13 07:35:45 [INFO]  (Hangfire.Server.BackgroundServerProcess) Server cdec471270b0:7:1806d728 successfully announced in 0.1457 ms
2021-07-13 07:35:45 [INFO]  (Hangfire.Server.BackgroundServerProcess) Server cdec471270b0:7:1806d728 is starting the registered dispatchers: ServerWatchdog, ServerJobCancellationWatcher, ExpirationManager, CountersAggregator, Worker, DelayedJobScheduler, RecurringJobScheduler...
2021-07-13 07:35:45 [INFO]  (Hangfire.Server.BackgroundServerProcess) Server cdec471270b0:7:1806d728 all the dispatchers started
info: Microsoft.Hosting.Lifetime[0]
      Now listening on: http://[::]:8600
info: Microsoft.Hosting.Lifetime[0]
      Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
      Hosting environment: Production
info: Microsoft.Hosting.Lifetime[0]
      Content root path: /home
info: UniversalAutomation.GroomService[0]
      Starting groom job.
info: UniversalAutomation.GroomService[0]
      Groom date is: 06/13/2021 07:36:00
info: UniversalAutomation.GroomService[0]
      Old jobs: 0
info: UniversalAutomation.GroomService[0]
      Finished groom job.
info: Universal.Server.UniversalDashboardStartup[0]
      /
info: Universal.Server.UniversalDashboardStartup[0]
      /index.1bf4f185c1b3da92c005.bundle.js
info: Universal.Server.UniversalDashboardStartup[0]
      /home/Universal/UniversalDashboard/Frameworks/v3/index.1bf4f185c1b3da92c005.bundle.js
info: Universal.Server.UniversalDashboardStartup[0]
      application/javascript
info: Universal.Server.UniversalDashboardStartup[0]
      /favicon.ico
info: Universal.Server.UniversalDashboardStartup[0]
      /home/Universal/UniversalDashboard/Frameworks/v3/favicon.ico
info: Universal.Server.UniversalDashboardStartup[0]
      image/x-icon
info: Universal.Server.UniversalDashboardStartup[0]
      /vendors-ud-icon.1bf4f185c1b3da92c005.bundle.js
info: Universal.Server.UniversalDashboardStartup[0]
      /home/Universal/UniversalDashboard/Frameworks/v3/vendors-ud-icon.1bf4f185c1b3da92c005.bundle.js
info: Universal.Server.UniversalDashboardStartup[0]
      application/javascript
info: Universal.Server.UniversalDashboardStartup[0]
      /ud-icon.1bf4f185c1b3da92c005.bundle.js
info: Universal.Server.UniversalDashboardStartup[0]
      /home/Universal/UniversalDashboard/Frameworks/v3/ud-icon.1bf4f185c1b3da92c005.bundle.js
info: Universal.Server.UniversalDashboardStartup[0]
      application/javascript

loveqianool avatar Jul 13 '21 08:07 loveqianool

Did you try manually removing the not-running from the url? I think when I tried it failed to auto refresh and I had to manually navigate to http://localhost:8600/.

Otherwise, can you go to http://localhost:8600/admin and login with: username: admin password: 1

And navigate to the dashboard on the left sidebar and check if it is running?

jvlflame avatar Jul 13 '21 10:07 jvlflame

Manual deletion will refresh automatically, Admin can go in, Unable to launch dashboard 500

file: No such file or directory
         at Grpc.Core.Internal.UnmanagedLibrary..ctor(String[] libraryPathAlternatives)
         at Grpc.Core.Internal.NativeExtension.LoadUnmanagedLibrary()
         at Grpc.Core.Internal.NativeExtension.LoadNativeMethods()
         at Grpc.Core.Internal.NativeExtension..ctor()
         at Grpc.Core.Internal.NativeExtension.Get()
         at Grpc.Core.Internal.NativeMethods.Get()
         at Grpc.Core.GrpcEnvironment.GrpcNativeInit()
         at Grpc.Core.GrpcEnvironment..ctor()
         at Grpc.Core.GrpcEnvironment.AddRef()
         at Grpc.Core.Server..ctor(IEnumerable`1 options)
         at Universal.Server.Services.DashboardProxy.Start(Dashboard dashboard) in D:\a\universal\universal\src\Universal.Server\Services\DashboardProxy.cs:line 94
         at Universal.Server.Services.DashboardManager.Start(Dashboard dashboard) in D:\a\universal\universal\src\Universal.Server\Services\DashboardManager.cs:line 111
         at UniversalAutomation.DashboardController.Start(Int64 id) in D:\a\universal\universal\src\Universal.Server\Controllers\DashboardController.cs:line 171
         at lambda_method1536(Closure , Object , Object[] )
         at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.SyncActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
         at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeActionMethodAsync()
         at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
         at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync()
      --- End of stack trace from previous location ---
         at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
         at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
         at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()
      --- End of stack trace from previous location ---
         at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|24_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
         at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
         at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
         at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync()
      --- End of stack trace from previous location ---
         at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Logged|17_1(ResourceInvoker invoker)
         at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
         at Microsoft.AspNetCore.Authorization.Policy.AuthorizationMiddlewareResultHandler.HandleAsync(RequestDelegate next, HttpContext context, AuthorizationPolicy policy, PolicyAuthorizationResult authorizeResult)
         at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
         at Universal.Server.Middleware.RoutingMiddleware.Invoke(HttpContext httpContext, IPolicyEvaluator policyEvaluator) in D:\a\universal\universal\src\Universal.Server\Middleware\RoutingMiddleware.cs:line 113
         at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext)
         at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider)
         at AspNetCoreRateLimit.RateLimitMiddleware`1.Invoke(HttpContext context) in D:\a\universal\universal\src\AspNetCoreRateLimit\Middleware\RateLimitMiddleware.cs:line 109
         at Microsoft.AspNetCore.Session.SessionMiddleware.Invoke(HttpContext context)
         at Microsoft.AspNetCore.Session.SessionMiddleware.Invoke(HttpContext context)
         at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware.<Invoke>g__Awaited|6_0(ExceptionHandlerMiddleware middleware, HttpContext context, Task task)
warn: Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware[4]
      No exception handler was found, rethrowing original exception.
fail: Microsoft.AspNetCore.Server.Kestrel[13]
      Connection id "0HMA5URELTMB9", Request id "0HMA5URELTMB9:00000002": An unhandled exception was thrown by the application.
      System.IO.IOException: Error loading native library "/home/Universal/libgrpc_csharp_ext.x64.so". /home/Universal/libgrpc_csharp_ext.x64.so: cannot open shared object file: No such file or directory
         at Grpc.Core.Internal.UnmanagedLibrary..ctor(String[] libraryPathAlternatives)
         at Grpc.Core.Internal.NativeExtension.LoadUnmanagedLibrary()
         at Grpc.Core.Internal.NativeExtension.LoadNativeMethods()
         at Grpc.Core.Internal.NativeExtension..ctor()
         at Grpc.Core.Internal.NativeExtension.Get()
         at Grpc.Core.Internal.NativeMethods.Get()
         at Grpc.Core.GrpcEnvironment.GrpcNativeInit()
         at Grpc.Core.GrpcEnvironment..ctor()
         at Grpc.Core.GrpcEnvironment.AddRef()
         at Grpc.Core.Server..ctor(IEnumerable`1 options)
         at Universal.Server.Services.DashboardProxy.Start(Dashboard dashboard) in D:\a\universal\universal\src\Universal.Server\Services\DashboardProxy.cs:line 94
         at Universal.Server.Services.DashboardManager.Start(Dashboard dashboard) in D:\a\universal\universal\src\Universal.Server\Services\DashboardManager.cs:line 111
         at UniversalAutomation.DashboardController.Start(Int64 id) in D:\a\universal\universal\src\Universal.Server\Controllers\DashboardController.cs:line 171
         at lambda_method1536(Closure , Object , Object[] )
         at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.SyncActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
         at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeActionMethodAsync()
         at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
         at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync()
      --- End of stack trace from previous location ---
         at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
         at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
         at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()
      --- End of stack trace from previous location ---
         at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|24_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
         at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
         at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
         at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync()
      --- End of stack trace from previous location ---
         at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Logged|17_1(ResourceInvoker invoker)
         at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
         at Microsoft.AspNetCore.Authorization.Policy.AuthorizationMiddlewareResultHandler.HandleAsync(RequestDelegate next, HttpContext context, AuthorizationPolicy policy, PolicyAuthorizationResult authorizeResult)
         at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
         at Universal.Server.Middleware.RoutingMiddleware.Invoke(HttpContext httpContext, IPolicyEvaluator policyEvaluator) in D:\a\universal\universal\src\Universal.Server\Middleware\RoutingMiddleware.cs:line 113
         at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext)
         at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider)
         at AspNetCoreRateLimit.RateLimitMiddleware`1.Invoke(HttpContext context) in D:\a\universal\universal\src\AspNetCoreRateLimit\Middleware\RateLimitMiddleware.cs:line 109
         at Microsoft.AspNetCore.Session.SessionMiddleware.Invoke(HttpContext context)
         at Microsoft.AspNetCore.Session.SessionMiddleware.Invoke(HttpContext context)
         at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware.<Invoke>g__Awaited|6_0(ExceptionHandlerMiddleware middleware, HttpContext context, Task task)
         at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware.HandleException(HttpContext context, ExceptionDispatchInfo edi)
         at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware.<Invoke>g__Awaited|6_0(ExceptionHandlerMiddleware middleware, HttpContext context, Task task)
         at Microsoft.AspNetCore.Diagnostics.StatusCodePagesMiddleware.Invoke(HttpContext context)
         at Microsoft.AspNetCore.ResponseCompression.ResponseCompressionMiddleware.Invoke(HttpContext context)
         at Microsoft.AspNetCore.Builder.Extensions.MapMiddleware.Invoke(HttpContext context)
         at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
         at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequests[TContext](IHttpApplication`1 application)

loveqianool avatar Jul 13 '21 12:07 loveqianool

If you click the details button: image

Do you see the code here? image

jvlflame avatar Jul 13 '21 12:07 jvlflame

yes

loveqianool avatar Jul 13 '21 12:07 loveqianool

The dashboard still won't open

loveqianool avatar Jul 13 '21 12:07 loveqianool

If you edit the dashboard, what options do you have? image

It seems like your settings might be corrupted on that dashboard since you're getting an error on the settings.

image

Can you try copying all the code in the Code Editor section, create a new dashboard, and then copy it in? Once it's deployed, you can access it by http://[IP]:[PORT]/dashboard.

image

I don't have an arm64 device to test it myself unfortunately. It's possible that the PowerShell Universal application is still buggy on arm64 since it was just released recently for the platform.

jvlflame avatar Jul 13 '21 13:07 jvlflame

Any luck on this?

jvlflame avatar Jul 23 '21 21:07 jvlflame

I did a bit of troubleshooting but I'm not quite sure what the problem is...

I think it might be a bug with the PowerShell universal application, since the arm64 version is still new. I will keep an eye out for updates from them, but for now I have to just recommend to host the image on a windows/linux platform.

jvlflame avatar Jul 24 '21 02:07 jvlflame

OK, thank you. I use windows now. It can work well

loveqianool avatar Jul 24 '21 02:07 loveqianool