# Ember jquery 응답 입력 시 Out of Memory 발생

**URL:** https://meta.discourse.org/t/ember-jquery-out-of-memory-when-typing-response/180329
**Category:** Support
**Created:** [2월 19, 2021, 10:35오전 UTC](https://meta.discourse.org/t/ember-jquery-out-of-memory-when-typing-response/180329 "2021-02-19T10:35:04Z")
**Posts on this page:** 10
**Page:** 1

<div class="post-metadata">

### Author: ![dschaper](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/dschaper/32/209535_2.png) [@dschaper](https://meta.discourse.org/u/dschaper)
#### Post date: [2월 19, 2021, 10:35오전 UTC](https://meta.discourse.org/t/ember-jquery-out-of-memory-when-typing-response/180329/1 "2021-02-19T10:35:04Z")

</div>

2.7.0beta4 [11f28e3eb3](https://github.com/discourse/discourse/commits/11f28e3eb3ed34167780ade9b2ebfd863d8c9190)에서

응답을 입력하면 클라이언트 브라우저가 멈추고, Dev Console에 Ember-jquery에서 Out Of Memory 오류가 표시됩니다.

Presence를 비활성화하고, 미리보기를 숨겼으며, 새로운 web\_only 이미지를 부트스트랩하여 새 컨테이너를 시작했습니다. 그러나 여전히 동일한 오류가 표시됩니다.

S3 업로드와 정적 콘텐츠 모두에 CDN을 사용 중입니다. CDN의 캐시를 비웠습니다.

또한 error.log에 다음과 같은 메시지가 대량으로 표시되는 것을 확인했습니다:

```plaintext
Feb 19 02:27:42 discourse error.log 2021/02/19 10:27:42 [alert] 677#677: 768 worker_connections are not enough

```

---

<div class="post-metadata">

### Author: ![Johani](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/johani/32/176920_2.png) [@Johani](https://meta.discourse.org/u/Johani)
#### Post date: [2월 19, 2021, 10:40오전 UTC](https://meta.discourse.org/t/ember-jquery-out-of-memory-when-typing-response/180329/2 "2021-02-19T10:40:42Z")

</div>

안전 모드에서 시도해 보면 문제가 발생하는가요?

`your.site.com/safe-mode`

---

<div class="post-metadata">

### Author: ![dschaper](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/dschaper/32/209535_2.png) [@dschaper](https://meta.discourse.org/u/dschaper)
#### Post date: [2월 19, 2021, 10:41오전 UTC](https://meta.discourse.org/t/ember-jquery-out-of-memory-when-typing-response/180329/3 "2021-02-19T10:41:54Z")

</div>

안전 모드에서 모든 항목을 선택하면 다음과 같은 오류 페이지가 표시됩니다:

```plaintext
오류

이 토론 포럼을 구동하는 소프트웨어에서 예상치 못한 문제가 발생했습니다. 불편을 드려 죄송합니다.

오류에 대한 자세한 정보가 기록되었으며, 자동 알림이 생성되었습니다. 해당 내용을 확인하겠습니다.

추가 조치는 필요하지 않습니다. 그러나 오류 상태가 지속되면, 오류를 재현하는 단계를 포함한 추가 세부 정보를 사이트의 피드백 카테고리에 토론 주제를 게시하여 제공하실 수 있습니다.

```

---

<div class="post-metadata">

### Author: ![riking](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/riking/32/170938_2.png) [@riking](https://meta.discourse.org/u/riking)
#### Post date: [2월 19, 2021, 10:49오전 UTC](https://meta.discourse.org/t/ember-jquery-out-of-memory-when-typing-response/180329/4 "2021-02-19T10:49:29Z")

</div>

> [@dschaper](#):
>
> error.log 메시지

조금 혼란스럽습니다 – 이 메시지는 서버 문제를 가리키고 있는데, 나머지 설명은 클라이언트 측 문제에 관한 것입니다.  
세이프 모드 실패는 추가적인 서버 측 문제를 시사합니다.

“메모리 부족” 오류에 대한 스크린샷을 찍어 주실 수 있나요?

/logs를 방문해 보세요. 거기서 흥미로운 내용이 있나요?

데이터베이스 설정에 특이한 점이 있나요?

---

<div class="post-metadata">

### Author: ![dschaper](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/dschaper/32/209535_2.png) [@dschaper](https://meta.discourse.org/u/dschaper)
#### Post date: [2월 19, 2021, 10:58오전 UTC](https://meta.discourse.org/t/ember-jquery-out-of-memory-when-typing-response/180329/5 "2021-02-19T10:58:57Z")

</div>

error.log의 메시지는 제가 CDN 캐시를 정리하고 풀을 실행하면서 발생한 것일 수 있습니다.

몇 시간 전까지는 모든 것이 잘 작동하고 있었습니다. 베타 버전이 출시되었을 때 새로운 이미지를 부트스트랩했고, Falco의 S3 CDN 아바타 flair 수정 사항을 가져오기 위해 이미 부트스트랩된 이미지가 있었습니다.

방금 새로운 이미지를 부트스트랩하여 배포했습니다.

답글 입력란에 문자 하나만 입력해도 화면이 멈춥니다.

 ![Screenshot 2021-02-19 025545](https://global.discourse-cdn.com/meta/original/3X/7/f/7fe1ff4ebbe50a3be0d238464906bdc1f96e046d.png) ![Screenshot 2021-02-19 025619](https://global.discourse-cdn.com/meta/original/3X/6/6/66b4a39b7dc7137c1f222f0158fd7df41a904099.png)

 ![Screenshot 2021-02-19 025723](https://global.discourse-cdn.com/meta/original/3X/7/e/7e8d23f8cb7998700926cbe21452b1ceda11dbda.png)

백트레이스:

```plaintext
plugins/discourse-feature-voting/plugin.rb:165:in `reached_voting_limit?'
plugins/discourse-feature-voting/plugin.rb:178:in `votes_exceeded'
(eval):58:in `_fast_attributes'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:468:in `rescue in attributes'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:455:in `attributes'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:480:in `_serializable_hash'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:359:in `serializable_hash'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:347:in `as_json'
activesupport (6.0.3.3) lib/active_support/json/encoding.rb:22:in `encode'
activesupport (6.0.3.3) lib/active_support/json/encoding.rb:22:in `encode'
activesupport (6.0.3.3) lib/active_support/core_ext/object/json.rb:42:in `to_json'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:331:in `to_json'
multi_json (1.15.0) lib/multi_json/adapters/oj.rb:56:in `dump'
multi_json (1.15.0) lib/multi_json/adapters/oj.rb:56:in `dump'
multi_json (1.15.0) lib/multi_json/adapter.rb:25:in `dump'
multi_json (1.15.0) lib/multi_json.rb:139:in `dump'
app/controllers/application_controller.rb:571:in `preload_current_user_data'
app/controllers/application_controller.rb:382:in `preload_json'
activesupport (6.0.3.3) lib/active_support/callbacks.rb:428:in `block in make_lambda'
activesupport (6.0.3.3) lib/active_support/callbacks.rb:200:in `block (2 levels) in halting'
actionpack (6.0.3.3) lib/abstract_controller/callbacks.rb:34:in `block (2 levels) in <module:Callbacks>'
activesupport (6.0.3.3) lib/active_support/callbacks.rb:201:in `block in halting'
activesupport (6.0.3.3) lib/active_support/callbacks.rb:513:in `block in invoke_before'
activesupport (6.0.3.3) lib/active_support/callbacks.rb:513:in `each'
activesupport (6.0.3.3) lib/active_support/callbacks.rb:513:in `invoke_before'
activesupport (6.0.3.3) lib/active_support/callbacks.rb:110:in `block in run_callbacks'
app/controllers/application_controller.rb:358:in `block in with_resolved_locale'
i18n (1.8.9) lib/i18n.rb:314:in `with_locale'
app/controllers/application_controller.rb:358:in `with_resolved_locale'
activesupport (6.0.3.3) lib/active_support/callbacks.rb:121:in `block in run_callbacks'
activesupport (6.0.3.3) lib/active_support/callbacks.rb:139:in `run_callbacks'
actionpack (6.0.3.3) lib/abstract_controller/callbacks.rb:41:in `process_action'
actionpack (6.0.3.3) lib/action_controller/metal/rescue.rb:22:in `process_action'
actionpack (6.0.3.3) lib/action_controller/metal/instrumentation.rb:33:in `block in process_action'
activesupport (6.0.3.3) lib/active_support/notifications.rb:180:in `block in instrument'
activesupport (6.0.3.3) lib/active_support/notifications/instrumenter.rb:24:in `instrument'
activesupport (6.0.3.3) lib/active_support/notifications.rb:180:in `instrument'
actionpack (6.0.3.3) lib/action_controller/metal/instrumentation.rb:32:in `process_action'
actionpack (6.0.3.3) lib/action_controller/metal/params_wrapper.rb:245:in `process_action'
activerecord (6.0.3.3) lib/active_record/railties/controller_runtime.rb:27:in `process_action'
actionpack (6.0.3.3) lib/abstract_controller/base.rb:136:in `process'
actionview (6.0.3.3) lib/action_view/rendering.rb:39:in `process'
rack-mini-profiler (2.3.1) lib/mini_profiler/profiling_methods.rb:111:in `block in profile_method'

actionpack (6.0.3.3) lib/action_controller/metal.rb:190:in `dispatch'
actionpack (6.0.3.3) lib/action_controller/metal.rb:254:in `dispatch'
actionpack (6.0.3.3) lib/action_dispatch/routing/route_set.rb:50:in `dispatch'
actionpack (6.0.3.3) lib/action_dispatch/routing/route_set.rb:33:in `serve'
actionpack (6.0.3.3) lib/action_dispatch/routing/mapper.rb:18:in `block in <class:Constraints>'
actionpack (6.0.3.3) lib/action_dispatch/routing/mapper.rb:48:in `serve'
actionpack (6.0.3.3) lib/action_dispatch/journey/router.rb:49:in `block in serve'
actionpack (6.0.3.3) lib/action_dispatch/journey/router.rb:32:in `each'
actionpack (6.0.3.3) lib/action_dispatch/journey/router.rb:32:in `serve'
actionpack (6.0.3.3) lib/action_dispatch/routing/route_set.rb:834:in `call'
lib/middleware/omniauth_bypass_middleware.rb:68:in `call'
rack (2.2.3) lib/rack/tempfile_reaper.rb:15:in `call'
rack (2.2.3) lib/rack/conditional_get.rb:27:in `call'
rack (2.2.3) lib/rack/head.rb:12:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:355:in `call'
config/initializers/008-rack-cors.rb:25:in `call'
rack (2.2.3) lib/rack/session/abstract/id.rb:266:in `context'
rack (2.2.3) lib/rack/session/abstract/id.rb:260:in `call'
actionpack (6.0.3.3) lib/action_dispatch/middleware/cookies.rb:648:in `call'
actionpack (6.0.3.3) lib/action_dispatch/middleware/callbacks.rb:27:in `block in call'
activesupport (6.0.3.3) lib/active_support/callbacks.rb:101:in `run_callbacks'
actionpack (6.0.3.3) lib/action_dispatch/middleware/callbacks.rb:26:in `call'
actionpack (6.0.3.3) lib/action_dispatch/middleware/actionable_exceptions.rb:17:in `call'
actionpack (6.0.3.3) lib/action_dispatch/middleware/debug_exceptions.rb:32:in `call'
actionpack (6.0.3.3) lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'
logster (2.9.5) lib/logster/middleware/reporter.rb:43:in `call'
railties (6.0.3.3) lib/rails/rack/logger.rb:37:in `call_app'
railties (6.0.3.3) lib/rails/rack/logger.rb:28:in `call'
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
actionpack (6.0.3.3) lib/action_dispatch/middleware/remote_ip.rb:81:in `call'
actionpack (6.0.3.3) lib/action_dispatch/middleware/request_id.rb:27:in `call'
lib/middleware/enforce_hostname.rb:23:in `call'
rack (2.2.3) lib/rack/method_override.rb:24:in `call'
actionpack (6.0.3.3) lib/action_dispatch/middleware/executor.rb:14:in `call'
rack (2.2.3) lib/rack/sendfile.rb:110:in `call'
actionpack (6.0.3.3) lib/action_dispatch/middleware/host_authorization.rb:76:in `call'
rack-mini-profiler (2.3.1) lib/mini_profiler/profiler.rb:373:in `call'

message_bus (3.3.4) lib/message_bus/rack/middleware.rb:61:in `call'
lib/middleware/request_tracker.rb:177:in `call'
railties (6.0.3.3) lib/rails/engine.rb:527:in `call'
railties (6.0.3.3) lib/rails/railtie.rb:190:in `public_send'
railties (6.0.3.3) lib/rails/railtie.rb:190:in `method_missing'
rack (2.2.3) lib/rack/urlmap.rb:74:in `block in call'
rack (2.2.3) lib/rack/urlmap.rb:58:in `each'
rack (2.2.3) lib/rack/urlmap.rb:58:in `call'
unicorn (5.8.0) lib/unicorn/http_server.rb:634:in `process_client'
unicorn (5.8.0) lib/unicorn/http_server.rb:732:in `worker_loop'
unicorn (5.8.0) lib/unicorn/http_server.rb:548:in `spawn_missing_workers'
unicorn (5.8.0) lib/unicorn/http_server.rb:144:in `start'
unicorn (5.8.0) bin/unicorn:128:in `<top (required)>'
vendor/bundle/ruby/2.7.0/bin/unicorn:23:in `load'
vendor/bundle/ruby/2.7.0/bin/unicorn:23:in `<main>'

```

---

<div class="post-metadata">

### Author: ![dschaper](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/dschaper/32/209535_2.png) [@dschaper](https://meta.discourse.org/u/dschaper)
#### Post date: [2월 19, 2021, 11:00오전 UTC](https://meta.discourse.org/t/ember-jquery-out-of-memory-when-typing-response/180329/6 "2021-02-19T11:00:15Z")

</div>

안전 모드인 것 같습니다.

---

<div class="post-metadata">

### Author: ![dschaper](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/dschaper/32/209535_2.png) [@dschaper](https://meta.discourse.org/u/dschaper)
#### Post date: [2월 19, 2021, 11:13오전 UTC](https://meta.discourse.org/t/ember-jquery-out-of-memory-when-typing-response/180329/7 "2021-02-19T11:13:52Z")

</div>

음, 원인을 찾은 것 같아요.

원인으로 보이는 테마 컴포넌트가 있네요.

> **[GitHub - metabrainz/discourse-abbrify-words: Discourse theme component for automatically adding...](https://github.com/metabrainz/discourse-abbrify-words)**
>
> Discourse theme component for automatically adding \<abbr\> to abbreviations and acronyms

해당 컴포넌트를 제거하니 이제 정상적으로 작동합니다.

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [2월 22, 2021, 2:07오전 UTC](https://meta.discourse.org/t/ember-jquery-out-of-memory-when-typing-response/180329/8 "2021-02-22T02:07:03Z")

</div>

저희 호스팅으로 이관하는 것을 고려해 보셨나요? 그렇게 하면 이 작업 중 일부를 저희가 대신해 드리고, 전용 지원 채널도 이용하실 수 있습니다 🙂

---

<div class="post-metadata">

### Author: ![dschaper](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/dschaper/32/209535_2.png) [@dschaper](https://meta.discourse.org/u/dschaper)
#### Post date: [2월 22, 2021, 5:57오후 UTC](https://meta.discourse.org/t/ember-jquery-out-of-memory-when-typing-response/180329/9 "2021-02-22T17:57:27Z")

</div>

우리는 이를 고려해 보았지만, 호스팅 비용을 자체 호스팅 및 자체 관리 비용으로 상쇄할 수 있다고 생각하지 않습니다.

월 페이지뷰 수와 관리자/모더레이터 수를 고려하면, 우리가 현재 [Bunny.net](http://Bunny.net)(CDN), Backblaze B2, 그리고 크레딧 소진 후 무비용인 DO 드롭렛에 지불하는 비용과 비교했을 때 “견적 문의” 범주에 해당합니다. Discourse는 유지보수가 실제로 고통스럽지 않으며, 단순히 팀에 더 이상 속하지 않는 누군가가 설정한 후 오랫동안 방치되었을 뿐입니다. 당시 왜 그리고 무엇이 설정되었는지에 대한 명확한 설명이 없었습니다. 이제 모든 것이 버킷으로 정리되었으므로, 전체 설정을 완전히 다시 구축할 시기가 온 것 같습니다.

---

<div class="post-metadata">

### Author: ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)
#### Post date: [3월 25, 2021, 9:10오후 UTC](https://meta.discourse.org/t/ember-jquery-out-of-memory-when-typing-response/180329/12 "2021-03-25T21:10:12Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
