레드마인 업그레이드 (4.1.0 -> 5.0.3) 업그레이드 이후 대체로 잘 동작했으나 특정 wiki만 pdf변환시 오류 발생하여 조치한 내용 정리
문제상황
productoin 로그
E, [2024-11-01T15:08:40.160360 #7572] ERROR -- : [dd157ae6-28af-4a21-a8ac-1d2d0ffe66d3] pdf: Image: error: RBPDF error: Unable to get image width and height: E:\Redmine_db\files/2024/11/241101142022_2fa4.png E, [2024-11-01T15:08:40.218864 #7572] ERROR -- : [dd157ae6-28af-4a21-a8ac-1d2d0ffe66d3] pdf: writeHTML: NaN E, [2024-11-01T15:08:40.219320 #7572] ERROR -- : [dd157ae6-28af-4a21-a8ac-1d2d0ffe66d3] C:/Bitnami/redmine-5.0.3-0/apps/redmine/htdocs/vendor/bundle/ruby/2.6.0/gems/rbpdf-1.20.1/lib/rbpdf.rb:9163:in `round' E, [2024-11-01T15:08:40.219460 #7572] ERROR -- : [dd157ae6-28af-4a21-a8ac-1d2d0ffe66d3] C:/Bitnami/redmine-5.0.3-0/apps/redmine/htdocs/vendor/bundle/ruby/2.6.0/gems/rbpdf-1.20.1/lib/rbpdf.rb:9163:in `outellipticalarc' --- 중략 E, [2024-11-01T15:08:40.224696 #7572] ERROR -- : [dd157ae6-28af-4a21-a8ac-1d2d0ffe66d3] C:/Bitnami/redmine-5.0.3-0/apps/redmine/htdocs/vendor/bundle/ruby/2.6.0/gems/actionpack-6.1.7/lib/abstract_controller/callbacks.rb:42:in `block in process_action' E, [2024-11-01T15:08:40.224790 #7572] ERROR -- : [dd157ae6-28af-4a21-a8ac-1d2d0ffe66d3] C:/Bitnami/redmine-5.0.3- --- 중략 112.1ms | Allocations: 69454) I, [2024-11-01T15:08:40.233826 #7572] INFO -- : [dd157ae6-28af-4a21-a8ac-1d2d0ffe66d3] Completed 500 Internal Server Error in 126ms (ActiveRecord: 5.1ms | Allocations: 73190) F, [2024-11-01T15:08:40.234995 #7572] FATAL -- : [dd157ae6-28af-4a21-a8ac-1d2d0ffe66d3] [dd157ae6-28af-4a21-a8ac-1d2d0ffe66d3] ActionView::Template::Error (RBPDF error: writeHTMLCell Error.): [dd157ae6-28af-4a21-a8ac-1d2d0ffe66d3] 1: <%= raw wiki_page_to_pdf(@page, @project) %> [dd157ae6-28af-4a21-a8ac-1d2d0ffe66d3] [dd157ae6-28af-4a21-a8ac-1d2d0ffe66d3] lib/redmine/export/pdf.rb:95:in `RDMwriteFormattedCell' [dd157ae6-28af-4a21-a8ac-1d2d0ffe66d3] lib/redmine/export/pdf/wiki_pdf_helper.rb:84:in `write_wiki_page' [dd157ae6-28af-4a21-a8ac-1d2d0ffe66d3] lib/redmine/export/pdf/wiki_pdf_helper.rb:58:in `wiki_page_to_pdf' [dd157ae6-28af-4a21-a8ac-1d2d0ffe66d3] app/views/wiki/show.pdf.erb:1 [dd157ae6-28af-4a21-a8ac-1d2d0ffe66d3] lib/redmine/sudo_mode.rb:61:in `sudo_mode'
로그 분석
- RBPDF 라이브러리 문제가 있는듯.
- ActionView::Template::Error (RBPDF error: writeHTMLCell Error.):
- pdf: Image: error: RBPDF error: Unable to get image width and height: E:\Redmine_db\files/2024/11/241101142022_2fa4.png
- 이 파일은 정상적으로 서버에 올라갔고, 다운받을 수 있어
- RBPDF 관련 현재 버전 확인
- Gemfile 및 Gemfile.lock 에서 확인
- rbpdf (1.20.1), rbpdf-font (1.19.1)
- 위 로그에서도 "gems/rbpdf-1.20.1" 라고 함.
관련 검색
해결
- Gemfile.lock 업데이트
- bundle update rbpdf rbpdf-font
- 의존성 재설치
- bundle install
- rbpdf 버전 명시
- Gemfile에 rbpdf 관련 최신 버전으로 변경
- gem 'rbpdf', '~> 1.21.3' (기존1.20.1에서)
- gem 'rbpdf-font', '~> 1.19.1' (기존 동일)
- bundle install 실행
- 캐시 삭제
- bundle clean --force
- bundle install 실행
- tmp 폴더 정리 (필요시,,)
- rake tmp:clear