amake / innosetup-docker

Docker image to create Windows installer executables with Inno Setup
https://hub.docker.com/r/amake/innosetup
Creative Commons Zero v1.0 Universal
71 stars 31 forks source link

New image trigger wine errors #14

Closed dotneB closed 8 months ago

dotneB commented 9 months ago

We're using this docker image in gitlab runners. It got updated this morning with the new verison. First run ran well, but after that every run triggered the following errors

Running with gitlab-runner 16.1.0 (b72e108d)
  on gitlab--removed--build-c16978 YGaitsz8, system ID: s_2747a1b3daa6
Preparing the "docker" executor
Using Docker executor with image amake/innosetup:innosetup6 ...
Pulling docker image amake/innosetup:innosetup6 ...
Using docker image sha256:d6f47373d9b7b0ad4f1663c77e937390fd52868419ad9b41ea3255e63fac84b2 for amake/innosetup:innosetup6 with digest amake/innosetup@sha256:676812c3f90667703ed411ecb695655b879b76e9ac99b4e5b61220421c21908a ...
[...snip...]
003c:err:service:RPC_Init RpcServerListen failed with error 1721
002c:err:wineboot:start_services_process Unexpected termination of services.exe - exit code 1721
0048:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
0048:err:winediag:nodrv_CreateWindow L"The explorer process failed to start."
0048:err:systray:initialize_systray Could not create tray window
0048:err:ole:start_rpcss Failed to open service manager
006c:err:winediag:getaddrinfo Failed to resolve your host name IP
007c:err:service:RPC_Init RpcServerListen failed with error 1721
006c:err:wineboot:start_services_process Unexpected termination of services.exe - exit code 1721
0098:err:winediag:getaddrinfo Failed to resolve your host name IP
00a8:err:service:RPC_Init RpcServerListen failed with error 1721
0098:err:wineboot:start_services_process Unexpected termination of services.exe - exit code 1721
00c4:err:winediag:getaddrinfo Failed to resolve your host name IP
00d4:err:service:RPC_Init RpcServerListen failed with error 1721
00c4:err:wineboot:start_services_process Unexpected termination of services.exe - exit code 1721
Inno Setup 6 Command-Line Compiler
Copyright (C) 1997-2023 Jordan Russell. All rights reserved.
Portions Copyright (C) 2000-2023 Martijn Laan. All rights reserved.
Portions Copyright (C) 2001-2004 Alex Yackimoff. All rights reserved.
[...snip...]
Error in Z:\builds\--removed--\setup.iss: lzma: BeginThread failed (8)
Compile aborted.
Cleaning up project directory and file based variables
ERROR: Job failed: exit code 1

Pinning the image to the previous version of amake/innosetup@sha256:8dc6c79d4cf17730c042a503340dc9dc8c4de50d2f958bd7650b7e0ed5b79bd5 cleared the issues as we didn't have tons of time to investigate the issue

amake commented 9 months ago

The update was for #13.

Looking at your log, I really have no idea what's wrong, and I don't think I'll have much bandwidth to fix it.

Also I think the update to Debian Bookworm bloated the image a lot. So I'm leaning toward reverting the change.

fabriciocolombo commented 9 months ago

I'm also having problems with the latest version inside a Gitlab Runner.

