title: What could cause a dynamic_cast to crash?
body: <p>I have a piece of code looking like this : </p>
  
  <pre><code>TAxis *axis = 0;
  if (dynamic_cast&lt;MonitorObjectH1C*&gt;(obj))
     axis = (dynamic_cast&lt;MonitorObjectH1C*&gt;(obj))-&gt;GetXaxis();
  </code></pre>
  
  <p>Sometimes it crashes : </p>
  
  <pre><code>Thread 1 (Thread -1208658240 (LWP 11400)):
  #0  0x0019e7a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
  #1  0x048c67fb in __waitpid_nocancel () from /lib/tls/libc.so.6
  #2  0x04870649 in do_system () from /lib/tls/libc.so.6
  #3  0x048709c1 in system () from /lib/tls/libc.so.6
  #4  0x001848bd in system () from /lib/tls/libpthread.so.0
  #5  0x0117a5bb in TUnixSystem::Exec () from /opt/root/lib/libCore.so.5.21
  #6  0x01180045 in TUnixSystem::StackTrace () from /opt/root/lib/libCore.so.5.21
  #7  0x0117cc8a in TUnixSystem::DispatchSignals ()
     from /opt/root/lib/libCore.so.5.21
  #8  0x0117cd18 in SigHandler () from /opt/root/lib/libCore.so.5.21
  #9  0x0117bf5d in sighandler () from /opt/root/lib/libCore.so.5.21
  #10 &lt;signal handler called&gt;
  #11 0x0533ddf4 in __dynamic_cast () from /usr/lib/libstdc++.so.6
  </code></pre>
  
  <p>I have no clue why it crashes. <em>obj</em> is not null (and if it was it would not be a problem, would it ?). </p>
  
  <p>What could be the reason for a dynamic cast to crash ? </p>
  
  <p>If it can't cast, it should just return NULL no ?</p>