blob: f999708c9ad8e70b3dde0cfe8de8405b5e8a0d32 [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 Rossumaf5b83e1995-01-04 19:02:35 +00006==> Status indicators: (-) not fixed; (*) fixed; (?) not sure.
Guido van Rossum5552eb71994-08-05 15:51:00 +00007
8======================================================================
Guido van Rossum0ddb0281995-01-17 16:46:14 +00009Known BUGS in 1.2 BETA 1, fixed in 1.2 BETA 2
10---------------------------------------------
Guido van Rossum76be6ed1995-01-02 18:33:54 +000011
Guido van Rossum0ddb0281995-01-17 16:46:14 +000012(*) list slice assignment contains reantrancy bug
13
14(*) range() and xrange() break on Alpha's
15
16(*) interactive use of vars() gives barrage of output due to recursive
17inclusion of '_'
18
19(*) configure.in contains bogus name to check for inet library
20
21Known BUGS in 1.1.1 and 1.2 BETA 1
22----------------------------------
23
24(*) a file with unmatched triple quotes causes a loop in the scanner
25
26(-) still a memory leak in threads; bigger when thread.exit_thread()
27is used
28
29Problems in 1.1.1 that are difficult to solve
30---------------------------------------------
Guido van Rossumaf5b83e1995-01-04 19:02:35 +000031
32(-) tkinter seems to leave an exception around sometime which breaks
33unmarshalling code objects [hard to reproduce, have added a trap to
Guido van Rossum79dddcb1995-01-12 12:25:42 +000034marshal.c to catch it]
Guido van Rossumaf5b83e1995-01-04 19:02:35 +000035
36(-) destroying all modules may destroy __builtin__ (or other modules)
37while destructors of other modules may still need it [hard to fix --
38could maintain a list of all modules in order of importation so we can
39destroy them in reverse order??? really hopeless -- would have to
40destroy objects in a module in reverse order too...]
41
42(-) [X]DECREF can cause the interpreter to be called recursively (for
43__del__ disciplines) -- so list and dict implementation calls doing
44DECREF can cause recursive calls to methods of the object being
45modified. Other files too. [Only partially fixed -- listobject.c is
46still suspect.]
47
Guido van Rossum8a30adc1995-01-09 17:54:07 +000048(-) doneimport() should be called *before* the Py_AtExit code is
49called [problem: what if other threads are still active?]
Guido van Rossumaf5b83e1995-01-04 19:02:35 +000050
Guido van Rossum79dddcb1995-01-12 12:25:42 +000051Known portability problems
52--------------------------
Guido van Rossumaf5b83e1995-01-04 19:02:35 +000053
Guido van Rossum79dddcb1995-01-12 12:25:42 +000054(-) tkinter doesn't seem to see any declaration of malloc on sunos
554.1.3?
Guido van Rossumaf5b83e1995-01-04 19:02:35 +000056
Guido van Rossum76be6ed1995-01-02 18:33:54 +000057(-) arraymodule doesn't compile under Ultrix (FPROTO macro)
58
59(-) Linux uses GNU getopt by default which is broken
60
61(-) makesetup assumes CCC is the C++ compiler -- not portable
62
63(-) "make depend" assumes mkdep exists -- not portable
64
Guido van Rossum76be6ed1995-01-02 18:33:54 +000065(-) regen calls h2py which isn't defined by default
66
Guido van Rossum79dddcb1995-01-12 12:25:42 +000067(-) make sharedinstall references to machdep directory but doesn't
68create it
Guido van Rossum76be6ed1995-01-02 18:33:54 +000069
Guido van Rossum76be6ed1995-01-02 18:33:54 +000070(-) HP doesn't compile out of the box (needs LIBS=-ldld or
Guido van Rossum8a30adc1995-01-09 17:54:07 +000071LIBS=/usr/lib/libdld.sl) [hard to test without a HP machine handy]
Guido van Rossum76be6ed1995-01-02 18:33:54 +000072
Guido van Rossum76be6ed1995-01-02 18:33:54 +000073======================================================================
74BUGS present in 1.1.1 and fixed in 1.2
75--------------------------------------
76
Guido van Rossum79dddcb1995-01-12 12:25:42 +000077(*) if __getattr__ or __repr__ prints something, calling repr(x) from
78cmd line forgets a newline
79
80(*) C-level coerce() doesn't call __coerce__ when it should (and
81similar for __cmp__)
82
Guido van Rossum8a30adc1995-01-09 17:54:07 +000083(*) struct module aligns doubles wrongly when compiled with -DDEBUG on
84sparc
85
Guido van Rossumaf5b83e1995-01-04 19:02:35 +000086(*) memory leak (namebuf) in initmodule2
87
88(*) hash() of float values returns bogus values
89
90(*) pow(int, int, long) does wrong series of DECREF() calls.
91
92(*) flushline() may clear the exception condition so shouldn't be
93called before print_error()
94
95(*) Everything else that uses err_get() should use err_fetch()
96
97(*) sockets aren't thread safe (address of static struct returned,
98some calls aren't thread safe)
99
100(*) threadmodule.c leaks LOTS of memory at thread exit
101
102(*) shared install in Modules still doesn't work for empty list
103
Guido van Rossum76be6ed1995-01-02 18:33:54 +0000104(*) threadmodule.c leaks 'res' in t_bootstrap
105
106(*) errors.c shouldn't declare strerror() on NT
107
108(*) DECREF can cause the interpreter to be called recursively (for
109__del__ disciplines) -- so list and dict implementation calls doing
110DECREF can cause recursive calls to methods of the object being
111modified. Other files too. (Only partially fixed.)
112
113(*) tkinter dereferences NULL if timer callback raises an exception
114
115(*) must link with -lieee for linux
116
117(*) if a timer handler routine raises an exception, the interpreter
118dereferences NULL
119
120(*) __getattr__ doesn't clear error
121
122(*) '%s' % a, where a is a class instance, fails
123
124(*) "make test" won't find freshly built dynamically loaded modules --
125should add ./Modules to TESTPATH
126
127(*) lshift calls __rshift__ instead of __rlshift__
128
129(*) memory leak in creation of sys.builtin_module_names
130
131(*) Bugs in instance_dealloc(): (a) memory leak for exception
132type+value; (2) should save+restore traceback as well
133
134(*) modsupport.c(vmkvalue): on systems where va_list is an array, the
135calls to do_mkvalue and do_mktuple don't want an "&" before va.
136
137======================================================================
Guido van Rossum9444ce01994-10-20 22:10:23 +0000138BUGS found in 1.1 and fixed in 1.1.1
139------------------------------------
140
Guido van Rossum5dee5e71994-11-10 23:06:54 +0000141(*) printing name of lambda in traceback dereferences NULL
142
143(*) A built-in function using getargs() and expecting >= 1 argument
144may dump core when called without arguments
145
146(*) newgetargs() dumps core in compat mode when NULL is passed in but
147max is >0
148
Guido van Rossum9444ce01994-10-20 22:10:23 +0000149(*) pow() should be declared varargs since it uses newgetargs
150
Guido van Rossum5dee5e71994-11-10 23:06:54 +0000151(*) newmodule.c doesn't compile on SunOS 4.1.3 due to non-K&R backslashes
152
153(*) some typos in tut.tex
154
155(*) test for broken static forward is not strong enough
156
157(*) Doc/Makefile assumes . is in $PATH in call to whichlibs
158
159(*) math module misses hypot() function
160
161(*) structmember.h should include stddef.h (for offsetof macro)
162
163(*) gdbmmodule.c frees the wrong structures
164
165(*) makesetup script misses some dollars and backslashes
166
167(*) getargs.obj missing from NT makefile
168
169(*) sorting class instances broken if no __cmp__ defined
170
Guido van Rossum5dee5e71994-11-10 23:06:54 +0000171======================================================================
Guido van Rossum9444ce01994-10-20 22:10:23 +0000172BUGS found in 1.0.3 and fixed in 1.1
173------------------------------------
174
Guido van Rossum76be6ed1995-01-02 18:33:54 +0000175(*) 2 specific leaks: 1 PYTHONPATH; 2 reading code from .pyc
176
Guido van Rossum9444ce01994-10-20 22:10:23 +0000177(*) If class C doesn't define __cmp__, cmp(a,b) will return -2 and
178[a,b].sort() will fail
179
Guido van Rossum2b11c611994-10-06 16:36:15 +0000180(*) Syntax errors are reported in a silly way if multi-line tokens are
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000181involved.
182
Guido van Rossum2b11c611994-10-06 16:36:15 +0000183(*) SyntaxError exception for compile('...') are reported wrongly
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000184(lineno is always zero and offset is offset into the whole string).
185
Guido van Rossum2b11c611994-10-06 16:36:15 +0000186(*) freeze script needs major rewrite to cope with multiple extensions
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000187(Jack seems to have fixed it now -- where is it?)
188
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000189(*) unwanted entries in stack trace if err_clear() clears an error
190that also set a stack trace
191
192(*) i, x[i] = a, b assigns b to x[a] rather than to x[i] as expected
193(documented with a warning in ref6.tex!)
194
195(*) etags no longer supports -t flag
196
197(*) compile.c:com_argdefs() references unalloc'ed memory for def
198f(a=1,): ...
199
200(*) If you have a python binary in your path like
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000201/ufs/guido/bin/sgi/python then the default prefix option computed by
202the configure script is bogus!
203
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000204(*) Make rule for making lib*.a should remove the lib*.a file first.
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000205
Guido van Rossum5552eb71994-08-05 15:51:00 +0000206(*) vars() error message is wrong (copied from dir() obviously).
207
208(*) socket.gethostname() is undocumented.
209
210(*) rfc822.py: getfirst* dies when multiple headers occur
211
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000212(*) urllib caching is wrong (should use date from Expires header)
Guido van Rossum5552eb71994-08-05 15:51:00 +0000213
214(*) On a related matter: regexpr.c still has two malloc()s the results
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000215of which are not tested for being NULL (lines 1253 and 1530). There
216are also some in rgbimagemodule.c. Am I overlooking something or is
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000217this a crasher?
Guido van Rossum5552eb71994-08-05 15:51:00 +0000218
219(*) strop.rindex('abc', '') returns 0 instead of 3
220
221(*) sunaudiodevmodule.o is too long!
222
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000223(*) toplevel README needs new text on PC and Mac builds
Guido van Rossum5552eb71994-08-05 15:51:00 +0000224
225(*) long(0x80000000) has wrong value!
226
227======================================================================
228Bugs found in 1.0.2 and not yet fixed
229-------------------------------------
230
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000231(?) compiler warnings about argument type of uname() on ULTRIX
232machines (don't know what to do about it)
Guido van Rossum5552eb71994-08-05 15:51:00 +0000233
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000234(?) syntax error for interactive input prints garbage instead of last
235source line on some systems (e.g. AIX) (impossible to test/reproduce)
236!!! I think I've found this one -- a missing INCREF in print_error!
Guido van Rossum5552eb71994-08-05 15:51:00 +0000237
238(?) (maybe) a bad .pyc file (with old magic number) causes the .py
239file to be ignored
240
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000241(?) Sunos4.0.2 / 386 configure bugs:
Guido van Rossum5552eb71994-08-05 15:51:00 +0000242 - timelocal instead of mktime
243 - unistd.h doesn't declare some functions
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000244(don't know what to do about this)
Guido van Rossum5552eb71994-08-05 15:51:00 +0000245
246Bugs found in 1.0.2 and fixed in 1.0.3
247--------------------------------------
248
249(*) nasty bug in string formatting (see test_types.py, search for %)
250
251(*) if a triple-quoted string ends in a quote followed by a newline
252(followed immediately by the terminating 3 quotes) then a syntax error
253or system error ensues
254
255(*) bug in socket.listen: clipping backlog to >= 1 doesn't work
256
257(*) two bogus XDEL's in Modules/regexmodule.reg_dealloc()
258
259(*) Parser/myreadline.my_fgets: #endif EINTR misplaced
260
261(*) new IP address for ftp.cwi.nl !!!
262
263(*) typing vars() to interactive prompt runs into infinite loop
264because of '_'
265
266(*) tokenizer/tok_nextc() runs into infinite loop when file does not
267end in linefeed
268
269(*) Sunos4.0.2 / 386 configure bugs:
270(*) - use size_t at some places without including sys/types.h
271(*) - missing clock_t
272(*) - uses SEEK_SET in some places that don't include unistd.h
273
274======================================================================
275Bugs found in 1.0.1 and not yet fixed
276-------------------------------------
277
Guido van Rossum5552eb71994-08-05 15:51:00 +0000278(?) threads are slow on Solaris 2
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000279(so what?)
Guido van Rossum5552eb71994-08-05 15:51:00 +0000280
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000281(*) threads cause myreadline.c's readline() to think it sees an EOF.
282(I *think* I've fixed this, by testing for EINTR)
Guido van Rossum5552eb71994-08-05 15:51:00 +0000283
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000284(?) min() on PC version generates wrong result (i.e. same as max())
Guido van Rossum5552eb71994-08-05 15:51:00 +0000285 [this happens on SoftPC -- don't know about other systems]
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000286(can't find the reason -- may be SoftPC bug)
Guido van Rossum5552eb71994-08-05 15:51:00 +0000287
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000288(*) flp.py cache bug: if the cache only contains one form, asking for
289all forms returns only the cached form
Guido van Rossum5552eb71994-08-05 15:51:00 +0000290
291Bugs found in 1.0.1 and fixed in 1.0.2
292--------------------------------------
293
294(*) core dump when parser.parsefile() called
295
296(*) man page contains a mess before -d option
297
298(*) threads don't work on IRIX 4
299
300(*) wrong cast of svideo_getattr in svmodule.c
301
302(*) bad return value in runpython.c's run_tty_1()
303
304(*) creating dict of 100,000 objects gets MemoryError or dumps core
305
306(*) freeze script doesn't work
307
308======================================================================
309BUGS found in 1.0.0 and not yet fixed
310-------------------------------------
311
312(?) On NeXT, need to define _POSIX_SOURCE.
313
314(?) there appears to be something wrong with gcc and -ldl on some
315SunOS 4.1.3 systems
316
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000317(?) jredfords reports core dump with float literals
Guido van Rossum5552eb71994-08-05 15:51:00 +0000318
319BUGS found in 1.0.0 and fixed in 1.0.1
320--------------------------------------
321
322(*) On SGI IRIX 4 using cc, compilation errors in md5module.c.
323
324(*) In cdmodule.c, getattr initialized with (destructor)!
325
326(*) Lib/tzparse.py runs test() on import
327
328(*) Lib/filewin.py belongs in Lib/stdwin
329
330(*) lib and man install targets don't use $(srcdir)
331
332(*) Modules/rgbimgmodule.c: exception name contains comma instead of dot
333
334(*) The FAQ still references misc/EXTENDING and misc/DYNLOAD etc
335
336(*) The FAQ still describes how to work around a problem in 0.9.9 exec()
337
338(*) Lib/aifc.py, returns float rate, should be int
339
340(*) Lib/sunau.py, incorrectly cumputes byte count from frame rate
341
342(*) README should mention possibility of passing OPT=-g to make
343
344(*) dynamic loading on sunos 4.1.3 must call dlopen(..., 1)
345
346(*) use of <varargs.h> vs. <stdarg.h> should depend on
347 HAVE_STDARG_PROTOTYPES, not on HAVE_STDARG_H
348
349(*) Doc/README refers to Misc/FTP which in fact does not exist any more
350
351(*) filter(None, 'abcdefg') dumps core
352
353(*) once you interrupt time.sleep(), there is no interrupt handler!
354
355======================================================================
356end of file