Closed JP-Ellis closed 9 months ago
Can confirm this release breaks deployment with sqlite. Same error coming from a different project https://gitlab.alpinelinux.org/alpine/aports/-/issues/15583
Thanks for the links that is really helpful @RykoL
Initially we only saw this on the aarch64 images, but it is now cropping up in the x86_64 version
pact-broker-1 | <internal:/usr/local/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:38:in `require': Error relocating /pact_broker/vendor/bundle/ruby/3.2.0/gems/sqlite3-1.7.2-x86_64-linux/lib/sqlite3/3.2/sqlite3_native.so: posix_fallocate64: symbol not found - /pact_broker/vendor/bundle/ruby/3.2.0/gems/sqlite3-1.7.2-x86_64-linux/lib/sqlite3/3.2/sqlite3_native.so (LoadError)
pact-broker-1 | from <internal:/usr/local/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:38:in `require'
pact-broker-1 | from /pact_broker/vendor/bundle/ruby/3.2.0/gems/sqlite3-1.7.2-x86_64-linux/lib/sqlite3.rb:4:in `<top (required)>'
pact-broker-1 | from <internal:/usr/local/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:38:in `require'
pact-broker-1 | from <internal:/usr/local/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:38:in `require'
pact-broker-1 | from /pact_broker/vendor/bundle/ruby/3.2.0/gems/sequel-5.77.0/lib/sequel/adapters/sqlite.rb:3:in `<top (required)>'
pact-broker-1 | from <internal:/usr/local/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:38:in `require'
pact-broker-1 | from <internal:/usr/local/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:38:in `require'
pact-broker-1 | from /pact_broker/vendor/bundle/ruby/3.2.0/gems/sequel-5.77.0/lib/sequel/database/connecting.rb:87:in `load_adapter'
pact-broker-1 | from /pact_broker/vendor/bundle/ruby/3.2.0/gems/sequel-5.77.0/lib/sequel/database/connecting.rb:17:in `adapter_class'
pact-broker-1 | from /pact_broker/vendor/bundle/ruby/3.2.0/gems/sequel-5.77.0/lib/sequel/database/connecting.rb:45:in `connect'
pact-broker-1 | from /pact_broker/vendor/bundle/ruby/3.2.0/gems/sequel-5.77.0/lib/sequel/core.rb:124:in `connect'
pact-broker-1 | from /pact_broker/vendor/bundle/ruby/3.2.0/gems/pact_broker-2.109.0/lib/pact_broker/initializers/database_connection.rb:17:in `block in create_database_connection'
pact-broker-1 | from /pact_broker/vendor/bundle/ruby/3.2.0/gems/pact_broker-2.109.0/lib/pact_broker/initializers/database_connection.rb:31:in `with_retries'
pact-broker-1 | from /pact_broker/vendor/bundle/ruby/3.2.0/gems/pact_broker-2.109.0/lib/pact_broker/initializers/database_connection.rb:16:in `create_database_connection'
pact-broker-1 | from /pact_broker/vendor/bundle/ruby/3.2.0/gems/pact_broker-2.109.0/lib/pact_broker/app.rb:134:in `configure_database_connection'
pact-broker-1 | from /pact_broker/vendor/bundle/ruby/3.2.0/gems/pact_broker-2.109.0/lib/pact_broker/app.rb:98:in `post_configure'
pact-broker-1 | from /pact_broker/vendor/bundle/ruby/3.2.0/gems/pact_broker-2.109.0/lib/pact_broker/app.rb:49:in `initialize'
pact-broker-1 | from config.ru:4:in `new'
pact-broker-1 | from config.ru:4:in `block in <main>'
I'll have a look at compiling sqlite from source in the image.
For now x86_64 users should pin to 2.114.0-pactbroker2.108.0
Release going out now
https://github.com/pact-foundation/pact-broker-docker/actions/runs/7805779592
I am trying to run the
pact-broker
image using the SQLite backend within a test suite.Unfortunately, the image crushes with the main error being:
Steps to reproduce and Logs
```sh docker run \ --env PACT_BROKER_DATABASE_ADAPTER=sqlite \ --env PACT_BROKER_DATABASE_NAME=pact_broker.sqlite \ pactfoundation/pact-broker:latest-multi ```
```text Puma starting in single mode... * Puma version: 5.6.7 (ruby 3.2.1-p31) ("Birdie's Version") * Min threads: 0 * Max threads: 5 * Environment: production * PID: 2 2023-09-17 23:56:39.408758 I [2:3240] pact-broker -- Connecting to database: -- {:adapter=>"sqlite", :database=>"pact_broker.sqlite", :encoding=>"utf8", :sql_log_level=>:none, :enable_caller_logging=>false, :log_warn_duration=>5.0, :pool_timeout=>5, :connect_max_retries=>0, :password=>"*****"} ! Unable to load application: Sequel::AdapterNotFound: LoadError: cannot load such file -- sqlite3/sqlite3_native bundler: failed to load command: puma (/pact_broker/vendor/bundle/ruby/3.2.0/bin/puma)Software versions
docker.io/pactfoundation/pact-broker:latest-multi 5fdce916114d
arm64
podman 4.6.2