GNU Smalltalk Known bugs

Known bugs

CObject and TCP

CObject and subclasses were untouched since Paolo Bonzini took over maintainance of GNU Smalltalk. This has been addressed in 2.0.4, but in turn this broke name resolution. Here is the fix:

diff IPSocketImpl.st fixedIPSocketImpl.st

254,257c254,257

< with: (result at: index) value

< with: (result at: index + 1) value

< with: (result at: index + 2) value

< with: (result at: index + 3) value.

+

> with: (result at: index) "value"

> with: (result at: index + 1) "value"

> with: (result at: index + 2) "value"

> with: (result at: index + 3) "value".

Blox Blox seem unstable. In my installation (tcl/tk-8.3) the interpreter segfaults after a couple of actions. It's not possible to use that image again. Help here Terminal based browser or help debug Blox

(I can reproduce this only with the JIT enabled — Paolo Bonzini)

Here is an strace; directly after startup with

strace gst -Q /usr/local/share/smalltalk/blox/Run.st 2>bloxcrash.strace

I pasted

PackageLoader? fileInPackage: 'WebServer'

into the Transcript and selected "Do It". — Markus Fritsche bloxcrash.strace.bz2 I encountered another problem on my machine when using the WebServer?. I clicked on a file and then canceled the download; gst segfaulted:

downloadKilled.strace.bz2

Since taking strace's is a lot of fun (maybe it's time to learn more about gdb?), I added another one. It's from a segfault when subclasses of unknown superclasses are filed in, then the definitions for the superclasses is filed in, the the former are used.

wrongOrderPackageLoad.strace.bz2

Paolo's answer: This is not a bug. You are deriving from TestCase?, which is undeclared and hence nil. When deriving from nil, you need to implement #doesNotUnderstand: for example. Smalltalk file-ins (not only GNU) support forward-references in code but not in class declarations.