2.9.0 베타 3에서 베타 4로 업데이트 실패 - 사이트가 중단되었습니다

안녕하세요,

2.9.0 beta 3에서 beta 4로 업데이트하려고 했습니다. 웹 인터페이스를 통해 시도했지만 실패했습니다. git pull과 /launcher rebuild app 명령을 실행해 보았지만 도움이 되지 않았습니다.

다음과 같은 메시지로 종료됩니다:

FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile' failed with return #<Process::Status: pid 647 exit 134>
Location of failure: /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"assets_precompile", "cmd"=>["su discourse -c 'bundle exec rake themes:update assets:precompile'"]}
bootstrap failed with exit code 134
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
f5cd177671cf156b418115fd9956929e98c03223fbab30c91da284cee52510e3
==================== END REBUILD LOG ====================
Failed to rebuild app.

Discourse doctor도 도움이 되지 않았습니다.

로그 상단에 오류가 있는지 확인해 보았지만, Theme 플러그인 Slick 관련 경고만 몇 개 보입니다. 하지만 PowerShell에서 로그가 잘려서 더 이상은 볼 수 없습니다.

업데이트 관련 로그 파일이 어디에 있는지 조금 헷갈립니다. ./launcher build app | tee ~\Rebuild.txt 명령을 실행했습니다.

하지만 그 후 이상한 상태가 되었습니다. 로그 파일이 매우 짧아져 약 50줄 정도만 남았습니다. 포럼은 시작되었지만 여전히 beta 3 버전입니다. 속도가 매우 느리고 게시물을 접근할 수 없습니다.

업데이트하기 직전에 백업을 해 두었습니다.

메모리와 스왑 용량이 각각 얼마인가요?

 free -h
              total        used        free      shared  buff/cache   available
Mem:            14G        661M        5.3G        684K        8.4G         13G
Swap:            0B          0B          0B

스왑을 8GB 추가하고 top으로 리빌드 과정을 관찰했습니다. 스왑은 전혀 사용하지 않았습니다. 리빌드를 다시 시도했지만 여전히 실패했습니다.

로그를 확인해 보았습니다(출력 로그는 어디에 있나요?). 프로세스 충돌로 인한 메모리 덤프가 있었습니다. 여전히 로그 위치가 명확하지 않지만, PowerShell에서 버퍼 한도를 찾아서 상향 조정했습니다. 로그를 첨부합니다.

ErrorLog.txt (567.0 KB)

awesome-bbcodes에서 오류가 발생하는 것 같습니다. 일단 끄고 다시 시도해 보겠습니다.

향후 버전에서 리빌드가 오류가 날 경우, 리빌드 로그의 위치를 알려주는 기능이 추가될 수 있을까요?

./discourse-doctor을 실행하면 재구축 로그가 생성되어 /tmp에 저장됩니다.

맞습니다. 표면적으로 보아 awesome bbcode 테마 컴포넌트 플러그인이 오류를 일으켜 재구축이 실패하는 것으로 보입니다.

./launcher start app을 실행한 후 해당 컴포넌트를 비활성화하고 다시 재구축을 시도해 보세요.

app.yml에서 제거하고 다시 빌드했습니다. 지금은 정상적으로 작동하는 것 같습니다. discourse-custom-bbcodes로 다시 빌드해볼 예정입니다.

감사합니다.

플러그인인 줄 몰랐어요. 알아낸 걸 보니 다행이네요.

네, 조리 과정과 테스트에는 백엔드가 필요합니다.