82 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			82 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
                                  _   _ ____  _
 | 
						|
                              ___| | | |  _ \| |
 | 
						|
                             / __| | | | |_) | |
 | 
						|
                            | (__| |_| |  _ <| |___
 | 
						|
                             \___|\___/|_| \_\_____|
 | 
						|
 | 
						|
BUGS
 | 
						|
 | 
						|
  Curl and libcurl have grown substantially since the beginning. At the time
 | 
						|
  of writing (July 2007), there are about 47000 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.
 | 
						|
 | 
						|
WHERE TO REPORT
 | 
						|
 | 
						|
  If you can't fix a bug yourself and submit a fix for it, try to report an as
 | 
						|
  detailed report as possible to a 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
 | 
						|
 | 
						|
  (but please read the sections below first before doing that)
 | 
						|
 | 
						|
  If you feel you need to ask around first, find a suitable mailing list and
 | 
						|
  post there. The lists are available on http://curl.haxx.se/mail/
 | 
						|
 | 
						|
WHAT TO REPORT
 | 
						|
 | 
						|
  When reporting a bug, you should include all information that will help us
 | 
						|
  understand what's wrong, what you expected to happen and how to repeat the
 | 
						|
  bad behavior. You therefore need to tell us:
 | 
						|
 | 
						|
   - 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)
 | 
						|
   - versions of the used libraries that libcurl is built to use
 | 
						|
   - what URL you were working with (if possible), at least which protocol
 | 
						|
 | 
						|
  and anything and everything else you think matters. Tell us what you
 | 
						|
  expected to happen, tell use what did happen, tell us how you could make it
 | 
						|
  work another way. Dig around, try out, test. Then include all the tiny bits
 | 
						|
  and pieces in your report. You will benefit from this yourself, as it will
 | 
						|
  enable us to help you quicker and more accurately.
 | 
						|
 | 
						|
  Since curl deals with networks, it often helps us if you include a protocol
 | 
						|
  debug dump with your bug report. The output you get by using the -v or
 | 
						|
  --trace options.
 | 
						|
 | 
						|
  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. Instead we ask you to get a stack
 | 
						|
  trace and send that (much smaller) output to us instead!
 | 
						|
 | 
						|
  The address and how to subscribe to the mailing lists are 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 cores.
 | 
						|
 | 
						|
  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.
 | 
						|
 |