Help .. アプリの再ビルドに失敗しました

help … I did a ./launcher rebuild app today, as I have many times before.
got an error …
any ideas? looks like something is up with ruby libraries ?

I, [2018-04-04T07:06:26.498684 #16]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
rake aborted!
LoadError: /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/mini_racer-0.1.11/lib/mini_racer_extension.so: undefined symbol: _ZTIN2v811ArrayBuffer9AllocatorE - /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/mini_racer-0.1.11/lib/mini_racer_extension.so
/var/www/discourse/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:292:in `require'
/var/www/discourse/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:292:in `block in require'
/var/www/discourse/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:258:in `load_dependency'
/var/www/discourse/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:292:in `require'
/var/www/discourse/vendor/bundle/ruby/2.4.0/gems/mini_racer-0.1.11/lib/mini_racer.rb:2:in `<top (required)>'
/var/www/discourse/config/application.rb:22:in `<top (required)>'
/var/www/discourse/Rakefile:5:in `require'
/var/www/discourse/Rakefile:5:in `<top (required)>'
/var/www/discourse/vendor/bundle/ruby/2.4.0/gems/rake-12.1.0/exe/rake:27:in `<top (required)>'
/usr/local/bin/bundle:23:in `load'
/usr/local/bin/bundle:23:in `<main>'
(See full trace by running task with --trace)
I, [2018-04-04T07:06:34.391071 #16]  INFO -- :
I, [2018-04-04T07:06:34.391568 #16]  INFO -- : Terminating async processes
I, [2018-04-04T07:06:34.391658 #16]  INFO -- : Sending INT to HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/10/bin/postmaster -D /etc/postgresql/10/main pid: 47
I, [2018-04-04T07:06:34.391753 #16]  INFO -- : Sending TERM to exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 163
2018-04-04 07:06:34.391 UTC [47] LOG:  received fast shutdown request
163:signal-handler (1522825594) Received SIGTERM scheduling shutdown...
2018-04-04 07:06:34.399 UTC [47] LOG:  aborting any active transactions
2018-04-04 07:06:34.403 UTC [47] LOG:  worker process: logical replication launcher (PID 56) exited with exit code 1
2018-04-04 07:06:34.404 UTC [51] LOG:  shutting down
163:M 04 Apr 07:06:34.427 # User requested shutdown...
163:M 04 Apr 07:06:34.427 * Saving the final RDB snapshot before exiting.
2018-04-04 07:06:34.478 UTC [47] LOG:  database system is shut down
163:M 04 Apr 07:06:34.479 * DB saved on disk
163:M 04 Apr 07:06:34.479 # Redis is now ready to exit, bye bye...


FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 14253 exit 1>
Location of failure: /pups/lib/pups/exec_command.rb:108:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"bundle_exec", "cmd"=>["su discourse -c 'bundle install --deployment --verbose --without test --without development --retry 3 --jobs 4'", "su discourse -c 'bundle exec rake db:migrate'", "su discourse -c 'bundle exec rake assets:precompile'"]}
2f3c9493bf73510eacd5441b9b5a42b09def51babd56ee00a35941442da2cc5e
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one

Hey Paul,

Are you using any custom plugin?

基本機能のみを有効化しました:

      - git clone https://github.com/discourse/docker_manager.git
        # - git clone https://github.com/davidtaylorhq/discourse-whos-online.git
      - git clone https://github.com/discourse/discourse-spoiler-alert.git
      - git clone https://github.com/discourse/discourse-cakeday.git
        #- git clone https://github.com/angusmcleod/discourse-events.git
        #- git clone https://github.com/angusmcleod/discourse-locations.git
        # - git clone https://github.com/discourse/discourse-tooltips.git
        # - git clone https://github.com/discourse/discourse-push-notifications.git
        # - git clone https://github.com/communiteq/discourse-sitemap.git

is there an installation log file? that might have more info?

@tgxworld … is this related ?
I did a git pull, rebuild, at the end the output told me to rebuild again to complete migration.
Now it won’t complete

LoadError: /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/mini_racer-0.1.11/lib/mini_racer_extension.so: undefined symbol: _ZTIN2v811ArrayBuffer9AllocatorE - /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/mini_racer-0.1.11/lib/mini_racer_extension.so

Looks like an error in one of the javascript files.

Can you try disabling all the plugins and adding them back one by one?

「いいね!」 1

@zogstrip including dockmanager?
I tried disabling everything except docker manager, cakeday, and spoiler (pretty basic stuff) and still the same error

Can you share the whole log? There might be something else going on here.

https://terminaladdict.com/discourse_failed_build.txt

「いいね!」 1

Seems like you’re getting rate limited by rubygems. I would wait a few minutes and try again later.

「いいね!」 1

@zogstrip … sorry, don’t understand :confused: … It’s my host, can I tune something ?

Can you also post your app.yml but do remove any sensitive fields before doing so.

There’s unfortunately nothing you can do except wait for the rate limit to be cleared.

root@companion-cube:/var/discourse $ cat containers/app.yml
## これはオールインワン、スタンドアロンの Discourse Docker コンテナテンプレートです
##
## このファイルに変更を加えた後は、必ず再構築してください
## /var/discourse/launcher rebuild app
##
## 編集時は *非常に* 注意してください!
## YAML ファイルは、空白やアライメントのミスに非常に非常に敏感です!
## 必要に応じて、http://www.yamllint.com/ にアクセスしてこのファイルを検証してください

templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  # - "templates/web.ratelimited.template.yml"
  # - "templates/web.socketed.template.yml"
## Lets Encrypt (https) を追加したい場合は、この 2 行のコメントを外してください
# - "templates/web.ssl.template.yml"
# - "templates/web.letsencrypt.ssl.template.yml"

## このコンテナが公開する TCP/IP ポートはどれですか?
## Discourse を Apache や nginx などの他の Web サーバーとポートを共有したい場合は、
## https://meta.discourse.org/t/17247 を参照してください
expose:
    - "10080:80"   # http
      #- "2222:22"   # http
    # - "443:443" # https

params:
  db_default_text_search_config: "pg_catalog.english"

  ## db_shared_buffers を総メモリの最大 25% に設定します。
  ## 検出された RAM に基づいてブートストラップで自動的に設定されますが、上書きすることもできます
  db_shared_buffers: "2048MB"

  ## ソートパフォーマンスを向上させることができますが、接続ごとのメモリ使用量が増加します
  #db_work_mem: "40MB"

  ## このコンテナが使用する Git リビジョンはどれですか?(デフォルト: tests-passed)
  version: stable

env:
  LANG: en_US.UTF-8
  # DISCOURSE_DEFAULT_LOCALE: en

  ## 同時にサポートされる Web リクエスト数は?メモリと CPU コア数に依存します。
  ## 検出された CPU に基づいてブートストラップで自動的に設定されますが、上書きすることもできます
  UNICORN_WORKERS: 4

  ## TODO: この Discourse インスタンスが応答するドメイン名
  DISCOURSE_HOSTNAME: www.mcrides.co.nz

  ## 上記で指定したホスト名(-h オプション)と同じホスト名でコンテナを起動したい場合は、コメントを外してください
  #DOCKER_USE_HOSTNAME: true

  ## TODO: 初期登録時に管理者および開発者として設定されるカンマ区切りのメールアドレスのリスト
  ## 例: 'user1@example.com,user2@example.com'
  DISCOURSE_DEVELOPER_EMAILS: 'paul@paulwillard.nz'

  ## TODO: 新しいアカウントの検証や通知の送信に使用する SMTP メールサーバー
  DISCOURSE_SMTP_ADDRESS: 'smtp.address.com'
  DISCOURSE_SMTP_AUTHENTICATION: 'plain'
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: 'secretUser@address.co.nz'
  DISCOURSE_SMTP_PASSWORD: 'myPasswordIsNotThis'
  DISCOURSE_SMTP_ENABLE_START_TLS: true           # (オプション、デフォルトは true)

  ## Lets Encrypt テンプレートを追加した場合は、以下のコメントを外して無料の SSL 証明書を取得してください
  #LETSENCRYPT_ACCOUNT_EMAIL: me@example.com

  ## この Discourse インスタンスの CDN アドレス(取得するように設定)
  ## 詳細は https://meta.discourse.org/t/14857 を参照してください
  #DISCOURSE_CDN_URL: //discourse-cdn.example.com

## Docker コンテナはステートレスです。すべてのデータは /shared に保存されます
volumes:
  - volume:
      host: /var/discourse/shared/standalone
      guest: /shared
  - volume:
      host: /var/discourse/shared/standalone/log/var-log
      guest: /var/log

## プラグインはここにあります
## 詳細は https://meta.discourse.org/t/19157 を参照してください
hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/davidtaylorhq/discourse-whos-online.git
          - git clone https://github.com/discourse/discourse-spoiler-alert.git
          - git clone https://github.com/discourse/discourse-cakeday.git
          - git clone https://github.com/angusmcleod/discourse-events.git
          - git clone https://github.com/angusmcleod/discourse-locations.git
          - git clone https://github.com/discourse/discourse-tooltips.git
          - git clone https://github.com/discourse/discourse-push-notifications.git
          - git clone https://github.com/communiteq/discourse-sitemap.git

## ビルド後に実行する任意のカスタムコマンド
run:
  - exec: echo "カスタムコマンドの開始"
  ## 最初の登録用の 'From' メールアドレスを設定したい場合は、以下のコメントを外して変更してください
  ## 最初のサインアップメールが届いた後、再度その行にコメントを入れます。一度だけ実行すれば十分です
  #- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
  - exec: echo "カスタムコマンドの終了"

Ahh you’re on the stable branch…we might be missing a backport or smth.

「いいね!」 2

@TerminalAddict Try rebuilding again :slight_smile:

I had to backport Update libv8 from 5.9 to 6.3 · discourse/discourse@c2ff0f1 · GitHub to stable

「いいね!」 7

rebuilding now, looks good so far … will report back in 5 mins

@tgxworld … perfect !! thanks :heart:

「いいね!」 4

2018-04-04 11:11:29.123 UTC [59] postgres@postgres ERROR: データベース "discourse" は既に存在します

概要
2018-04-04 11:02:11.971 UTC [47] LOG: IPv4 アドレス "0.0.0.0"、ポート 5432 でリッスン中
2018-04-04 11:02:11.971 UTC [47] LOG: IPv6 アドレス "::"、ポート 5432 でリッスン中
2018-04-04 11:02:11.980 UTC [47] LOG: Unix ソケット "/var/run/postgresql/.s.PGSQL.5432" でリッスン中
2018-04-04 11:02:12.018 UTC [50] LOG: データベースシステムは 2018-04-04 11:01:03 UTC にシャットダウンされました
2018-04-04 11:02:12.034 UTC [47] LOG: データベースシステムは接続を受け付ける準備が整いました
I, [2018-04-04T11:02:16.937951 #15]  INFO -- :
I, [2018-04-04T11:02:16.938359 #15]  INFO -- : > su postgres -c 'createdb discourse' || true
2018-04-04 11:02:17.014 UTC [60] postgres@postgres ERROR: データベース "discourse" は既に存在します
2018-04-04 11:02:17.014 UTC [60] postgres@postgres STATEMENT: CREATE DATABASE discourse;
createdb: データベースの作成に失敗しました: ERROR: データベース "discourse" は既に存在します
I, [2018-04-04T11:02:17.016859 #15]  INFO -- :
I, [2018-04-04T11:02:17.017184 #15]  INFO -- : > su postgres -c 'psql discourse -c "create user discourse;"' || true
2018-04-04 11:02:17.092 UTC [71] postgres@discourse ERROR: ロール "discourse" は既に存在します
2018-04-04 11:02:17.092 UTC [71] postgres@discourse STATEMENT: create user discourse;
ERROR: ロール "discourse" は既に存在します
I, [2018-04-04T11:02:17.094738 #15]  INFO -- :

app.yml

概要
## これはオールインワン、スタンドアロンの Discourse Docker コンテナテンプレートです
##
## このファイルを編集した後、必ず再構築してください
## /var/discourse/launcher rebuild app
##
## 編集時は非常に注意してください!
## YAML ファイルは空白やアライメントのミスに非常に敏感です!
## 必要に応じて http://www.yamllint.com/ にアクセスしてこのファイルを検証してください

templates:
 - "templates/cron.template.yml"
 - "templates/postgres.template.yml"
 - "templates/redis.template.yml"
 - "templates/sshd.template.yml"
 - "templates/web.template.yml"
# - "templates/web.ratelimited.template.yml"
## Lets Encrypt (https) を追加したい場合は、以下の 2 行のコメントを外してください
 - "templates/web.ssl.template.yml"
 ##- "templates/web.letsencrypt.ssl.template.yml"
 ##- "templates/web.socketed.template.yml"

## このコンテナが公開すべき TCP/IP ポートはどれですか?
## Discourse を Apache や nginx などの他の Web サーバーとポートを共有したい場合は、
## https://meta.discourse.org/t/17247 を参照してください
expose:
  - "25654:80"   # http
  - "443:443" # https

params:
  db_default_text_search_config: "pg_catalog.russian"

  ## db_shared_buffers を総メモリの最大 25% に設定します。
  ## 検出された RAM に基づいてブートストラップによって自動的に設定されますが、上書きすることも可能です
  db_shared_buffers: "256MB"

  ## ソートパフォーマンスを向上させることができますが、接続あたりのメモリ使用量が増加します
  #db_work_mem: "40MB"

  ## このコンテナで使用する Git リビジョンはどれですか?(デフォルト: tests-passed)
  #version: tests-passed

env:
  LANG: en_US.UTF-8
  # DISCOURSE_DEFAULT_LOCALE: en

  ## 同時にサポートされる Web リクエスト数は何ですか?メモリと CPU コア数に依存します。
  ## 検出された CPU に基づいてブートストラップによって自動的に設定されますが、上書きすることも可能です
  UNICORN_WORKERS: 2

  ## TODO: この Discourse インスタンスが応答するドメイン名
  DISCOURSE_HOSTNAME: toxu.ru

  ## 上記で指定されたホスト名と同じホスト名(-h オプション)でコンテナを起動したい場合は、コメントを外してください
  #DOCKER_USE_HOSTNAME: true

  ## TODO: 初期登録時に管理者および開発者として登録されるカンマ区切りのメールアドレスのリスト
  ## 例: 'user1@example.com,user2@example.com'
  DISCOURSE_DEVELOPER_EMAILS: '***@yandex.ru,***@narod.ru'

  ## TODO: 新しいアカウントの検証と通知の送信に使用する SMTP メールサーバー
  DISCOURSE_SMTP_ADDRESS: ***.ru
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: ***.ru
  DISCOURSE_SMTP_PASSWORD: ***
  ##DISCOURSE_SMTP_ENABLE_START_TLS: true           # (オプション、デフォルトは true)

  ## Lets Encrypt テンプレートを追加した場合、以下のコメントを外して無料の SSL 証明書を取得します
  ##LETSENCRYPT_ACCOUNT_EMAIL: ***

  ## この Discourse インスタンスの CDN アドレス(取得するように設定されています)
  ## 詳細については https://meta.discourse.org/t/14857 を参照してください
  #DISCOURSE_CDN_URL: //discourse-cdn.example.com

## Docker コンテナはステートレスです。すべてのデータは /shared に保存されます
volumes:
  - volume:
      host: /var/discourse/shared/standalone
      guest: /shared
  - volume:
      host: /var/discourse/shared/standalone/log/var-log
      guest: /var/log

## プラグインはここにあります
## 詳細については https://meta.discourse.org/t/19157 を参照してください
hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-no-bump.git
          - git clone https://github.com/discourse/discourse-solved.git
          - git clone https://github.com/discourse/discourse-push-notifications.git
          - git clone https://github.com/communiteq/discourse-sitemap.git
          - git clone https://github.com/discourse/discourse-spoiler-alert.git
          - git clone https://github.com/discourse/discourse-cakeday.git

## ビルド後に実行する任意のカスタムコマンド
run:
  - exec: echo "カスタムコマンドの開始"
  ## 最初の登録用の 'From' メールアドレスを設定したい場合は、以下のコメントを外して変更してください:
  ## 最初の登録メールを取得した後、その行を再度コメントアウトしてください。一度だけ実行すれば十分です。
  ## - exec: rails r "SiteSetting.notification_email='***@yandex.ru'"
  - exec: echo "カスタムコマンドの終了"

つまり、discourse データベースを削除する必要があるのでしょうか?理解できません。

root@bigtor:/var/discourse# ./launcher enter app
root@bigtor-app:/var/www/discourse# cd /shared/postgres_backup
root@bigtor-app:/shared/postgres_backup# sv stop unicorn
ok: down: unicorn: 0s, normally up
root@bigtor-app:/shared/postgres_backup# sudo -iu postgres dropdb discourse
root@bigtor-app:/shared/postgres_backup# sudo -iu postgres createdb discourse
root@bigtor-app:/shared/postgres_backup# sudo -iu postgres psql discourse < backup.db
bash: backup.db: そのようなファイルやディレクトリはありません

Can you provide us with the full log? Thank you

「いいね!」 1