Hilfe .. App-Neuaufbau fehlgeschlagen

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?

Ich habe alles außer den Grundlagen deaktiviert:

      - 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 „Gefällt mir“

@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 „Gefällt mir“

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

1 „Gefällt mir“

@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
## Dies ist die All-in-One, eigenständige Discourse Docker-Container-Vorlage
##
## Nach Änderungen an dieser Datei MUSST du neu aufbauen
## /var/discourse/launcher rebuild app
##
## SEI *SEHR* VORSICHTIG BEIM BEARBEITEN!
## YAML-DATEIEN SIND EXTREM EMPFINDLICH GEGENÜBER FEHLERN BEI LEERZEICHEN ODER AUSRICHTUNG!
## Besuche http://www.yamllint.com/, um diese Datei bei Bedarf zu validieren

templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  # - "templates/web.ratelimited.template.yml"
  # - "templates/web.socketed.template.yml"
## Kommentiere diese beiden Zeilen aus, wenn du Lets Encrypt (https) hinzufügen möchtest
# - "templates/web.ssl.template.yml"
# - "templates/web.letsencrypt.ssl.template.yml"

## Welche TCP/IP-Ports soll dieser Container freigeben?
## Wenn du möchtest, dass Discourse einen Port mit einem anderen Webserver wie Apache oder nginx teilt,
## siehe https://meta.discourse.org/t/17247 für Details
expose:
    - "10080:80"   # http
      #- "2222:22"   # http
    # - "443:443" # https

params:
  db_default_text_search_config: "pg_catalog.english"

  ## Setze db_shared_buffers auf maximal 25 % des gesamten Speichers.
  ## Wird automatisch vom Bootstrap basierend auf dem erkannten RAM gesetzt, oder du kannst es überschreiben
  db_shared_buffers: "2048MB"

  ## Kann die Sortierleistung verbessern, erhöht aber den Speicherverbrauch pro Verbindung
  #db_work_mem: "40MB"

  ## Welche Git-Revision soll dieser Container verwenden? (Standard: tests-passed)
  version: stable

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

  ## Wie viele gleichzeitige Webanfragen werden unterstützt? Hängt vom Arbeitsspeicher und den CPU-Kernen ab.
  ## Wird automatisch vom Bootstrap basierend auf den erkannten CPUs gesetzt, oder du kannst es überschreiben
  UNICORN_WORKERS: 4

  ## TODO: Der Domainname, auf den diese Discourse-Instanz antwortet
  DISCOURSE_HOSTNAME: www.mcrides.co.nz

  ## Kommentiere aus, wenn du möchtest, dass der Container mit demselben
  ## Hostnamen (-h-Option) wie oben angegeben gestartet wird (Standard: "$hostname-$config")
  #DOCKER_USE_HOSTNAME: true

  ## TODO: Liste der durch Kommas getrennten E-Mail-Adressen, die bei der ersten Anmeldung zu Admin und Entwickler werden
  ## Beispiel: 'user1@example.com,user2@example.com'
  DISCOURSE_DEVELOPER_EMAILS: 'paul@paulwillard.nz'

  ## TODO: Der SMTP-Mailserver, der zur Validierung neuer Konten und zum Senden von Benachrichtigungen verwendet wird
  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           # (optional, Standard: true)

  ## Wenn du die Lets Encrypt-Vorlage hinzugefügt hast, kommentiere unten aus, um ein kostenloses SSL-Zertifikat zu erhalten
  #LETSENCRYPT_ACCOUNT_EMAIL: me@example.com

  ## Die CDN-Adresse für diese Discourse-Instanz (konfiguriert zum Abrufen)
  ## siehe https://meta.discourse.org/t/14857 für Details
  #DISCOURSE_CDN_URL: //discourse-cdn.example.com

## Der Docker-Container ist zustandslos; alle Daten werden in /shared gespeichert
volumes:
  - volume:
      host: /var/discourse/shared/standalone
      guest: /shared
  - volume:
      host: /var/discourse/shared/standalone/log/var-log
      guest: /var/log

## Plugins gehen hier hinein
## siehe https://meta.discourse.org/t/19157 für Details
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

## Beliebige benutzerdefinierte Befehle, die nach dem Erstellen ausgeführt werden sollen
run:
  - exec: echo "Beginn der benutzerdefinierten Befehle"
  ## Wenn du die 'Von'-E-Mail-Adresse für deine erste Registrierung festlegen möchtest, kommentiere aus und ändere:
  ## Nach Erhalt der ersten Anmelde-E-Mail kommentiere die Zeile wieder aus. Sie muss nur einmal ausgeführt werden.
  #- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
  - exec: echo "Ende der benutzerdefinierten Befehle"

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

2 „Gefällt mir“

@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 „Gefällt mir“

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

@tgxworld … perfect !! thanks :heart:

4 „Gefällt mir“

2018-04-04 11:11:29.123 UTC [59] postgres@postgres FEHLER: Datenbank "discourse" existiert bereits

