bolt.Close(): funlock error: The handle is invalid

Product:
Planning Analytics Workspace 73

Microsoft Windows 2016 server

Issue:

After upgrade of PAW, the system does not start all containers.
In the c:\programdata\docker\panic.log file you may have this error:

bolt.Close(): funlock error: The handle is invalid

When try to start the PAW with the command ./paw.ps1 we get error similar to “No connection could be made because the target machine actively refused it” and “failed to update store for object type *windows.hnsEndpoint: open C:\ProgramData\docker/network/files/local-kv.db.lock: Access is denied.”

In powershell enter: ./paw.ps1 ps to get a better view of the running containers.

If PAW73 is working, it should look like above.

In powershell enter: docker logs mongo to see the log file for that container.

In powershell enter: docker version to see the version you have installed.

Possible solution:

Cause could be a to old version of Docker or too few resources in the Windows server.

If you have a old version of docker-compose, like 1.23, then you need to update it with this commands:

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

Invoke-WebRequest "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-Windows-x86_64.exe" -UseBasicParsing -OutFile $Env:ProgramFiles\Docker\docker-compose.exe

Ensure you have a backup of PAW before you run any scripts.

If the docker version is 17.06.2-ee-14 you need to upgrade it with this script, paste the code in a text file, and save it in the same folder as you have your Start.ps1 file (for example d:\ibm\paw73).

IF ((Get-Service -Name docker).status -ne 'Running') { Start-Service docker }
IF (Test-Path ./Start.ps1){
Powershell './scripts/paw.ps1 stop'
docker stop admintool
docker rm $(docker ps -a -q)
Copy-Item -Path 'C:\Program Files\docker\docker-compose.exe' -Destination "$env:TEMP"
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Install-PackageProvider -Name NuGet
Install-Module DockerMsftProvider -Force
Install-Package -Name docker -ProviderName DockerMsftProvider -verbose -RequiredVersion 20.10 -Update -Force
Move-Item -Path "$env:TEMP/docker-compose.exe" -Destination 'C:\Program Files\docker\'
docker network rm $(docker network ls -q)
Stop-Service docker
Get-ContainerNetwork | Remove-ContainerNetwork -force
Get-VMSwitch | Remove-VMSwitch -force   
Get-NetNatStaticMapping | Remove-NetNatStaticMapping -Confirm:$false
Get-NetNat | Remove-NetNat -Confirm:$false
Restart-Service HNS
Start-Service docker
Restart-Service docker
Powershell '.\scripts\paw.ps1'
Powershell '.\scripts\paw.ps1 ps'
}

Above script will clean all containers and networks in docker, and upgrade to a later version of Docker.

Run the above .ps1 script in PowerShell as administrator.

If you get the blue screen with “Planning Analytics Workspace is unavailable. Try again in a few minutes.” message, then wait at least 10 minutes, before you try accessing again. PAW can be only starting up all it’s containers, and that take a long time. Check in TASK MANAGER, if all CPU are 100%, then docker is still loading.

(If you do not have a anti-virus program running, that can interfere with docker startup.)

Also, always test in a other web browser, when there are issues in PAW.

More information:

https://www.ibm.com/support/pages/failed-start-container-failed-create-endpoint-share-proxy-network-nat-file-local-kvdblock-being-used-another-process

https://www.ibm.com/docs/en/planning-analytics/2.0.0?topic=web-install-configure-tm1-microsoft-windows

https://www.ibm.com/support/pages/troubleshooting-planning-analytics-workspace-related-docker-issues

https://www.ibm.com/support/pages/container-marked-removal-and-cannot-be-started-driver-windowsfilter-failed-remove-root-filesystem-hcsshimgetcomputersystems

https://www.ibm.com/docs/en/planning-analytics/2.0.0?topic=local-prerequisites

https://www.ibm.com/docs/en/planning-analytics/2.0.0?topic=wnipaw-2073-whats-new-february-10-2022