Running with gitlab-runner 15.3.0 (bbcb5aba)
  on runner-Executor-Spot-a Fd[2](https://elogit.elotech.com.br/elotech/oxy/oxy-unico/-/jobs/2913748#L2)TV5[3](https://elogit.elotech.com.br/elotech/oxy/oxy-unico/-/jobs/2913748#L3)v
Preparing the "docker+machine" executor
00:06
Using Docker executor with image docker:18 ...
Starting service docker:18-dind ...
Pulling docker image docker:18-dind ...
Using docker image sha256:27105793dc2bbf270ec87d6a9ba0[4](https://elogit.elotech.com.br/elotech/oxy/oxy-unico/-/jobs/2913748#L4)1bba[5](https://elogit.elotech.com.br/elotech/oxy/oxy-unico/-/jobs/2913748#L5)2cfef[6](https://elogit.elotech.com.br/elotech/oxy/oxy-unico/-/jobs/2913748#L6)6384251980a4d55d03ed[7](https://elogit.elotech.com.br/elotech/oxy/oxy-unico/-/jobs/2913748#L7)36c for docker:1[8](https://elogit.elotech.com.br/elotech/oxy/oxy-unico/-/jobs/2913748#L8)-dind with digest docker@sha256:86df3c3573065f2c6f24cd925fd5bc3a0aff899bdf664ff4d2e3ebab26d96bed ...
Waiting for services to be up and running (timeout 30 seconds)...
Pulling docker image docker:18 ...
Using docker image sha256:074f1687a41ccf251dae357352554e41bd8168aecd480acab71038[9](https://elogit.elotech.com.br/elotech/oxy/oxy-unico/-/jobs/2913748#L9)d6f78837d for docker:18 with digest docker@sha256:58469a43b529313091f1df424037895a9961b27149aafec812ce8fd8d7ac0c9d ...
$ docker run --rm -i amake/innosetup
Unable to find image 'amake/innosetup:latest' locally
latest: Pulling from amake/innosetup
Digest: sha256:676812c3f90667703ed411ecb695655b879b76e9ac99b4e5b61220421c21908a
Status: Downloaded newer image for amake/innosetup:latest
error: unable to find wine executable.  this shouldn't happen.
error: unable to find wine executable.  this shouldn't happen.

Docker 20.10.24 running on host with Docker-in-Docker 18 Ubuntu 20.04.5 LTS

Example job to reproduce the error

test-installer:
  stage: installer
  image: docker:18
  services:
    - docker:18-dind
  script:
    - docker info
    - docker run --rm -i amake/innosetup
  needs: []
fabriciocolombo commented 9 months ago

I'm also having problems with the latest version inside a Gitlab Runner.

Running with gitlab-runner 15.3.0 (bbcb5aba)
  on runner-Executor-Spot-a Fd[2](https://elogit.elotech.com.br/elotech/oxy/oxy-unico/-/jobs/2913748#L2)TV5[3](https://elogit.elotech.com.br/elotech/oxy/oxy-unico/-/jobs/2913748#L3)v
Preparing the "docker+machine" executor
00:06
Using Docker executor with image docker:18 ...
Starting service docker:18-dind ...
Pulling docker image docker:18-dind ...
Using docker image sha256:27105793dc2bbf270ec87d6a9ba0[4](https://elogit.elotech.com.br/elotech/oxy/oxy-unico/-/jobs/2913748#L4)1bba[5](https://elogit.elotech.com.br/elotech/oxy/oxy-unico/-/jobs/2913748#L5)2cfef[6](https://elogit.elotech.com.br/elotech/oxy/oxy-unico/-/jobs/2913748#L6)6384251980a4d55d03ed[7](https://elogit.elotech.com.br/elotech/oxy/oxy-unico/-/jobs/2913748#L7)36c for docker:1[8](https://elogit.elotech.com.br/elotech/oxy/oxy-unico/-/jobs/2913748#L8)-dind with digest docker@sha256:86df3c3573065f2c6f24cd925fd5bc3a0aff899bdf664ff4d2e3ebab26d96bed ...
Waiting for services to be up and running (timeout 30 seconds)...
Pulling docker image docker:18 ...
Using docker image sha256:074f1687a41ccf251dae357352554e41bd8168aecd480acab71038[9](https://elogit.elotech.com.br/elotech/oxy/oxy-unico/-/jobs/2913748#L9)d6f78837d for docker:18 with digest docker@sha256:58469a43b529313091f1df424037895a9961b27149aafec812ce8fd8d7ac0c9d ...
$ docker run --rm -i amake/innosetup
Unable to find image 'amake/innosetup:latest' locally
latest: Pulling from amake/innosetup
Digest: sha256:676812c3f90667703ed411ecb695655b879b76e9ac99b4e5b61220421c21908a
Status: Downloaded newer image for amake/innosetup:latest
error: unable to find wine executable.  this shouldn't happen.
error: unable to find wine executable.  this shouldn't happen.

Docker 20.10.24 running on host with Docker-in-Docker 18 Ubuntu 20.04.5 LTS

Example job to reproduce the error

test-installer:
  stage: installer
  image: docker:18
  services:
    - docker:18-dind
  script:
    - docker info
    - docker run --rm -i amake/innosetup
  needs: []

Works for me when i update my job to use latest docker version (24.0.6)

amake commented 9 months ago

Works for me when i update my job to use latest docker version (24.0.6)

I'm concerned then that the problem is actually that the image has been built with a newer version of Docker, and has nothing to do with moving to Debian Bookworm.

If that's the case, then reverting, rebuilding and republishing the image will not help: the rebuilt image will also be built with a recent Docker. The only thing that would help is overwriting the current tag to point to the previous hash.

That's not viable in the long term.

@dotneB Can you tell us if specifying a newer Docker in your CI run allows the current image to work?

fabriciocolombo commented 9 months ago

I tested my job with other docker versions to check. It works with docker 20 and newer.

image

dotneB commented 9 months ago

@dotneB Can you tell us if specifying a newer Docker in your CI run allows the current image to work?

Had our devops double check and the runner that generated the logs above with the error has docker 24 installed. I haven't tested with docker-dind like fabriciocolombo

amake commented 9 months ago

I've made the following changes:

If anything other than amake/innosetup:*-bookworm shows the problems described in this ticket, then the problem is probably that I built the images with a newer version of Docker, and I don't think there's anything reasonable I can do about it.

If amake/innosetup:*-bookworm alone shows the problems, then just use one of the other tags, or specify your Docker version appropriately.

fabriciocolombo commented 8 months ago

just for you information i reproduced my tests with the newer image tags, and the problem occurs only with the combination of bookworm and older docker.

Your suggestion to use other tags or newer docker version it's fine for me.

image

amake commented 8 months ago

Thank you for verifying!

It's very strange that upgrading to Bookworm should require a newer Docker to function correctly, but at least there is a known solution for all cases.