어떤 이유에서인지 AI 도우미가 “생성 중” 화면에 멈춰 있고 끝까지 완료되지 않으며, AI 도우미의 모든 옵션에서 동일한 문제가 발생합니다. 하지만 AI 봇은 정상적으로 작동합니다. 또한 오류 로그도 받지 못해 문제를 특정할 수 없습니다. 그래서 이 버그 주제를 만들었습니다.
제 인스턴스는 최신 상태로 업데이트되어 있습니다.
어떤 이유에서인지 AI 도우미가 “생성 중” 화면에 멈춰 있고 끝까지 완료되지 않으며, AI 도우미의 모든 옵션에서 동일한 문제가 발생합니다. 하지만 AI 봇은 정상적으로 작동합니다. 또한 오류 로그도 받지 못해 문제를 특정할 수 없습니다. 그래서 이 버그 주제를 만들었습니다.
제 인스턴스는 최신 상태로 업데이트되어 있습니다.
어떤 LLM / 제공업체를 사용 중이신가요?
GPT-4o-mini는 Azure가 아닌 OpenAI를 통해 사용했습니다. 하지만 저는 동일한 LLM을 AI 봇에 사용하고 있으며, 이 봇은 정상적으로 응답하고 있습니다.
15분간 기다렸지만 더 이상 기다릴 수 없어서, 생성 페이지에서 계속 진행될 것이라고 가정할 수밖에 없습니다.
며칠 전부터 이 오류만 계속 발생하고 있습니다. 하지만 며칠 동안 오류 건수가 증가하지는 않았습니다.
메시지 (22건 보고됨)
Job exception: 2a00:116a:107:a220:::443에 대한 TCP 연결을 열 수 없음 (Network is unreachable - connect(2) for "2a00:116a:107:a220::" port 443)
Backtrace
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-http-0.6.0/lib/net/http.rb:1665:in `initialize'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-http-0.6.0/lib/net/http.rb:1665:in `open'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-http-0.6.0/lib/net/http.rb:1665:in `block in connect'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/timeout-0.4.3/lib/timeout.rb:185:in `block in timeout'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/timeout-0.4.3/lib/timeout.rb:192:in `timeout'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-http-0.6.0/lib/net/http.rb:1663:in `connect'
/var/www/discourse/lib/final_destination/http.rb:27:in `block in connect'
/var/www/discourse/lib/final_destination/http.rb:17:in `each'
/var/www/discourse/lib/final_destination/http.rb:17:in `each_with_index'
/var/www/discourse/lib/final_destination/http.rb:17:in `connect'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-http-0.6.0/lib/net/http.rb:1642:in `do_start'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-http-0.6.0/lib/net/http.rb:1631:in `start'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-http-0.6.0/lib/net/http.rb:1070:in `start'
/var/www/discourse/lib/final_destination.rb:544:in `safe_session'
/var/www/discourse/lib/final_destination.rb:479:in `safe_get'
/var/www/discourse/lib/final_destination.rb:170:in `get'
/var/www/discourse/lib/retrieve_title.rb:94:in `fetch_title'
/var/www/discourse/lib/retrieve_title.rb:12:in `crawl'
/var/www/discourse/lib/inline_oneboxer.rb:76:in `lookup'
/var/www/discourse/lib/cooked_processor_mixin.rb:310:in `process_inline_onebox'
/var/www/discourse/lib/cooked_processor_mixin.rb:39:in `block in post_process_oneboxes'
/var/www/discourse/lib/oneboxer.rb:180:in `block in apply'
/var/www/discourse/lib/oneboxer.rb:128:in `block in each_onebox_link'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/nokogiri-1.18.7-x86_64-linux-gnu/lib/nokogiri/xml/node_set.rb:237:in `block in each'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/nokogiri-1.18.7-x86_64-linux-gnu/lib/nokogiri/xml/node_set.rb:236:in `upto'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/nokogiri-1.18.7-x86_64-linux-gnu/lib/nokogiri/xml/node_set.rb:236:in `each'
/var/www/discourse/lib/oneboxer.rb:128:in `each_onebox_link'
/var/www/discourse/lib/oneboxer.rb:179:in `apply'
/var/www/discourse/lib/cooked_processor_mixin.rb:9:in `post_process_oneboxes'
/var/www/discourse/lib/cooked_post_processor.rb:44:in `block in post_process'
/var/www/discourse/lib/distributed_mutex.rb:53:in `block in synchronize'
/var/www/discourse/lib/distributed_mutex.rb:49:in `synchronize'
/var/www/discourse/lib/distributed_mutex.rb:49:in `synchronize'
/var/www/discourse/lib/distributed_mutex.rb:34:in `synchronize'
/var/www/discourse/lib/cooked_post_processor.rb:40:in `post_process'
/var/www/discourse/app/jobs/regular/process_post.rb:28:in `block in execute'
/var/www/discourse/lib/distributed_mutex.rb:53:in `block in synchronize'
/var/www/discourse/lib/distributed_mutex.rb:49:in `synchronize'
/var/www/discourse/lib/distributed_mutex.rb:49:in `synchronize'
/var/www/discourse/lib/distributed_mutex.rb:34:in `synchronize'
/var/www/discourse/app/jobs/regular/process_post.rb:8:in `execute'
/var/www/discourse/app/jobs/base.rb:316:in `block (2 levels) in perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rails_multisite-6.1.0/lib/rails_multisite/connection_management/null_instance.rb:49:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rails_multisite-6.1.0/lib/rails_multisite/connection_management.rb:21:in `with_connection'
/var/www/discourse/app/jobs/base.rb:303:in `block in perform'
/var/www/discourse/app/jobs/base.rb:299:in `each'
/var/www/discourse/app/jobs/base.rb:299:in `perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/processor.rb:220:in `execute_job'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/processor.rb:185:in `block (4 levels) in process'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:180:in `traverse'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:183:in `block in traverse'
/var/www/discourse/lib/sidekiq/pausable.rb:132:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:182:in `traverse'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:183:in `block in traverse'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/job/interrupt_handler.rb:9:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:182:in `traverse'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:183:in `block in traverse'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/metrics/tracking.rb:26:in `track'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/metrics/tracking.rb:134:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:182:in `traverse'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:173:in `invoke'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/processor.rb:184:in `block (3 levels) in process'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/processor.rb:145:in `block (6 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/job_retry.rb:118:in `local'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/processor.rb:144:in `block (5 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/config.rb:39:in `block in <class:Config>'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/processor.rb:139:in `block (4 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/processor.rb:281:in `stats'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/processor.rb:134:in `block (3 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/job_logger.rb:15:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/processor.rb:133:in `block (2 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/job_retry.rb:85:in `global'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/processor.rb:132:in `block in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/job_logger.rb:40:in `prepare'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/processor.rb:131:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/processor.rb:183:in `block (2 levels) in process'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/processor.rb:182:in `handle_interrupt'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/processor.rb:182:in `block in process'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/processor.rb:181:in `handle_interrupt'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/processor.rb:181:in `process'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/processor.rb:86:in `process_one'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/processor.rb:76:in `run'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/component.rb:10:in `watchdog'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/component.rb:19:in `block in safe_thread'
컴포저, 게시물 메뉴의 AI 도우미 중 어디에서 발생하는 건가요? 아니면 둘 다인가요? “생성 중” 상태에 멈춰 있을 때 브라우저 개발자 콘솔에서 오류 로그를 확인해 보셨나요?
방금 확인해 보니 작성기에서는 정상 작동하는 것을 확인했습니다. 따라서 게시글 메뉴에서만 생성 중 상태로 멈춰 있는 것입니다.
네!
로그 파일을 개인 메시지로 보내도 될까요? (아직 제 사이트가 여기에서 떠다니는 것은 원하지 않습니다)
![]()
또한 방금 새로운 문제를 발견했습니다. 작성기에서 선택한 커스텀 프롬프트를 사용할 때, 내 설정에서 지정한 언어(영어)가 대신 Discourse 인스턴스의 기본 언어(폴란드어)가 자동으로 사용됩니다. 이 스크린샷에서 확인할 수 있습니다:
(제 커스텀 프롬프트는 “이것을 시로 바꿔줘.” 였습니다.)
네, 로그 파일을 DM으로 보내주세요. 감사합니다!
네, 이는 의도된 동작으로 보입니다. 약 10개월 전, 컴포저 헬퍼가 사용자 인터페이스 로케일 대신 사이트 로케일을 사용하도록 변경했습니다:
그리고 OP에서 언급된 문제에 대해서는, @MachineScholar와 개인 메시지로 디버깅을 해본 결과, 코어와 AI 플러그인의 업데이트로 문제가 해결된 것으로 확인되었습니다 ![]()