# Get oops 500 error when installing question answer plugin

**URL:** https://meta.discourse.org/t/get-oops-500-error-when-installing-question-answer-plugin/231832
**Category:** Bug
**Tags:** post-voting
**Created:** [July 3, 2022, 10:47pm UTC](https://meta.discourse.org/t/get-oops-500-error-when-installing-question-answer-plugin/231832 "2022-07-03T22:47:44Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![yhmtsai](https://avatars.discourse-cdn.com/v4/letter/y/47e85d/32.png) [@yhmtsai](https://meta.discourse.org/u/yhmtsai)
#### Post date: [July 3, 2022, 10:47pm UTC](https://meta.discourse.org/t/get-oops-500-error-when-installing-question-answer-plugin/231832/1 "2022-07-03T22:47:44Z")

</div>

Hi, I have got the same issue when installing [Pavilion](https://thepavilion.io/) QA plugin and report it in [Oops after updating to discouse 2.9 due to Discourse QA plugin - support - Discourse Meta](https://meta.discourse.org/t/oops-after-updating-to-discouse-2-9-due-to-discourse-qa-plugin/217589)  
I tried installing the discourse’s QA plugin in tests-passed (2.9.0.beta6) today but still got the same issue.  
If disabling the QA plugin, everything is fine.  
I also found a similar error message from [500 error when saving category security settings - bug - Discourse Meta](https://meta.discourse.org/t/500-error-when-saving-category-security-settings/231055). Maybe they are relevant?

Error message from `shared/standalone/log/rails/production.log`

```plaintext
NoMethodError (undefined method `>=' for nil:NilClass)
(eval):78:in `_fast_attributes'
app/controllers/application_controller.rb:639:in `preload_current_user_data'
app/controllers/application_controller.rb:439:in `preload_json'
app/controllers/application_controller.rb:415:in `block in with_resolved_locale'
app/controllers/application_controller.rb:415:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:71:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:368:in `call'
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
lib/middleware/enforce_hostname.rb:23:in `call'
lib/middleware/request_tracker.rb:202:in `call'

```

and some screenshot of the webpage

 ![image](https://global.discourse-cdn.com/meta/original/4X/5/4/b/54b9c83dc80e7da6cd7b6da3acb8cd1fdf3a56bf.png)

I use the following template:

```plaintext
- "templates/postgres.template.yml"
- "templates/redis.template.yml"
- "templates/web.template.yml"
- "templates/web.ratelimited.template.yml"
- "templates/web.socketed.template.yml"
- "templates/cloudflare.template.yml"

```

and install the plugins

```plaintext
- git clone https://github.com/discourse/docker_manager.git
- git clone https://github.com/discourse/discourse-knowledge-explorer.git
- git clone https://github.com/discourse/discourse-data-explorer.git
- git clone https://github.com/discourse/discourse-solved.git
- git clone https://github.com/discourse/discourse-rss-polling.git
- git clone https://github.com/discourse/discourse-feature-voting.git
- git clone https://github.com/discourse/discourse-math.git
- git clone https://github.com/discourse/discourse-checklist.git
- git clone https://github.com/discourse/discourse-question-answer.git

```

Update backtrace:

```plaintext
plugins/discourse-feature-voting/plugin.rb:162:in `reached_voting_limit?'
plugins/discourse-feature-voting/plugin.rb:175:in `votes_exceeded'
(eval):78: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 (7.0.3) lib/active_support/json/encoding.rb:22:in `encode'
activesupport (7.0.3) lib/active_support/json/encoding.rb:22:in `encode'
activesupport (7.0.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:639:in `preload_current_user_data'
app/controllers/application_controller.rb:439:in `preload_json'
activesupport (7.0.3) lib/active_support/callbacks.rb:400:in `block in make_lambda'
activesupport (7.0.3) lib/active_support/callbacks.rb:199:in `block (2 levels) in halting'
actionpack (7.0.3) lib/abstract_controller/callbacks.rb:34:in `block (2 levels) in <module:Callbacks>'
activesupport (7.0.3) lib/active_support/callbacks.rb:200:in `block in halting'
activesupport (7.0.3) lib/active_support/callbacks.rb:595:in `block in invoke_before'
activesupport (7.0.3) lib/active_support/callbacks.rb:595:in `each'
activesupport (7.0.3) lib/active_support/callbacks.rb:595:in `invoke_before'
activesupport (7.0.3) lib/active_support/callbacks.rb:116:in `block in run_callbacks'
app/controllers/application_controller.rb:415:in `block in with_resolved_locale'
i18n (1.10.0) lib/i18n.rb:328:in `with_locale'
app/controllers/application_controller.rb:415:in `with_resolved_locale'
activesupport (7.0.3) lib/active_support/callbacks.rb:127:in `block in run_callbacks'
activesupport (7.0.3) lib/active_support/callbacks.rb:138:in `run_callbacks'
actionpack (7.0.3) lib/abstract_controller/callbacks.rb:233:in `process_action'
actionpack (7.0.3) lib/action_controller/metal/rescue.rb:22:in `process_action'
actionpack (7.0.3) lib/action_controller/metal/instrumentation.rb:67:in `block in process_action'
activesupport (7.0.3) lib/active_support/notifications.rb:206:in `block in instrument'
activesupport (7.0.3) lib/active_support/notifications/instrumenter.rb:24:in `instrument'
activesupport (7.0.3) lib/active_support/notifications.rb:206:in `instrument'
actionpack (7.0.3) lib/action_controller/metal/instrumentation.rb:66:in `process_action'
actionpack (7.0.3) lib/action_controller/metal/params_wrapper.rb:259:in `process_action'
activerecord (7.0.3) lib/active_record/railties/controller_runtime.rb:27:in `process_action'
actionpack (7.0.3) lib/abstract_controller/base.rb:151:in `process'
actionview (7.0.3) lib/action_view/rendering.rb:39:in `process'
rack-mini-profiler (3.0.0) lib/mini_profiler/profiling_methods.rb:85:in `block in profile_method'
actionpack (7.0.3) lib/action_controller/metal.rb:188:in `dispatch'
actionpack (7.0.3) lib/action_controller/metal.rb:251:in `dispatch'
actionpack (7.0.3) lib/action_dispatch/routing/route_set.rb:49:in `dispatch'
actionpack (7.0.3) lib/action_dispatch/routing/route_set.rb:32:in `serve'
actionpack (7.0.3) lib/action_dispatch/routing/mapper.rb:18:in `block in <class:Constraints>'
actionpack (7.0.3) lib/action_dispatch/routing/mapper.rb:48:in `serve'
actionpack (7.0.3) lib/action_dispatch/journey/router.rb:50:in `block in serve'
actionpack (7.0.3) lib/action_dispatch/journey/router.rb:32:in `each'
actionpack (7.0.3) lib/action_dispatch/journey/router.rb:32:in `serve'
actionpack (7.0.3) lib/action_dispatch/routing/route_set.rb:852:in `call'
lib/middleware/omniauth_bypass_middleware.rb:71:in `call'
rack (2.2.3.1) lib/rack/tempfile_reaper.rb:15:in `call'
rack (2.2.3.1) lib/rack/conditional_get.rb:27:in `call'
rack (2.2.3.1) lib/rack/head.rb:12:in `call'
actionpack (7.0.3) lib/action_dispatch/http/permissions_policy.rb:38:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:368:in `call'
rack (2.2.3.1) lib/rack/session/abstract/id.rb:266:in `context'
rack (2.2.3.1) lib/rack/session/abstract/id.rb:260:in `call'
actionpack (7.0.3) lib/action_dispatch/middleware/cookies.rb:697:in `call'
actionpack (7.0.3) lib/action_dispatch/middleware/callbacks.rb:27:in `block in call'
activesupport (7.0.3) lib/active_support/callbacks.rb:99:in `run_callbacks'
actionpack (7.0.3) lib/action_dispatch/middleware/callbacks.rb:26:in `call'
actionpack (7.0.3) lib/action_dispatch/middleware/debug_exceptions.rb:28:in `call'
actionpack (7.0.3) lib/action_dispatch/middleware/show_exceptions.rb:26:in `call'
logster (2.11.2) lib/logster/middleware/reporter.rb:43:in `call'
railties (7.0.3) lib/rails/rack/logger.rb:40:in `call_app'
railties (7.0.3) lib/rails/rack/logger.rb:27:in `call'
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
actionpack (7.0.3) lib/action_dispatch/middleware/remote_ip.rb:93:in `call'
actionpack (7.0.3) lib/action_dispatch/middleware/request_id.rb:26:in `call'
lib/middleware/enforce_hostname.rb:23:in `call'
rack (2.2.3.1) lib/rack/method_override.rb:24:in `call'
actionpack (7.0.3) lib/action_dispatch/middleware/executor.rb:14:in `call'
rack (2.2.3.1) lib/rack/sendfile.rb:110:in `call'
actionpack (7.0.3) lib/action_dispatch/middleware/host_authorization.rb:131:in `call'
rack-mini-profiler (3.0.0) lib/mini_profiler/profiler.rb:249:in `call'
message_bus (4.2.0) lib/message_bus/rack/middleware.rb:60:in `call'
lib/middleware/request_tracker.rb:202:in `call'
railties (7.0.3) lib/rails/engine.rb:530:in `call'
railties (7.0.3) lib/rails/railtie.rb:226:in `public_send'
railties (7.0.3) lib/rails/railtie.rb:226:in `method_missing'
rack (2.2.3.1) lib/rack/urlmap.rb:74:in `block in call'
rack (2.2.3.1) lib/rack/urlmap.rb:58:in `each'
rack (2.2.3.1) lib/rack/urlmap.rb:58:in `call'
unicorn (6.1.0) lib/unicorn/http_server.rb:634:in `process_client'
unicorn (6.1.0) lib/unicorn/http_server.rb:739:in `worker_loop'
unicorn (6.1.0) lib/unicorn/http_server.rb:547:in `spawn_missing_workers'
unicorn (6.1.0) lib/unicorn/http_server.rb:143:in `start'
unicorn (6.1.0) bin/unicorn:128:in `<top (required)>'
vendor/bundle/ruby/2.7.0/bin/unicorn:25:in `load'
vendor/bundle/ruby/2.7.0/bin/unicorn:25:in `<main>'

```

It shows some related to voting. Maybe are there some conflict between voting and question-answer?

---

<div class="post-metadata">

### Author: ![yhmtsai](https://avatars.discourse-cdn.com/v4/letter/y/47e85d/32.png) [@yhmtsai](https://meta.discourse.org/u/yhmtsai)
#### Post date: [July 17, 2022, 10:59pm UTC](https://meta.discourse.org/t/get-oops-500-error-when-installing-question-answer-plugin/231832/6 "2022-07-17T22:59:38Z")

</div>

Hi, I also try a little bit on this issue.  
In 2.9.0 beta 7, the issue still happens.  
Because the backtrace contains something related “voting”, I guess there are some conflict between them.  
I delete the voting plugin (only install q/a plugin) and it works!  
I hope this can help figuring out the issue.

---

<div class="post-metadata">

### Author: ![JammyDodger](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jammydodger/32/254611_2.png) [@JammyDodger](https://meta.discourse.org/u/JammyDodger)
#### Post date: [July 18, 2022, 8:44am UTC](https://meta.discourse.org/t/get-oops-500-error-when-installing-question-answer-plugin/231832/8 "2022-07-18T08:44:18Z")

</div>

Sorry @yhmtsai, I didn’t see your update about the voting conflict. I have both Voting and Q&A installed on my test site, and they appear to be quite happy with each other? I’m going to spin up a new test site with just those two plugins and see if that shines any light on what may have happened.

Can you think of any other details that may be relevant?

---

<div class="post-metadata">

### Author: ![yhmtsai](https://avatars.discourse-cdn.com/v4/letter/y/47e85d/32.png) [@yhmtsai](https://meta.discourse.org/u/yhmtsai)
#### Post date: [July 18, 2022, 2:25pm UTC](https://meta.discourse.org/t/get-oops-500-error-when-installing-question-answer-plugin/231832/10 "2022-07-18T14:25:28Z")

</div>

Hi, thanks for replying.  
I re-enable the voting plugin and it works again. 🤨  
I also tried installing the voting first and then qa, but it still works.  
I would guess that it may something from the old qa and kept by voting leads the error even when deleting qa plugin. After deleting the voting to clean the data, the new qa and voting work together again.  
However, I am not familar with those plugin interaction, so just guessing…

---

<div class="post-metadata">

### Author: ![JammyDodger](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jammydodger/32/254611_2.png) [@JammyDodger](https://meta.discourse.org/u/JammyDodger)
#### Post date: [November 6, 2022, 10:11pm UTC](https://meta.discourse.org/t/get-oops-500-error-when-installing-question-answer-plugin/231832/11 "2022-11-06T22:11:33Z")

</div>

> [@yhmtsai](#):
>
> `- git clone https://github.com/discourse/discourse-feature-voting.git`

I hit a similar issue myself recently when I rebuilt a new test site, and the problem was accidentally using the old `discourse-feature-voting` git for the voting plugin, rather than the current (at the time) `discourse-voting` one, which caused things to be loaded in an unintended order. 🙂

Both of the voting plugins have been renamed recently to `discourse-topic-voting` and `discourse-post-voting`, so if you’re still having problems you could remove `discourse-feature-voting` from your `app.yml` and use the updated ones and I believe that should solve the issue. 👍

---

<div class="post-metadata">

### Author: ![yhmtsai](https://avatars.discourse-cdn.com/v4/letter/y/47e85d/32.png) [@yhmtsai](https://meta.discourse.org/u/yhmtsai)
#### Post date: [November 20, 2022, 10:54pm UTC](https://meta.discourse.org/t/get-oops-500-error-when-installing-question-answer-plugin/231832/12 "2022-11-20T22:54:27Z")

</div>

It will be helpful if discourse can throw some warning/reminder about updating the url.  
I am not sure whether it worths or not because I assume changing the name should seldom happen.

---

<div class="post-metadata">

### Author: ![JammyDodger](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jammydodger/32/254611_2.png) [@JammyDodger](https://meta.discourse.org/u/JammyDodger)
#### Post date: [December 1, 2022, 11:19am UTC](https://meta.discourse.org/t/get-oops-500-error-when-installing-question-answer-plugin/231832/13 "2022-12-01T11:19:08Z")

</div>


