Release Notes
This page lists major bug fixes in chronological order; only severe
errors are listed here - non severe bugs and inconveniences (which are in
the queue, but not yet fixed/released) are found in the
"bug list".
For each fix, the affected file and (new) revision number is listed.
Your system should have fixed the corresponding bug, iff the corresponding
files/classes revision number is higher or the same as the numbers listed below.
You can extract the revision numbers from your ST/X
executable with the UNIX command: "ident stx".
Class revision numbers are also displayed by the "modules"
view, which can be opened via the launchers "file" menu.
If you want to send a bug report, always extract the revision(s)
of the corresponding part - this helps us in tracking/fixing bugs.
- [jan-2003] [ProcessorScheduler] fixed race when freeing VM's process structure (leak)
- [jan-2003] [librun] fixed malloc-bug when shrinking lifoRemSet (crash)
- [jan-2003] [librun] bug in nil-block optimization fixed
- [nov-2002] [Parser] WorkspaceVariables are only autoDeclared if they appear on
the left side of an assignment.
- [nov-2002] [VM] wrong code with more than 256 literals (on some machines).
- [sep-2002] [libbasic] oops - "String new:-1" crashed ST/X (on some systems)
- [sep-2002] [stc] code generator bug with private classes named Method or Block
- [sep-2002] [Class] fileOut did not include initialize expression for private classes
- [jul-2002] [stc, Scanner] handle 3-character binops; allow for ! and # as binop.
- [jul-2002] [libview] fixed automatic graphic queue flush (draw from non-GUI process)
- [jul-2002] [libview] fixed automatic finish of event dispatcher process (when last view closes)
- [jul-2002] [libbasic] fixed i/o stream shuffling in OS command execution
- [apr-2002] [stx] symbol strings are now in the shared librun; the stx executable
itself is now very small.
- [apr-2002] [liboracle] many bug fixes in the oracle interface
- [apr-2002] [stc] code generator bug with trivial or:
- [oct-2001] [VM] 2-pass compressing garbage collect fixed.
- [sep-2001] [Class] changeFile entry for private subclasses within a nameSpace was wrong (did not prefix namespace)
- [sep-2001] [stc] did not scan empty symbol constants
- [sep-2001] [stc] scanned string constants with embedded #'' wrong
- [jun-2001] [VM] code generator bug with RISC machines and method-arg access from within a cheap block
- [jun-2001] [stc] code generator bug with array>>at:put: (only if array was previously assigned from a constant)
- [feb-2001] [stc] did not correctly compile private subclasses of nil (no instVars were allowed)
- [dec-2000] [VM] subclasses of Block where sometimes handled as non-blocks (w.r.t. their home context)
- [sep-2000] [libbasic/ExternalStream] malloc/free non-reentrancy bug workaround (in fopen/fclose)
- [sep-2000] [stc] code generator bug with +optSpace3 option; ignored UNLIMITEDSTACK pragma (sparc only)
- [sep-2000] [stc] code generator now generates a context with UNLIMITEDSTACK pragma
- [sep-2000] [VM] JIT bug with inlined min:/max: and literal-SmallInt receiver (some CPU-architectures only)
- [aug-2000] [VM] bug in 2-pass compressor
- [aug-2000] [VM] JIT bailOut bug with inlined not
- [aug-2000] [MenuPanel] flush cached font geometry when starting an image on a different display
- [aug-2000] [Display] image startup on different depth display clobbered colors
- [jul-2000] [VM] JIT bug with inlined ifTrue:ifFalse: and non-block (value) args fixed
- [jul-2000] [MenuPanel & friends] better (fixed) shortCutKey and MnemonicKey handling
- [jun-2000] [VariablePanel] snap handle option
- [20-feb-2000] [View hierarchy] fixed tabbing and focus handling
- [feb-2000] [GenericException] missing method #raiseRequestWith:in: added
- [feb-2000] [SubCanvas] release vs. releaseAsSubCanvase
- [18-feb-2000] [Smalltalk] fixed renaming of a nameSpace class into another namespace
- [10-feb-2000] [VM] cache flush bug with SmallInt/UndefObject polymorph messages
- [1-sep-1999] [stc] fixed various bugs related to include-file finding with
private classes within a namespace.
- [1-sep-1999] [stc] stc can now compile class-less (methods only-) files.
This allows for addOns to be compiled into a shared class library.
- [1-sep-1999] [stc] fixed the lexer, which crashed with very long lines.
(workaround a lex bug).
- [1-sep-1999] [stmkmp] fixed the script to generate a usable Make.proto.
- [1-jul-1999] [Class, Autoload] Superclass autoload failed for private classes
When filing in a private class, which was derived from an autoloaded class,
the superclass was not loaded automatically.
- [20-jun-1999] [WeakArray] occasional bad access to weakArray
Reads could return an already collected object; writes could sometimes
lead to a missing registration within the VM.
Both errors could lead to bad object references in certain situations.
- [16-apr-1999] [TerminalView] restart shell when restarted
The original shell command is now restarted when an image is restarted
from a snapshot image with an open terminalView.
- [12-apr-1999] [mcompiler.c/send.c] JIT bug with Sun Ultra
Fixed the icache flush code - this was responsible for the JITC to fail on
ultra sparcs.
- [12-apr-1999] [new.c] IGC failure when interrupted by reclaimSymbols
The IGC left over some unmarked objects, when interrupted by reclaimSymbols.
- [30-jul-1998] [send.c 1.937, interpret.c 1.148, lookup.c 1.67] private methods not understood
Due to a change done in Jan97 (!), the privacy mechanism failed to work
in some situations (no one seems to use this mechanism, since we did not get
an error report !).
- [6-jul-1998] [mcompiler.c 1.937] bad code generated
JIT compiler: fixed & and | for non-boolean receivers.
JIT compiler: code for increment-var generated a subtract for non-integers
- [6-jun-1998] [GLXView] image restart
Fixed image restart bug with open animated GL-views.
- [6-jun-1998] [smalltalk.rc] source access if GNU-st is installed
Remove system library from sourcePath, if a gnu-smalltalk
distribution is found there (to avoid autoloading the wrong classes)
- [25-feb-1998] [libwidg2/MenuPanel.st 1.77]
Short-clicked menu did not stay open.
- [25-feb-1998] [stc/codeexpr.st 1.144]
inlined code now checks for singleStepInterrupt pending.
This allows for things like #at:/#at:put: to be single stepped - even if
the code is inlined.
- [25-feb-1998] [libbasic/Object.st 1.223]
#perform: family of methods did not care for pending singleStepInterrupts.
This prevented the debugger from single stepping into #perform: methods.
- [25-feb-1998] [librun/mcompiler.c 1.790] bad code generated
fix: bug in delaySlot optimizer - globbered register sometimes (sparc only)
- [20-feb-1998] [librun/mcompiler.c 1.785] bad code generated
fix: bad register reuse in JIT compiler (in special/rare situations)
fix: bad temp-slot use for value of conditional (in special situations)
- [2-feb-1998] [libbasic/Metaclass.st 1.122]
fix: lost class methods if classInstVars changed
fix: class instvar changes clobbered class methods of subclasses.
- [1-feb-1998] [Slider.st 1.22]
fix: care for range & step
- [25-oct-1997] [libbasic/Integer.st]
fix: \\, // and gcd: returned a wrong result for certain largeInteger receivers,
due to a bug in gcd:. This also affected certain fractions with largeInteger numerator.
- [14-aug-1997] [libbasic/String.st 1.95]
fix: some search methods (index*) failed with national characters (high bit set).
Must use unsigned character compares.
- [9-aug-1997] [stc/scan.l 1.75]
fix: fixed the HTML-View from image restart problem (image fetcher thread not
restarted)
- [7-aug-1997] [stc/scan.l 1.75]
fix: float constants with exponent and decimal point scanned wrong
- [5-aug-1997] [libview/WSensor.st 1.106, libview/WGroup.st 1.118]
fix: expose event sometimes lost after remap of a view
- [24-jul-1997] [libbasic/Fraction.st 1.37, librun/float.c 1.37]
fix: fractions with negative denominator could be generated
- [24-jul-1997] [libcomp/ObjFLoader.st 1.144]
path of executable with dynamic loading under linux-a.out
dynamic object loading under linux-a.out did not work,
if the stx executable was not found in the current directory.
- [24-jul-1997] [libview2/GIFReader.st 1.55]
maskPixel handling fixed
images with mask did not always work
- [2-jul-1997] [libview/WSensor.st 1.104, libview/WGroup.st 1.116, libview/DSurface.st 1.30]
no-deviceID error (debugger) with destroy arriving while waiting for
a scroll-expose event to arrive.
- [1-jul-1997] [libbasic/CharacterArray.st 1.123] [HP only]
some hp fonts use non-iso8859-1 encoding. National characters were not
displayed correctly sometimes.
Translation tables were added for hp-to-iso8859 character translation.
Notice, that not all iso8859-1 characters are available in those fonts.
- [25-jun-1997] [libview/WSensor.st 1.103]
deadlock situation with interruptActions during eventQueue handling
If interrupted while being in the eventQueues critical region,
a deadlock occurred when another event was pushed in the interruptAction.
- [25-mar-1997] [libbasic/Unix.st 1.198, libbasic/ProcSched.st 1.125]
waiting forever for UNIX Processes
ST/X sometimes didn't recognize the termination of UNIX-subprocesses on SUNOS
and AIX before another process has been started.
- [7-mar-1997] [librun/errhandler.c 1.48] restarting a doesNotUnderstand-context
a doesNotUnderstand context could not be restarted, after the missing method
was accepted in a browser.
- [1-mar-1997] [libbasic/codecls.c 1.108] sub-subclass recompilation
occasionally, sub-subclasses were not recompiled after a superclass-
or instvar change in a baseclass.
- [1-mar-1997] [stc/codecls.c 1.109] superclass with inderscore in name
occasionally, stc generated wrong C-code for superclasses with underscores
in their name (missing external declaration, leading to a C compilation error).
- [27-feb-1997] [librun/new.c 1.249] idenitytHash clobbered in #become:
in certain situations, #become: did not exchange the hashKeys,
which lead to trouble with objects being held in a set or dictionary.
- [27-feb-1997] [librun/new.c 1.249] growing oldSpace memory
ST/X allocated more memory than required, if the fastMoreOld flag
was on and the compression limit already reached.
- [26-feb-1997] [stc/codeexpr.c 1.116] inline float multiplication
stc generated syntactically incorrect C-code for inlined float multiplications,
(i.e. multiplication with float-value-hinted values)
- [15-feb-1997] [libbasic/MthdDict.st 1.18] ever growing methodDictionary
methodDictionary resized itself wrong when entries where removed
- [14-feb-1997] [stc/codeexpr.c 1.115] here-send in class methods
'here' send did not work in class methods - this only happened in stc-compiled
code (i.e. bytecode worked ok)
Doc $Revision: 1.67 $ $Date: 2003/02/01 15:15:09 $