10
1.1 There are still bugs
14
1.5 Who will fix the problems
15
1.6 How to get a stack trace
16
1.7 Bugs in libcurl bindings
18
==============================================================================
20
1.1 There are still bugs
9
22
Curl and libcurl have grown substantially since the beginning. At the time
10
of writing (July 2007), there are about 47000 lines of source code, and by
11
the time you read this it has probably grown even more.
23
of writing (September 2011), there are about 66000 lines of source code, and
24
by the time you read this it has probably grown even more.
13
26
Of course there are lots of bugs left. And lots of misfeatures.
15
28
To help us make curl the stable and solid product we want it to be, we need
16
29
bug reports and bug fixes.
20
33
If you can't fix a bug yourself and submit a fix for it, try to report an as
21
34
detailed report as possible to a curl mailing list to allow one of us to
22
have a go at a solution. You should also post your bug/problem at curl's bug
23
tracking system over at
35
have a go at a solution. You can optionally also post your bug/problem at
36
curl's bug tracking system over at
25
38
http://sourceforge.net/bugs/?group_id=976
29
42
If you feel you need to ask around first, find a suitable mailing list and
30
43
post there. The lists are available on http://curl.haxx.se/mail/
34
47
When reporting a bug, you should include all information that will help us
35
48
understand what's wrong, what you expected to happen and how to repeat the
36
49
bad behavior. You therefore need to tell us:
38
- your operating system's name and version number (uname -a under a unix
51
- your operating system's name and version number
40
53
- what version of curl you're using (curl -V is fine)
41
55
- versions of the used libraries that libcurl is built to use
42
57
- what URL you were working with (if possible), at least which protocol
44
59
and anything and everything else you think matters. Tell us what you
59
74
The address and how to subscribe to the mailing lists are detailed in the
62
HOW TO GET A STACK TRACE
79
First, post all libcurl problems on the curl-library mailing list.
81
When you've written your own application with libcurl to perform transfers,
82
it is even more important to be specific and detailed when reporting bugs.
84
Tell us the libcurl version and your operating system. Tell us the name and
85
version of all relevant sub-components like for example the SSL library
86
you're using and what name resolving your libcurl uses. If you use SFTP or
87
SCP, the libssh2 version is relevant etc.
89
Showing us a real source code example repeating your problem is the best way
90
to get our attention and it will greatly increase our chances to understand
91
your problem and to work on a fix (if we agree it truly is a problem).
93
Lots of problems that appear to be libcurl problems are actually just abuses
94
of the libcurl API or other malfunctions in your applications. It is adviced
95
that you run your problematic program using a memory debug tool like
96
valgrind or similar before you post memory-related or "crashing" problems to
99
1.5 Who will fix the problems
101
If the problems or bugs you describe are considered to be bugs, we want to
102
have the problems fixed.
104
There are no developers in the curl project that are paid to work on bugs.
105
All developers that take on reported bugs do this on a voluntary basis. We
106
do it out of an ambition to keep curl and libcurl excellent products and out
109
But please do not assume that you can just lump over something to us and it
110
will then magically be fixed after some given time. Most often we need
111
feedback and help to understand what you've experienced and how to repeat a
112
problem. Then we may only be able to assist YOU to debug the problem and to
113
track down the proper fix.
115
We get reports from many people every month and each report can take a
116
considerable amount of time to really go to the bottom with.
118
1.6 How to get a stack trace
64
120
First, you must make sure that you compile all sources with -g and that you
65
121
don't 'strip' the final executable. Try to avoid optimizing the code as
79
135
crashed. Include the stack trace with your detailed bug report. It'll help a
138
1.7 Bugs in libcurl bindings
140
There will of course pop up bugs in libcurl bindings. You should then
141
primarily approach the team that works on that particular binding and see
142
what you can do to help them fix the problem.
144
If you suspect that the problem exists in the underlying libcurl, then
145
please convert your program over to plain C and follow the steps outlined