- Joined
- Dec 22, 2020
- Messages
- 10
- Reaction score
- 7
3CX Version: Enterprise Annual 18.0 Update 3 (build 461)
Server OS: Debian
Is the 3CX Server Hosted and where: Self Managed on Azure
Steps to Reproduce:
1. Start a Firmware update on a phone. (In our case the SIP-T54W)
2. Start another firmware update on another phone of the same model before the first firmware update is complete.
3. 500 error is thrown. (Full log below)
Server OS: Debian
Is the 3CX Server Hosted and where: Self Managed on Azure
Steps to Reproduce:
1. Start a Firmware update on a phone. (In our case the SIP-T54W)
2. Start another firmware update on another phone of the same model before the first firmware update is complete.
3. 500 error is thrown. (Full log below)
Code:
2022/06/17 14:21:55.647|573|0037|Trc|[Microsoft.AspNetCore.Routing.EndpointMiddleware] Executed endpoint 'ManagementConsoleJS.Controllers.PhoneListController.applyFirmware (3CXManagementConsole)'
2022/06/17 14:21:55.648|573|0037|Trc|System.IO.IOException: The process cannot access the file '/var/lib/3cxpbx/Instance1/Data/Http/Interface/provisioning/<redacted>/firmware/yealink/T5XW-96.86.0.72.rom' because it is being used by another process.
at System.IO.FileStream.Init(FileMode mode, FileShare share, String originalPath)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options)
at System.IO.FileSystem.CopyFile(String sourceFullPath, String destFullPath, Boolean overwrite)
at System.IO.File.Copy(String sourceFileName, String destFileName, Boolean overwrite)
at ProductUpdater.Items.FirmwareUpdate.PrepareUpdate(String[] MACs, String selectedVersion)
at ManagementConsoleJS.Controllers.PhoneListController.applyFirmware(FirmwareUpgradeTaskVm vm)
at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.SyncObjectResultExecutor.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.<InvokeFilterPipelineAsync>g__Awaited|19_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
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 ManagementConsoleJS.Middleware.BlacklistMiddleware.Invoke(HttpContext context)
at ManagementConsoleJS.Middleware.ExceptionWrapperMiddleware.Invoke(HttpContext context)
2022/06/17 14:21:55.648|573|0037|Trc|[Microsoft.AspNetCore.Hosting.Diagnostics] Request finished HTTP/1.1 POST http://<redacted>:443/api/PhoneList/applyFirmware application/json;charset=UTF-8 407 - 500 - - 2.7079ms
Last edited: