title: CRTP base class inheriting std::enable_shared_from_this, throwing std::bad_weak_ptr. I need quidance
body: <p>When I try to <code>share_from_this()</code> in the base class <code>shared_handler</code> to return a <code>DerivedT</code> shared pointer, I get an exception thrown: <code>std::bad_weak_ptr</code></p>
  
  <p>I have tried storing an internal shared pointer in the base class, during construction, before ever calling <code>shared_from_this()</code>, but I get an even more ambiguous error.</p>
  
  <pre><code>template&lt;class DerivedT&gt;
  struct shared_handler : std::enable_shared_from_this&lt;DerivedT&gt;
  {
    void some_method(arbitrary input) {
      do_something(shared_from_this());
    }
  };
  
  struct my_handler : shared_handler&lt;my_handler&gt;
  {
    my_handler()
    {
      some_method("hello");
    }
  };
  </code></pre>