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".
Compatibility-Issues for programmers are listed in the "Compatibility Notes".
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.
- [dec-2011] [stc, librun] memory bug in package loader (sometimes crashed when dynamically loading classlib-dlls)
- [aug-2011] [stc] code generator change to deal with new gcc versions (accessing outer context locals)
- [jun-2011] Fixed SOAP via HTTPS
- [aug-2010] [libwidg] autoscroll-up fixed for ListViews
- [jul-2010] [librun] (win32) fixed a thread scheduler bug, which could lead to memory inconsistency (WeakArray bug)
- [jul-2010] [librun] (win32) fixed lost timerinterrupt bug
- [oct-2009] [stc] "register" as instance variable generated code which cc does not like
- [oct-2009] [stc] wrong code for certain block-code (Timestamp)
- [sep-2009] [goodies/rdoit] disable the connection timeout in the rdoit client, after the connection has been established
- [apr-2009] [rules] windows executables and libraries support Data Execution Prevention (DEP/NX)
- [mar-2009] [stc] trigraph escaping (for VisualC)
- [mar-2009] [librun] LargeInteger constant error
- [dec-2008] [libview] bmp file reading fixed in ImageReader
- [nov-2008] [stc] some symbols where missing in the literalArray (some symbol searches failed)
- [oct-2008] [libbasic] workaround a com-interface bug/deadlock in ms-windows, which lead to occasional deadlocks when reading a symbolic link path
- [oct-2008] [libbasic] in rare cases, a locked semaphore was not released if the holding thread was killed, leading to a deadlock
- [sep-2008] [stc] generated wrong code for simple shared ret-arg2 methods
- [aug-2008] [libbasic] Date conversion fixes (1.1.4009)
- [jul-2008] [libbasic] replaceFromTo: did not ignore the 0-byte at the end of a string
- [jul-2008] [libbasic] Date: daysLeftInYear was returning a wrong number of days
- [mai-2008] [stc] temporary variable generation for complicated computed squeak array fixed
- [mar-2008] [librun] another bug when sharing simple nil-, true- or false-returning blocks with numArgs>0
- [jan-2008] [librun] inappropriate block sharing for simple nil-, true- or false-returning blocks when numArgs>0
- [oct-2006] [stc] generated code for squeak computed arrays fixed
- [oct-2006] [stc] generated code for supersends in extensions fixed
- [oct-2006] [librun] initialization order of extension modules fixed
- [oct-2006] [librun] primitiveTimeout argument was not saved from garbage collector
- [sep-2006] [libbasic/win32] GetDiskInfo fix for win2k incompatibility
- [sep-2006] [librun/win32] Dual monitor geometry fixes
- [jun-2006] [librun/win32] API call interruption crash bug fix
- [feb-2006] [libodbc] more bugs fixed; bulk transfer support
- [jan-2006] [VM] jitter-literal GC bug fixed
- [nov-2005] [XWorkstation] device- and gc-handle finalization fixed
- [sep-2005] [libodbc] some bugs fixed
- [aug-2005] [stc] namespace handling bug fixed
- [dec-2004] [stc] blockRef bug fixed
- [nov-2004] [Win32OperatingSystem] processGroup termination fixed
- [oct-2004] [Parser] Const-1 bug fixed
- [oct-2004] [librun] rememberedSet overflow bug fixed
- [oct-2004] [librun] snapshot restart pointer relocation speedup
- [sep-2004] [XWorkstation] clibpoard mechanism fixed for large data blocks
- [sep-2004] [stc] support sharePools
- [aug-2004] [stc] code generator bug in optimized equality compare expression fixed
- [sep-2004] [VM] much faster startup in case of pointer relocation
- [mar-2004] [WinWorkstation] activation event when closing a popup on top of a modal view
- [mar-2004] [WinWorkstation] closing a view on-top of an ST/X view via dbl-click on close created wrong button event in underlyig view
- [mar-2004] [VM] one of the new UTF8 support functions defected the dynamic library loading in some situations
- [jan-2004] [libbasic] some missing STORE-check macros added to fix memory (garbage collector) bugs which occurred in certion situations.
- [jan-2004] [process.c] (WIN32) interruption of blocking API calls fixed
- [nov-2003] [UnixOperatingSystem] segv bug fixed in getAddressInfo
- [nov-2003] [process.c] (WIN32) thread handle leak fixed
- [nov-2003] [WinWorkstation] (WIN32) redraw bug (redraw events were missing when moving/resizing views)
- [nov-2003] [WinWorkstation] (WIN32) pointer enter button-state bug (sometimes assumed that button is pressed when mouse enters a view)
- [oct-2003] [librun] allow grow of oldSpace during startup
- [oct-2003] [librun] allow executable without root-classes (micro-executables)
- [oct-2003] [stc] fixed write barrier bug (store into outer block context)
- [oct-2003] [AbstractLauncherApplication.st,v 1.292;AbstractSettingsApplication.st,v 1.111] fixed bug setting compiler options -removed #always option for stc
- [oct-2003] [stc] cache slot code generator bug (shared cache slots for class & instance methods)
- [sep-2003] [librun] method cache bug fixed in interpreted code
(wrong method was called occasionally when many processes where scheduled)
- [mai-2003] [librun] context of a method called with #valueWithReceiver was wrong after GC if selector was nil
- [mai-2003] [librun] bug in the GC, which sometimes clobbered the freeList when hitting the memory limit.
- [feb-2003] [XWorkstation] clipboard mechanism now X-clipboard compliant (used to be xterm compliant)
- [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.120 $ $Date: 2011/12/22 10:35:13 $