# Development server consistently dying - 'V8 Isolate was forked'

**URL:** https://meta.discourse.org/t/development-server-consistently-dying-v8-isolate-was-forked/55878
**Category:** Development
**Created:** [January 17, 2017, 6:35am UTC](https://meta.discourse.org/t/development-server-consistently-dying-v8-isolate-was-forked/55878 "2017-01-17T06:35:09Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![gdpelican](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/gdpelican/32/81308_2.png) [@gdpelican](https://meta.discourse.org/u/gdpelican)
#### Post date: [January 17, 2017, 6:35am UTC](https://meta.discourse.org/t/development-server-consistently-dying-v8-isolate-was-forked/55878/1 "2017-01-17T06:35:09Z")

</div>

I’ve been having some fairly consistent trouble with the Discourse development server throwing the following error message, which appears to kill the server pid.

```plaintext
WARNING: V8 isolate was forked, it can not be disposed and memory will not be reclaimed till the Ruby process exits.

```

It’s not so big a deal to need to restart the server now and again, but it seems to happen fairly regularly on my machine during development. Any steps to avoid this, or a way to turn it off in development mode?

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [January 17, 2017, 12:32pm UTC](https://meta.discourse.org/t/development-server-consistently-dying-v8-isolate-was-forked/55878/2 "2017-01-17T12:32:13Z")

</div>

Are you using puma in a non-cluster mode?

---

<div class="post-metadata">

### Author: ![gdpelican](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/gdpelican/32/81308_2.png) [@gdpelican](https://meta.discourse.org/u/gdpelican)
#### Post date: [January 17, 2017, 1:14pm UTC](https://meta.discourse.org/t/development-server-consistently-dying-v8-isolate-was-forked/55878/3 "2017-01-17T13:14:33Z")

</div>

Oh, hm. Looks like it’s picking up ‘thin’ as the default rails server (I’m just running `bundle exec rails s` from the project root; can’t be bothered with a Vagrant or anything)

 ![](https://global.discourse-cdn.com/meta/original/3X/6/8/68227d4373c1b1acf740bcd3e365136737975551.png)

But if I do specify puma explicitly, looks like it spins up in single mode:

 ![](https://global.discourse-cdn.com/meta/original/3X/2/2/2233dcdef8996e84261c1ba721923fc2e7aebef3.png)

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [January 17, 2017, 1:43pm UTC](https://meta.discourse.org/t/development-server-consistently-dying-v8-isolate-was-forked/55878/4 "2017-01-17T13:43:59Z")

</div>

Do you still get the issue when using puma?

---

<div class="post-metadata">

### Author: ![gdpelican](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/gdpelican/32/81308_2.png) [@gdpelican](https://meta.discourse.org/u/gdpelican)
#### Post date: [January 20, 2017, 12:53pm UTC](https://meta.discourse.org/t/development-server-consistently-dying-v8-isolate-was-forked/55878/5 "2017-01-20T12:53:20Z")

</div>

Haven’t noticed this over the past couple days using Puma. I see Discourse includes both `thin` and `puma` in the Gemfile; does it make sense to either run both with the same server, or specify Puma as the default app server using `Rack::Handler.pick` or something similar?

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [January 20, 2017, 1:08pm UTC](https://meta.discourse.org/t/development-server-consistently-dying-v8-isolate-was-forked/55878/6 "2017-01-20T13:08:06Z")

</div>

I actually think it may be time to drop thin from the dependencies. Going ahead and doing that now.

EDIT: this is now done, we no longer carry an unloaded dependency to event machine … so yay!

---

<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: [January 20, 2017, 9:10pm UTC](https://meta.discourse.org/t/development-server-consistently-dying-v8-isolate-was-forked/55878/7 "2017-01-20T21:10:47Z")

</div>



---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [February 2, 2017, 8:07pm UTC](https://meta.discourse.org/t/development-server-consistently-dying-v8-isolate-was-forked/55878/8 "2017-02-02T20:07:02Z")

</div>

Note: one thing that dropping thin did bring up is that our silencer middlewares were not thread safe. That got super annoying in dev mode cause logs would keep getting disabled.

I fixed that per:

[https://github.com/discourse/discourse/commit/a898d6a02a28406bfd0033a5e4d044a0ecbe71f9](https://github.com/discourse/discourse/commit/a898d6a02a28406bfd0033a5e4d044a0ecbe71f9)
