$Id$
                                  _   _ ____  _     
                              ___| | | |  _ \| |    
                             / __| | | | |_) | |    
                            | (__| |_| |  _ <| |___ 
                             \___|\___/|_| \_\_____|

BUGS

  Curl and libcurl have grown substantially since the beginning. At the time
  of writing (mid March 2001), there are 23000 lines of source code, and by
  the time you read this it has probably grown even more.

  Of course there are lots of bugs left. And lots of misfeatures.

  To help us make curl the stable and solid product we want it to be, we need
  bug reports and bug fixes. If you can't fix a bug yourself and submit a fix
  for it, try to report an as detailed report as possible to the curl mailing
  list to allow one of us to have a go at a solution. You should also post
  your bug/problem at curl's bug tracking system over at

        http://sourceforge.net/bugs/?group_id=976

  When reporting a bug, you should include information that will help us
  understand what's wrong, what you expected to happen and how to repeat the
  bad behaviour. You therefore need to supply your operating system's name and
  version number (uname -a under a unix is fine), what version of curl you're
  using (curl -V is fine), what URL you were working with and anything else
  you think matters.

  If curl crashed, causing a core dump (in unix), there is hardly any use to
  send that huge file to anyone of us. Unless we have an exact same system
  setup as you, we can't do much with it. What we instead ask of you is to get
  a stack trace and send that (much smaller) output to us instead!

  The address and how to subscribe to the mailing list is detailed in the
  MANUAL file.

  How To Get A Stack Trace
  ========================

  First, you must make sure that you compile all sources with -g and that you
  don't 'strip' the final executable. Try to avoid optimizing the code as
  well, remove -O, -O2 etc from the compiler options.

  Run the program until it dumps core.

  Run your debugger on the core file, like '<debugger> curl core'. <debugger>
  should be replaced with the name of your debugger, in most cases that will
  be 'gdb', but 'dbx' and others also occur.

  When the debugger has finished loading the core file and presents you a
  prompt, enter 'where' (without the quotes) and press return.

  The list that is presented is the stack trace. If everything worked, it is
  supposed to contain the chain of functions that were called when curl
  crashed. Include the stack trace with your detailed bug report. It'll help a
  lot.