Zusammenfassung
2018-04-04 11:02:11.971 UTC [47] LOG:  lauscht auf IPv4-Adresse "0.0.0.0", Port 5432
2018-04-04 11:02:11.971 UTC [47] LOG:  lauscht auf IPv6-Adresse "::", Port 5432
2018-04-04 11:02:11.980 UTC [47] LOG:  lauscht auf Unix-Socket "/var/run/postgresql/.s.PGSQL.5432"
2018-04-04 11:02:12.018 UTC [50] LOG:  Datenbanksystem wurde heruntergefahren am 2018-04-04 11:01:03 UTC
2018-04-04 11:02:12.034 UTC [47] LOG:  Datenbanksystem ist bereit, Verbindungen anzunehmen
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 FEHLER:  Datenbank "discourse" existiert bereits
2018-04-04 11:02:17.014 UTC [60] postgres@postgres STATEMENT:  CREATE DATABASE discourse;
createdb: Datenbankerstellung fehlgeschlagen: FEHLER:  Datenbank "discourse" existiert bereits
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 discours                                        e;"' || true
2018-04-04 11:02:17.092 UTC [71] postgres@discourse FEHLER:  Rolle "discourse" existiert bereits
2018-04-04 11:02:17.092 UTC [71] postgres@discourse STATEMENT:  create user discourse;
FEHLER:  Rolle "discourse" existiert bereits
I, [2018-04-04T11:02:17.094738 #15]  INFO -- :

app.yml

Zusammenfassung
## Dies ist die All-in-One, eigenständige Discourse Docker-Container-Vorlage
##
## Nach Änderungen an dieser Datei MÜSSEN Sie neu aufbauen
## /var/discourse/launcher rebuild app
##
## SEIEN SIE *SEHR* VORSICHTIG BEI DER BEARBEITUNG!
## YAML-DATEIEN SIND SUPER SUPER EMPFINDLICH GEGENÜBER FEHLERN IN LEERZEICHEN ODER AUSRICHTUNG!
## Besuchen Sie http://www.yamllint.com/, um diese Datei bei Bedarf zu validieren

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"
## Kommentieren Sie diese beiden Zeilen aus, wenn Sie Lets Encrypt (https) hinzufügen möchten
 - "templates/web.ssl.template.yml"
 ##- "templates/web.letsencrypt.ssl.template.yml"
 ##- "templates/web.socketed.template.yml"

## Welche TCP/IP-Ports soll dieser Container exponieren?
## Wenn Sie möchten, dass Discourse einen Port mit einem anderen Webserver wie Apache oder nginx teilt,
## siehe https://meta.discourse.org/t/17247 für Details
expose:
  - "25654:80"   # http
  - "443:443" # https

params:
  db_default_text_search_config: "pg_catalog.russian"

  ## Setzen Sie db_shared_buffers auf maximal 25% des gesamten Speichers.
  ## wird automatisch vom Bootstrap basierend auf dem erkannten RAM gesetzt, oder Sie können es überschreiben
  db_shared_buffers: "256MB"

  ## Kann die Sortierleistung verbessern, erhöht jedoch den Speicherverbrauch pro Verbindung
  #db_work_mem: "40MB"

  ## Welche Git-Revision soll dieser Container verwenden? (Standard: tests-passed)
  #version: tests-passed

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

  ## Wie viele gleichzeitige Webanfragen werden unterstützt? Hängt von Speicher und CPU-Kernen ab.
  ## wird automatisch vom Bootstrap basierend auf den erkannten CPUs gesetzt, oder Sie können es überschreiben
  UNICORN_WORKERS: 2

  ## TODO: Der Domainname, auf den diese Discourse-Instanz reagiert
  DISCOURSE_HOSTNAME: toxu.ru

  ## Kommentieren Sie dies aus, wenn Sie möchten, dass der Container mit dem gleichen
  ## Hostnamen (-h-Option) wie oben angegeben gestartet wird (Standard "$hostname-$config")
  #DOCKER_USE_HOSTNAME: true

  ## TODO: Liste der durch Komma getrennten E-Mails, die bei der ersten Anmeldung zu Admin und Entwickler werden
  ## Beispiel 'user1@example.com,user2@example.com'
  DISCOURSE_DEVELOPER_EMAILS: '***@yandex.ru,***@narod.ru'

  ## TODO: Der SMTP-Mailserver, der zur Validierung neuer Konten und zum Senden von Benachrichtigungen verwendet wird
  DISCOURSE_SMTP_ADDRESS: ***.ru
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: ***.ru
  DISCOURSE_SMTP_PASSWORD: ***
  ##DISCOURSE_SMTP_ENABLE_START_TLS: true           # (optional, Standard true)

  ## Wenn Sie die Lets Encrypt-Vorlage hinzugefügt haben, kommentieren Sie unten aus, um ein kostenloses SSL-Zertifikat zu erhalten
  ##LETSENCRYPT_ACCOUNT_EMAIL: ***

  ## Die CDN-Adresse für diese Discourse-Instanz (konfiguriert zum Abrufen)
  ## siehe https://meta.discourse.org/t/14857 für Details
  #DISCOURSE_CDN_URL: //discourse-cdn.example.com

## Der Docker-Container ist zustandslos; alle Daten werden in /shared gespeichert
volumes:
  - volume:
      host: /var/discourse/shared/standalone
      guest: /shared
  - volume:
      host: /var/discourse/shared/standalone/log/var-log
      guest: /var/log

## Plugins gehen hier
## siehe https://meta.discourse.org/t/19157 für Details
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

## Beliebige benutzerdefinierte Befehle, die nach dem Erstellen ausgeführt werden sollen
run:
  - exec: echo "Beginn der benutzerdefinierten Befehle"
  ## Wenn Sie die 'Von'-E-Mail-Adresse für Ihre erste Registrierung festlegen möchten, kommentieren Sie dies aus und ändern Sie:
  ## Nachdem Sie die erste Anmelde-E-Mail erhalten haben, kommentieren Sie die Zeile erneut aus. Sie muss nur einmal ausgeführt werden.
  ## - exec: rails r "SiteSetting.notification_email='***@yandex.ru'"
  - exec: echo "Ende der benutzerdefinierten Befehle"

Soll ich also die discourse-Datenbank entfernen? Ich verstehe es nicht.

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, normalerweise 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: Datei oder Verzeichnis nicht gefunden

Can you provide us with the full log? Thank you

1 „Gefällt mir“