blob: d24517dbc61987b0d24b2b00ece4610f3ba767b9 [file] [log] [blame]
Guido van Rossum5552eb71994-08-05 15:51:00 +00001Sorry, this list does not claim completeness. If I fixed a bug
2immediately upon receiving the first complaint I usually did not
Guido van Rossumc561e5d1994-08-23 13:52:46 +00003nother to make an entry in this file, unless it was a serious bug
Guido van Rossum5552eb71994-08-05 15:51:00 +00004(core dump or infinite loop).
5
Guido van Rossumc561e5d1994-08-23 13:52:46 +00006==> Status indicators: (-) not fixed; (*) fixed; (?) don't know what to do.
Guido van Rossum5552eb71994-08-05 15:51:00 +00007
8======================================================================
Guido van Rossum76be6ed1995-01-02 18:33:54 +00009Known BUGS in 1.1.1 and 1.2
10---------------------------
11
12(-) arraymodule doesn't compile under Ultrix (FPROTO macro)
13
14(-) Linux uses GNU getopt by default which is broken
15
16(-) makesetup assumes CCC is the C++ compiler -- not portable
17
18(-) "make depend" assumes mkdep exists -- not portable
19
20(-) threadmodule.c leaks LOTS of memory at thread exit
21
22(-) tkinter seems to leave an exception around sometime which breaks
23unmarshalling code objects
24
25(-) memory leak (namebuf) in initmodule2
26
27(-) regen calls h2py which isn't defined by default
28
29(-) shared install in Modules still doesn't work for empty list
30
31(-) make libinstall (or similar) references to machdep directory but
32doesn't create it
33
34(-) destroying all modules may destroy __builtin__ while destructors
35of other modules may still need it
36
37(-) hash() of float values returns suspect values
38
39(-) sockets aren't thread safe (address of static struct returned,
40some calls aren't thread safe)
41
42(-) Everything else that uses err_get() should probably use err_get_tb()
43
44(-) struct module aligns doubles wrongly when compiled with -DDEBUG on sparc
45
46(-) pow(int, int, long) (etc.) dumps core on Linux (and other Intel machines?)
47
48(-) C-level coerce() doesn't call __coerce__ when it should (and
49similar for __cmp__)
50
51(-) DECREF can cause the interpreter to be called recursively (for
52__del__ disciplines) -- so list and dict implementation calls doing
53DECREF can cause recursive calls to methods of the object being
54modified. Other files too. (Only partially fixed.)
55
56(-) HP doesn't compile out of the box (needs LIBS=-ldld or
57LIBS=/usr/lib/libdld.sl)
58
59(-) something fishy with softspace and print_error (flushline clears
60the error)
61
62(-) tkinter doesn't seem to see any declaration of malloc on sunos 4.1.3
63
64======================================================================
65BUGS present in 1.1.1 and fixed in 1.2
66--------------------------------------
67
68(*) threadmodule.c leaks 'res' in t_bootstrap
69
70(*) errors.c shouldn't declare strerror() on NT
71
72(*) DECREF can cause the interpreter to be called recursively (for
73__del__ disciplines) -- so list and dict implementation calls doing
74DECREF can cause recursive calls to methods of the object being
75modified. Other files too. (Only partially fixed.)
76
77(*) tkinter dereferences NULL if timer callback raises an exception
78
79(*) must link with -lieee for linux
80
81(*) if a timer handler routine raises an exception, the interpreter
82dereferences NULL
83
84(*) __getattr__ doesn't clear error
85
86(*) '%s' % a, where a is a class instance, fails
87
88(*) "make test" won't find freshly built dynamically loaded modules --
89should add ./Modules to TESTPATH
90
91(*) lshift calls __rshift__ instead of __rlshift__
92
93(*) memory leak in creation of sys.builtin_module_names
94
95(*) Bugs in instance_dealloc(): (a) memory leak for exception
96type+value; (2) should save+restore traceback as well
97
98(*) modsupport.c(vmkvalue): on systems where va_list is an array, the
99calls to do_mkvalue and do_mktuple don't want an "&" before va.
100
101======================================================================
Guido van Rossum9444ce01994-10-20 22:10:23 +0000102BUGS found in 1.1 and fixed in 1.1.1
103------------------------------------
104
Guido van Rossum5dee5e71994-11-10 23:06:54 +0000105(*) printing name of lambda in traceback dereferences NULL
106
107(*) A built-in function using getargs() and expecting >= 1 argument
108may dump core when called without arguments
109
110(*) newgetargs() dumps core in compat mode when NULL is passed in but
111max is >0
112
Guido van Rossum9444ce01994-10-20 22:10:23 +0000113(*) pow() should be declared varargs since it uses newgetargs
114
Guido van Rossum5dee5e71994-11-10 23:06:54 +0000115(*) newmodule.c doesn't compile on SunOS 4.1.3 due to non-K&R backslashes
116
117(*) some typos in tut.tex
118
119(*) test for broken static forward is not strong enough
120
121(*) Doc/Makefile assumes . is in $PATH in call to whichlibs
122
123(*) math module misses hypot() function
124
125(*) structmember.h should include stddef.h (for offsetof macro)
126
127(*) gdbmmodule.c frees the wrong structures
128
129(*) makesetup script misses some dollars and backslashes
130
131(*) getargs.obj missing from NT makefile
132
133(*) sorting class instances broken if no __cmp__ defined
134
Guido van Rossum5dee5e71994-11-10 23:06:54 +0000135======================================================================
Guido van Rossum9444ce01994-10-20 22:10:23 +0000136BUGS found in 1.0.3 and fixed in 1.1
137------------------------------------
138
Guido van Rossum76be6ed1995-01-02 18:33:54 +0000139(*) 2 specific leaks: 1 PYTHONPATH; 2 reading code from .pyc
140
Guido van Rossum9444ce01994-10-20 22:10:23 +0000141(*) If class C doesn't define __cmp__, cmp(a,b) will return -2 and
142[a,b].sort() will fail
143
Guido van Rossum2b11c611994-10-06 16:36:15 +0000144(*) Syntax errors are reported in a silly way if multi-line tokens are
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000145involved.
146
Guido van Rossum2b11c611994-10-06 16:36:15 +0000147(*) SyntaxError exception for compile('...') are reported wrongly
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000148(lineno is always zero and offset is offset into the whole string).
149
Guido van Rossum2b11c611994-10-06 16:36:15 +0000150(*) freeze script needs major rewrite to cope with multiple extensions
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000151(Jack seems to have fixed it now -- where is it?)
152
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000153(*) unwanted entries in stack trace if err_clear() clears an error
154that also set a stack trace
155
156(*) i, x[i] = a, b assigns b to x[a] rather than to x[i] as expected
157(documented with a warning in ref6.tex!)
158
159(*) etags no longer supports -t flag
160
161(*) compile.c:com_argdefs() references unalloc'ed memory for def
162f(a=1,): ...
163
164(*) If you have a python binary in your path like
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000165/ufs/guido/bin/sgi/python then the default prefix option computed by
166the configure script is bogus!
167
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000168(*) Make rule for making lib*.a should remove the lib*.a file first.
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000169
Guido van Rossum5552eb71994-08-05 15:51:00 +0000170(*) vars() error message is wrong (copied from dir() obviously).
171
172(*) socket.gethostname() is undocumented.
173
174(*) rfc822.py: getfirst* dies when multiple headers occur
175
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000176(*) urllib caching is wrong (should use date from Expires header)
Guido van Rossum5552eb71994-08-05 15:51:00 +0000177
178(*) On a related matter: regexpr.c still has two malloc()s the results
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000179of which are not tested for being NULL (lines 1253 and 1530). There
180are also some in rgbimagemodule.c. Am I overlooking something or is
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000181this a crasher?
Guido van Rossum5552eb71994-08-05 15:51:00 +0000182
183(*) strop.rindex('abc', '') returns 0 instead of 3
184
185(*) sunaudiodevmodule.o is too long!
186
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000187(*) toplevel README needs new text on PC and Mac builds
Guido van Rossum5552eb71994-08-05 15:51:00 +0000188
189(*) long(0x80000000) has wrong value!
190
191======================================================================
192Bugs found in 1.0.2 and not yet fixed
193-------------------------------------
194
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000195(?) compiler warnings about argument type of uname() on ULTRIX
196machines (don't know what to do about it)
Guido van Rossum5552eb71994-08-05 15:51:00 +0000197
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000198(?) syntax error for interactive input prints garbage instead of last
199source line on some systems (e.g. AIX) (impossible to test/reproduce)
200!!! I think I've found this one -- a missing INCREF in print_error!
Guido van Rossum5552eb71994-08-05 15:51:00 +0000201
202(?) (maybe) a bad .pyc file (with old magic number) causes the .py
203file to be ignored
204
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000205(?) Sunos4.0.2 / 386 configure bugs:
Guido van Rossum5552eb71994-08-05 15:51:00 +0000206 - timelocal instead of mktime
207 - unistd.h doesn't declare some functions
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000208(don't know what to do about this)
Guido van Rossum5552eb71994-08-05 15:51:00 +0000209
210Bugs found in 1.0.2 and fixed in 1.0.3
211--------------------------------------
212
213(*) nasty bug in string formatting (see test_types.py, search for %)
214
215(*) if a triple-quoted string ends in a quote followed by a newline
216(followed immediately by the terminating 3 quotes) then a syntax error
217or system error ensues
218
219(*) bug in socket.listen: clipping backlog to >= 1 doesn't work
220
221(*) two bogus XDEL's in Modules/regexmodule.reg_dealloc()
222
223(*) Parser/myreadline.my_fgets: #endif EINTR misplaced
224
225(*) new IP address for ftp.cwi.nl !!!
226
227(*) typing vars() to interactive prompt runs into infinite loop
228because of '_'
229
230(*) tokenizer/tok_nextc() runs into infinite loop when file does not
231end in linefeed
232
233(*) Sunos4.0.2 / 386 configure bugs:
234(*) - use size_t at some places without including sys/types.h
235(*) - missing clock_t
236(*) - uses SEEK_SET in some places that don't include unistd.h
237
238======================================================================
239Bugs found in 1.0.1 and not yet fixed
240-------------------------------------
241
Guido van Rossum5552eb71994-08-05 15:51:00 +0000242(?) threads are slow on Solaris 2
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000243(so what?)
Guido van Rossum5552eb71994-08-05 15:51:00 +0000244
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000245(*) threads cause myreadline.c's readline() to think it sees an EOF.
246(I *think* I've fixed this, by testing for EINTR)
Guido van Rossum5552eb71994-08-05 15:51:00 +0000247
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000248(?) min() on PC version generates wrong result (i.e. same as max())
Guido van Rossum5552eb71994-08-05 15:51:00 +0000249 [this happens on SoftPC -- don't know about other systems]
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000250(can't find the reason -- may be SoftPC bug)
Guido van Rossum5552eb71994-08-05 15:51:00 +0000251
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000252(*) flp.py cache bug: if the cache only contains one form, asking for
253all forms returns only the cached form
Guido van Rossum5552eb71994-08-05 15:51:00 +0000254
255Bugs found in 1.0.1 and fixed in 1.0.2
256--------------------------------------
257
258(*) core dump when parser.parsefile() called
259
260(*) man page contains a mess before -d option
261
262(*) threads don't work on IRIX 4
263
264(*) wrong cast of svideo_getattr in svmodule.c
265
266(*) bad return value in runpython.c's run_tty_1()
267
268(*) creating dict of 100,000 objects gets MemoryError or dumps core
269
270(*) freeze script doesn't work
271
272======================================================================
273BUGS found in 1.0.0 and not yet fixed
274-------------------------------------
275
276(?) On NeXT, need to define _POSIX_SOURCE.
277
278(?) there appears to be something wrong with gcc and -ldl on some
279SunOS 4.1.3 systems
280
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000281(?) jredfords reports core dump with float literals
Guido van Rossum5552eb71994-08-05 15:51:00 +0000282
283BUGS found in 1.0.0 and fixed in 1.0.1
284--------------------------------------
285
286(*) On SGI IRIX 4 using cc, compilation errors in md5module.c.
287
288(*) In cdmodule.c, getattr initialized with (destructor)!
289
290(*) Lib/tzparse.py runs test() on import
291
292(*) Lib/filewin.py belongs in Lib/stdwin
293
294(*) lib and man install targets don't use $(srcdir)
295
296(*) Modules/rgbimgmodule.c: exception name contains comma instead of dot
297
298(*) The FAQ still references misc/EXTENDING and misc/DYNLOAD etc
299
300(*) The FAQ still describes how to work around a problem in 0.9.9 exec()
301
302(*) Lib/aifc.py, returns float rate, should be int
303
304(*) Lib/sunau.py, incorrectly cumputes byte count from frame rate
305
306(*) README should mention possibility of passing OPT=-g to make
307
308(*) dynamic loading on sunos 4.1.3 must call dlopen(..., 1)
309
310(*) use of <varargs.h> vs. <stdarg.h> should depend on
311 HAVE_STDARG_PROTOTYPES, not on HAVE_STDARG_H
312
313(*) Doc/README refers to Misc/FTP which in fact does not exist any more
314
315(*) filter(None, 'abcdefg') dumps core
316
317(*) once you interrupt time.sleep(), there is no interrupt handler!
318
319======================================================================
320end of file