Viewing Issue Advanced Details
7615 [Squeak] Tools minor always 03-15-11 22:04 12-27-18 20:54
FrankShearar  
 
normal  
new trunk  
open  
none    
none  
FileContentsBrowser>>changeMessageCategories: broken
I wrote a test for FileContentsBrowser>>changeMessageCategories: but to my surprise I get a DNU: FileContentsBrowser doesn't understand #unlock.

I have three implementors of #unlock in my (trunk) image, namely,
* Morph>>unlock
* SystemWindowButton>>unlock
* View>>unlock

Of course, a FileContentsBrowser is a Browser is a CodeHolder is a... none of these.
Notes
(0014627)
Patrickr   
12-27-18 20:54   
There is no call to #lock anywhere in the class. This looks like an oversight and I deleted the call to unlock. I do not see how this could affect the functionality of the browser.




Viewing Issue Advanced Details
7874 [Squeak Packages] Connectors major always 10-17-18 07:56 11-12-18 09:57
timkack  
 
normal  
new  
open  
none    
none  
Cannot install Connectors in 5.2
The release for Connectors 5.2 doesn't load in a 5.2 image:

(Installer repository: 'http://www.squeaksource.com/Connectors') [^] install: 'CGPrereqs-nk.8';
         install: 'FSM-mt.47';
         install: 'Connectors-cmm.210';
         install: 'ConnectorsText-cmm.17';
         install: 'ConnectorsShapes-cmm.33';
         install: 'ConnectorsTools-cmm.24';
         install: 'ConnectorsGraphLayout-cmm.8';
         install: 'BroomMorphs-Base-cmm.4';
         install: 'BroomMorphs-Connectors-nk.2';
         install: 'ConnectorsDemo-cmm.6';
         install: 'ConnectorsBasicDistro-cmm.15'

It seems that 'BroomMorphs-Base-cmm.4' is missing from http://www.squeaksource.com/Connectors. [^]
Notes
(0014626)
timkack   
11-12-18 09:57   
This is no longer an issue 'BroomMorphs-Base-cmm.4' is loaded properly.




Viewing Issue Advanced Details
7873 [Squeak 5.2] any minor always 10-05-18 08:00 10-05-18 08:00
Patrickr  
 
normal  
new  
open  
none    
none  
Browser spawning crashes in HelpBrowser
How to reproduce:
1. Open the release notes in the HelpBrowser
2. Select a class name and press (CMD+O)
There are no notes attached to this issue.




Viewing Issue Advanced Details
7872 [Squeak 5.2] any minor always 09-25-18 12:41 09-25-18 13:27
Patrickr  
 
normal  
new  
open  
none    
none  
PolygonMorph>>intersects: uses a non-existant method
Justus Eilers pointed out to me that PolygonMorph>>intersects: calls #intersectsLineFrom:to: which does not exist anywhere in the image. We looked it up in older images (up to 3.8) and could not find it in these either. The method seems to have never existed. Justus wrote the two attached test cases triggering that issue.
IntersectsTests.1.cs (1 KB) 09-25-18 12:41
IntersectsImplementation.1.cs (1 KB) 09-25-18 13:26
Notes
(0014625)
Patrickr   
09-25-18 13:27   
I have also attached a possible solution. The perfect solution would use Line objects but we do not have a class for that currently. Thus I resorted to arrays of points and a copied algorithm from the LineIntersections class. For the next release this should be cleaned up.




Viewing Issue Advanced Details
7871 [Squeak 5.2] any minor always 07-17-18 11:13 07-17-18 11:15
edgardec  
 
normal  
new  
open  
none    
none  
Bug in FileChooser
Create file aaa(2).gcode, then DoIt: 'FileChooser example1', then open aaa(2).gcode, there is an error: 'aaa.gcode does not exist'
now FileChooser try to open aaa.gcode, the problem is in FileList>>fileNameFromFormattedItem:
Notes
(0014624)
edgardec   
07-17-18 11:15   
Reported by Javier Diaz-Reinoso <javier_diaz_r@mac.com>




Viewing Issue Advanced Details
7870 [Squeak] VM crash always 04-10-18 11:55 06-13-18 00:49
timkack  
lewis  
normal  
acknowledged 5.0  
open  
none    
none  
GC on save image or manual GC crashes image
I have a fairly large image (~ 2800 Mb) and suddenly I cannot save the image anymore.
If I manually run garbage collection, it seems to trigger the same, markAndTrace, function causing a SIGSEGV.
I cannot reproduce with a clean image, unfortunately.
See attached crash.dmp.
Running on macOS 10.12.6 (16G1212, 32 GB memory.
crash.dmp (33 KB) 04-10-18 11:55
Notes
(0014619)
lewis   
04-10-18 15:25   
I fear you may have hit a limit within the 32-bit VM. I cannot offer specific advice, but if you are able to ask on either vm-dev or squeak-dev lists, someone may be able to help. Based on past experience with other VMs, it may sometimes be possible to work around the condition by opening your image with a different VM (maybe the stack version for example), or by running it on a different platform (Linux or Windows). I do not know if that would help in this case but it may be worth a try.
(0014620)
timkack   
04-26-18 10:55   
But this is a 64 bit VM:

/Applications/Squeak.app/Contents/MacOS/Squeak: Mach-O 64-bit executable x86_64
I have been using squeak.cog.spur_macos64x64_<date>.dmg distributions since last summer. (Together with the 64 bit images).
I have since rebuilt the image and loaded everything from Monticello.
But, it is a good advise to use stack vm - I'll try that.
(0014623)
lewis   
06-13-18 00:49   
Tim, if you are still having this problem, can you please open an issue on the opensmalltalk-vm issue tracker list at https://github.com/OpenSmalltalk/opensmalltalk-vm/issues [^] (and/or raise a question on the vm-dev list)? Other people on the vm-dev list may be able to offer advice, and if it is a VM bug it can be addressed on the github issue tracker. Thanks




Viewing Issue Advanced Details
7847 [Squeak] OS-Mac crash always 02-21-16 16:50 06-12-18 20:02
comutt  
 
normal  
resolved 5.0  
fixed  
none    
none  
Cmd+Shift+Cursor crashes Squeak
Squeak always crashes if Cmd+Shift+Cursor has been hit.
Notes
(0014599)
bp   
10-14-16 15:55   
I cannot reproduce it on the latest VM cog_macos32x86_squeak.cog.spur_201610132235 on macOS Sierra 10.12 (16A323). Does it still happen for you? If yes, for which VM on which OS version?
(0014613)
nicolas cellier   
04-06-18 19:29   
I presume that this may have been related to
https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/141 [^]
In which case it has been resolved.

Could you retry with pre-release VM from
https://github.com/OpenSmalltalk/opensmalltalk-vm/releases/tag/201804030952 [^]
and report?
(0014621)
timj   
06-09-18 17:59   
Cannot reproduce in this configuration:
Squeak5.2alpha
latest update: #18062
Current Change Set: Unnamed1
Image format 68021 (64 bit)
Croquet Closure Cog[Spur] VM [CoInterpreterPrimitives VMMaker.oscog-eem.2401] 5.0.201806080613
Mac OS X built on Jun 9 2018 10:17:33 PDT Compiler: 4.2.1 Compatible Apple LLVM 9.1.0 (clang-902.0.39.2)
platform sources revision VM: 201806080613
(0014622)
nicolas cellier   
06-12-18 20:02   
It seems to be resolved: cannot reproduce with to date Opensmalltalk VM version.




Viewing Issue Advanced Details
7835 [Squeak] VM major always 09-27-15 16:40 04-06-18 22:58
lewis  
lewis  
normal  
confirmed  
fixed  
none    
none  
vm-sound-NAS needs updates for 64 bit
This Unix VM sound driver has compile errors on 64-bit host, needs updates to platforms/unix/vm-sound-NAS/sqUnixSoundNAS.c

Reported by Ken Dickey on vm-dev http://lists.squeakfoundation.org/pipermail/vm-dev/2015-September/019470.html [^]
Notes
(0014618)
nicolas cellier   
04-06-18 22:58   
I don't know if it has compile errors, but current version does pretty bad things...

line 524: static sqInt sound_RecordSamplesIntoAtLength(int buf, int startSliceIndex,
...
line 557: (char *) (buf + startSliceIndex*sliceSize),

Making a pointer out of an int hasn't been correct since maybe Kernighan and Ritchie...

https://github.com/OpenSmalltalk/opensmalltalk-vm/blob/Cog/platforms/unix/vm-sound-NAS/sqUnixSoundNAS.c [^]




Viewing Issue Advanced Details
7843 [Squeak] Graphics minor always 12-08-15 13:18 04-06-18 22:38
TimNN  
 
normal  
resolved 5.0  
fixed  
none    
none  
MatrixTransform2x3>>isPureTranslation incorrect Fallback implementation
The fallback implementation of MatrixTransform2x3>>isPureTranslation is incorrect. It should compare a21 = 0.0 a22 = 1.0 and not the other way around.
Notes
(0014617)
nicolas cellier   
04-06-18 22:38   
Good catch!
This is now fixed in
http://source.squeak.org/trunk/Graphics-nice.396.diff [^]




Viewing Issue Advanced Details
7856 [Squeak] Any minor always 08-30-16 07:13 04-06-18 22:30
hatsevich  
KenCausey  
normal  
resolved  
fixed  
none    
none  
Small bugs in Preference Wizard
1) "Fast drag and resize": it is unchecked while behaves like it is checked, and vice versa
2) "Filterable lists and trees" - annotation is mistakenly taken from the following option ("Filters clear if unfocused")
Notes
(0014616)
nicolas cellier   
04-06-18 22:30   
Thanks for reporting.
Both seem fixed in current trunk
1) Fast drag and resize behaves as expected, whether enabled or not
2) There is no more "Filterable lists and trees" options, and the remaining "Filterable *" have correct description.




Viewing Issue Advanced Details
7854 [Squeak] Any minor always 08-09-16 07:49 04-06-18 21:47
drattpresse  
KenCausey  
normal  
resolved 5.0  
fixed  
none    
none  
Typos
Preference Browser -> Files category:

  It true, then the contents of stdin
  -> s/^It/If

Preference Browser -> Morphic category:

  Menu request updates list/tree selection
  When invoking a menu, this will for current selection by default.
  -> will - what? a word's missing?

Font import, confirmation dialog:
  This is at least x MB of space required int the image.
  -> s/ int / in /

Notes
(0014614)
nicolas cellier   
04-06-18 21:47   
Thanks!
This has been resolved in trunk
http://source.squeak.org/trunk/Morphic-nice.1412.diff [^]
and
http://source.squeak.org/trunk/Files-nice.180.diff [^]

If you want to learn to, it's possible to correct by yourself and commit into http://source.squeak.org/inbox [^] with Metacello tool.
This generally results in faster integration, and retains your authorship on the modification.




Viewing Issue Advanced Details
7864 [Squeak] Multilingual minor always 11-14-16 09:59 04-06-18 20:36
sumi  
 
normal  
feedback trunk  
open  
none    
none  
[BUG][FIX] some methods required for the Japanese locale to function properly is missing
JapaneseEnvironment class lacks some method to work. This change-set supplements what is missing and also fixing some bugs.
fixJapaneseLocale-sumim.1.cs.gz (1 KB) 11-14-16 09:59
fixJapaneseLocale-sumim.2.cs.gz (1 KB) 11-21-16 02:57
Notes
(0014611)
nicolas cellier   
04-06-18 17:33   
Hi sumim, thanks for the report and patch!
I'm in the process of integrating your fixes.
I want to understand why the changes of crossedX are necessary, because the case of no space and no other breakable character should normally be handled in ^self wrapHere. Do you remember or have a test case showing the problem?
(0014612)
nicolas cellier   
04-06-18 17:40   
Now partly in trunk (but crossedX)
http://source.squeak.org/trunk/Multilingual-nice.237.diff [^]

Waiting for feedback concerning crossedX




Viewing Issue Advanced Details
7859 [Squeak] Any minor always 09-11-16 09:18 04-06-18 19:54
dram  
KenCausey  
normal  
resolved trunk  
fixed  
none    
none  
MNU: UndefinedObject>>do:
Click "objects (o)" in World menu will trigger a "MNU: UndefinedObject>>do:" error.

It is found in Squeak6.0alpha #16713.
There are no notes attached to this issue.




Viewing Issue Advanced Details
7858 [Squeak] Any minor always 09-11-16 08:27 04-06-18 19:41
dram  
KenCausey  
normal  
resolved trunk  
fixed  
none    
none  
MNU: Preferences class>>roundedWindowCorners
When open the halo menu for a window, click the debug icon, and then click "viewer for Morph", a "MNU: Preferencecs class>>roundedWindowCorners" error is triggerd.

It's found in Squeak6.0alpha #16713.
Notes
(0014598)
dram   
09-14-16 01:02   
I think this problem is solved by Bert Freudenberg, see http://lists.squeakfoundation.org/pipermail/squeak-dev/2016-September/191855.html. [^]

Although there are several depercation warnings.




Viewing Issue Advanced Details
7868 [Squeak] MVC minor always 12-10-17 16:08 04-06-18 15:41
jr  
 
normal  
confirmed trunk  
open  
none    
none  
ChangeSet menu in ChangeSorter will not open in MVC project
The context menu for change sets will not open in an MVC project because the method #monticelloChangeSetMenu: is registered via pragma as a menu handler and it assumes to run in a Morphic project. I think it should be dispatched with the current project instead or at least be guarded.

I would post the full stack trace, but I cannot find how to copy the trace from a debugger in MVC...

MessageNotUnderstood: CustomMenu>>submorphs
ChangeSorter>>monticelloChangeSetMenu:
...
ChangeSorter(Model)>>buildMenu:withBuilders:shifted:
ChangeSorter(Model)>>menu:for:shifted:
ChangeSorter(Model)>>changeSetMenu:shifted:
There are no notes attached to this issue.




Viewing Issue Advanced Details
7866 [Squeak] OS-Linux crash always 04-25-17 10:54 04-06-18 11:58
007  
 
normal  
feedback 5.0  
open  
none    
none  
crash during object initialization
Calling Object>>error: during object initialization and together having two
instance variable defined (var2 Size) - results to crash

"|tst|
tst:=TestCrash new: 1."

When removing instance variable "var2" and than call "TestCrash(Object)>>error:" inside "TestCrash>>init:" by standard object initialization, it pass correct with standard error message "testerror".

Object thats result to crash is in attached file TestCrash.st

Crashes on Linux in versions Squeak-5.0-All-in-One.zip, Squeak5.1-16548-32bit-All-in-One.zip, Squeak5.1-16549-32bit-All-in-One.zip
Working correct on Squeak-4.6-All-in-One.zip
avid@localhost ~/TestCrash $ ./squeak.sh
Using /home/david/TestCrash/Squeak5.1-16549-32bit-All-in-One.app/Contents/Linux-i686/bin/squeak...

Segmentation fault Tue Apr 25 12:25:46 2017


/home/david/TestCrash/Squeak5.1-16549-32bit-All-in-One.app/Contents/Linux-i686/lib/squeak/5.0-201608171728/squeak
Squeak VM version: 5.0-201608171728 Wed Aug 17 18:36:04 UTC 2016 gcc 4.6.3 [Production Spur VM]
Built from: CoInterpreter VMMaker.oscog-cb.1919 uuid: 00a8dd2a-bc8d-4552-b400-be781c8aabec Aug 17 2016
With: StackToRegisterMappingCogit VMMaker.oscog-cb.1919 uuid: 00a8dd2a-bc8d-4552-b400-be781c8aabec Aug 17 2016
Revision: VM: 201608171728 https://github.com/OpenSmalltalk/opensmalltalk-vm.git [^] $ Date: Wed Aug 17 10:28:01 2016 -0700 $
Plugins: 201608171728 https://github.com/OpenSmalltalk/opensmalltalk-vm.git [^] $
Build host: Linux testing-worker-linux-docker-7e600486-3433-linux-13 3.13.0-40-generic 0000069-Ubuntu SMP Thu Nov 13 17:53:56 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
plugin path: /home/david/TestCrash/Squeak5.1-16549-32bit-All-in-One.app/Contents/Linux-i686/bin/../lib/squeak/5.0-201608171728 [default: /home/david/TestCrash/Squeak5.1-16549-32bit-All-in-One.app/Contents/Linux-i686/lib/squeak/5.0-201608171728/]


C stack backtrace & registers:
        eax 0xbf832e64 ebx 0xbf832d80 ecx 0xbf832e18 edx 0xbf832dcc
        edi 0xbf832c50 esi 0xbf832c50 ebp 0xbf832ce8 esp 0xbf832d34
        eip 0xbf832f48
*[0xbf832f48]
/home/david/TestCrash/Squeak5.1-16549-32bit-All-in-One.app/Contents/Linux-i686/bin/../lib/squeak/5.0-201608171728/squeak[0x8060240]
/home/david/TestCrash/Squeak5.1-16549-32bit-All-in-One.app/Contents/Linux-i686/bin/../lib/squeak/5.0-201608171728/squeak[0x80605a6]
linux-gate.so.1(__kernel_rt_sigreturn+0x0)[0xb77a6b98]
/home/david/TestCrash/Squeak5.1-16549-32bit-All-in-One.app/Contents/Linux-i686/bin/../lib/squeak/5.0-201608171728/squeak(ceSendsupertonumArgs+0x118)[0x80937a8]
[0xa10008d]
[0xa1b86aa]
[0xa1b905e]
[0xa100b70]
[0xa1a6af7]
[0xa101de5]
[0xa144016]
[0xa100b70]
[0xb37bb3e]
[0xba71f09]
[0xb6b571a]
[0xa100b40]
[0x1b6]


Smalltalk stack dump:
0xbf83bd38 M [] in TestCrash(Object)>longPrintOn:limitedTo:indent: 0xa514340: a(n) TestCrash
0xbf83bd60 M Array(SequenceableCollection)>withIndexDo: 0xa52f028: a(n) Array
0xbf83bd7c M Array(SequenceableCollection)>doWithIndex: 0xa52f028: a(n) Array
0xbf83bda0 I TestCrash(Object)>longPrintOn:limitedTo:indent: 0xa514340: a(n) TestCrash
0xbf83bdc8 M [] in MethodContext>printDetails: 0xa5145d0: a(n) MethodContext
0xbf83bde4 M BlockClosure>on:do: 0xa52ef58: a(n) BlockClosure
0xbf83be04 M BlockClosure>ifError: 0xa52ef58: a(n) BlockClosure
0xbf83be34 I MethodContext>printDetails: 0xa5145d0: a(n) MethodContext
0xbf83be64 I MethodContext(ContextPart)>errorReportOn: 0xa5145d0: a(n) MethodContext
0xbf83be8c I SmalltalkImage>logError:inContext:to: 0xabfcc50: a(n) SmalltalkImage
0xbf83beb8 I SmalltalkImage>logSqueakError:inContext: 0xabfcc50: a(n) SmalltalkImage
0xbf83eb74 M [] in Debugger class>morphicOpenOn:context:label:contents:fullView: 0xadb88d8: a(n) Debugger class
0xbf83eb90 M BlockClosure>on:do: 0xa514cd0: a(n) BlockClosure
0xbf83ebb8 M Debugger class>morphicOpenOn:context:label:contents:fullView: 0xadb88d8: a(n) Debugger class
0xbf83ebf0 I MorphicProject(Project)>dispatchTo:addPrefixAndSend:withArguments: 0xb88a268: a(n) MorphicProject
0xbf83ec1c I Debugger class>openOn:context:label:contents:fullView: 0xadb88d8: a(n) Debugger class
0xbf83ec50 I StandardToolSet class>debug:context:label:contents:fullView: 0xabd4200: a(n) StandardToolSet class
0xbf83ec84 I ToolSet class>debug:context:label:contents:fullView: 0xabcf7f8: a(n) ToolSet class
0xbf83ecbc I Process>debug:title:full: 0xaaddd98: a(n) Process
0xbf83ece8 I Process>debug:title: 0xaaddd98: a(n) Process
0xbf83ed10 I StandardToolSet class>debugError: 0xabd4200: a(n) StandardToolSet class
0xbf83ed38 I ToolSet class>debugError: 0xabcf7f8: a(n) ToolSet class
0xbf83ed5c I UnhandledError>defaultAction 0xa514490: a(n) UnhandledError
0xbf83ed78 M UndefinedObject>handleSignal: 0xa875b00: a(n) UndefinedObject
0xbf83ed9c M MethodContext(ContextPart)>handleSignal: 0xa514430: a(n) MethodContext
0xbf83edc0 I UnhandledError(Exception)>signal 0xa514490: a(n) UnhandledError
0xbf83ede0 I UnhandledError class>signalForException: 0xabd0950: a(n) UnhandledError class
0xbf83ee04 I Error>defaultAction 0xa514350: a(n) Error
0xbf83ee28 I UndefinedObject>handleSignal: 0xa875b00: a(n) UndefinedObject
0xbf83ee54 I MethodContext(ContextPart)>handleSignal: 0xa514430: a(n) MethodContext
0xbf83ee78 I Error(Exception)>signal 0xa514350: a(n) Error
0xbf83ee98 I Error(Exception)>signal: 0xa514350: a(n) Error
0xbf83eebc I TestCrash(Object)>error: 0xa514340: a(n) TestCrash
0xbf83dc88 I TestCrash>init: 0xa514340: a(n) TestCrash
0xbf83dcac I TestCrash class>new: 0xa2096d8: a(n) TestCrash class
0xbf83dccc M UndefinedObject>(nil) 0xa875b00: a(n) UndefinedObject
0xbf83dcf8 I Compiler>evaluateCue:ifFail: 0xa48cc30: a(n) Compiler
0xbf83dd24 I Compiler>evaluateCue:ifFail:logged: 0xa48cc30: a(n) Compiler
0xbf83dd54 I Compiler>evaluate:in:to:notifying:ifFail:logged: 0xa48cc30: a(n) Compiler
0xbf83dd8c M [] in SmalltalkEditor(TextEditor)>evaluateSelectionAndDo: 0xa20a3d0: a(n) SmalltalkEditor
0xbf83dda8 M BlockClosure>on:do: 0xa48cbf8: a(n) BlockClosure
0xbf83dddc I SmalltalkEditor(TextEditor)>evaluateSelectionAndDo: 0xa20a3d0: a(n) SmalltalkEditor
0xbf83de00 I SmalltalkEditor(TextEditor)>evaluateSelection 0xa20a3d0: a(n) SmalltalkEditor
0xbf83de18 M [] in PluggableTextMorphPlus(PluggableTextMorph)>doIt 0xa2092d0: a(n) PluggableTextMorphPlus
0xbf83de3c I TextMorphForEditView(TextMorph)>handleEdit: 0xa209238: a(n) TextMorphForEditView
0xbf83de64 I PluggableTextMorphPlus(PluggableTextMorph)>handleEdit: 0xa2092d0: a(n) PluggableTextMorphPlus
0xbf83de80 M PluggableTextMorphPlus(PluggableTextMorph)>doIt 0xa2092d0: a(n) PluggableTextMorphPlus
0xbf83de98 M Workspace(StringHolder)>perform:orSendTo: 0xa208ff8: a(n) Workspace
0xbf83dec0 M [] in MenuItemMorph>invokeWithEvent: 0xa233848: a(n) MenuItemMorph
0xbf839b5c M BlockClosure>ensure: 0xa48ae30: a(n) BlockClosure
0xbf839b7c M CursorWithMask(Cursor)>showWhile: 0xab671e8: a(n) CursorWithMask
0xbf839b9c M MenuItemMorph>invokeWithEvent: 0xa233848: a(n) MenuItemMorph
0xbf839bc0 I MenuItemMorph>mouseUp: 0xa233848: a(n) MenuItemMorph
0xbf839be4 I MenuItemMorph>handleMouseUp: 0xa233848: a(n) MenuItemMorph
0xbf839c00 M MouseButtonEvent>sentTo: 0xa481310: a(n) MouseButtonEvent
0xbf839c20 M MenuItemMorph(Morph)>handleEvent: 0xa233848: a(n) MenuItemMorph
0xbf839c44 M MorphicEventDispatcher>dispatchEvent:withHandler:withMorph: 0xa480840: a(n) MorphicEventDispatcher
0xbf839c68 M MorphicEventDispatcher>dispatchDefault:with: 0xa480840: a(n) MorphicEventDispatcher
0xbf839c88 M MorphicEventDispatcher>dispatchEvent:with: 0xa480840: a(n) MorphicEventDispatcher
0xbf839cac M MenuItemMorph(Morph)>processEvent:using: 0xa233848: a(n) MenuItemMorph
0xbf839cd8 M [] in MorphicEventDispatcher>dispatchEvent:toSubmorphsOf: 0xa480840: a(n) MorphicEventDispatcher
0xbf839cfc M Array(SequenceableCollection)>do: 0xa209ba8: a(n) Array
0xbf839d18 M MenuMorph(Morph)>submorphsDo: 0xa204948: a(n) MenuMorph
0xbf839d38 M MorphicEventDispatcher>dispatchEvent:toSubmorphsOf: 0xa480840: a(n) MorphicEventDispatcher
0xbf839d60 M MorphicEventDispatcher>dispatchEvent:withHandler:withMorph: 0xa480840: a(n) MorphicEventDispatcher
0xbf839d84 M MorphicEventDispatcher>dispatchDefault:with: 0xa480840: a(n) MorphicEventDispatcher
0xbf839da4 M MorphicEventDispatcher>dispatchEvent:with: 0xa480840: a(n) MorphicEventDispatcher
0xbf839dc8 M MenuMorph(Morph)>processEvent:using: 0xa204948: a(n) MenuMorph
0xbf839df0 M MorphicEventDispatcher>doProcessingForFocusEvent:with: 0xa480840: a(n) MorphicEventDispatcher
0xbf839e14 M MorphicEventDispatcher>dispatchFocusEventFully:with: 0xa480840: a(n) MorphicEventDispatcher
0xbf839e34 M MenuMorph>processFocusEvent:using: 0xa204948: a(n) MenuMorph
0xbf839e54 M MenuMorph(Morph)>processFocusEvent: 0xa204948: a(n) MenuMorph
0xbf839e7c M [] in HandMorph>sendFocusEvent:to:clear: 0xb9ebe68: a(n) HandMorph
0xbf839e9c M BlockClosure>ensure: 0xa4807a8: a(n) BlockClosure
0xbf839ebc M MouseButtonEvent(MorphicEvent)>becomeActiveDuring: 0xa4803e0: a(n) MouseButtonEvent
0xbf83ac8c M [] in HandMorph>sendFocusEvent:to:clear: 0xb9ebe68: a(n) HandMorph
0xbf83acac M BlockClosure>ensure: 0xa4806b0: a(n) BlockClosure
0xbf83accc M HandMorph>becomeActiveDuring: 0xb9ebe68: a(n) HandMorph
0xbf83acf4 M [] in HandMorph>sendFocusEvent:to:clear: 0xb9ebe68: a(n) HandMorph
0xbf83ad14 M BlockClosure>ensure: 0xa4805b8: a(n) BlockClosure
0xbf83ad34 M PasteUpMorph>becomeActiveDuring: 0xacf8780: a(n) PasteUpMorph
0xbf83ad58 M HandMorph>sendFocusEvent:to:clear: 0xb9ebe68: a(n) HandMorph
0xbf83ad84 M HandMorph>sendEvent:focus:clear: 0xb9ebe68: a(n) HandMorph
0xbf83ada8 M HandMorph>sendMouseEvent: 0xb9ebe68: a(n) HandMorph
0xbf83adc8 M HandMorph>handleEvent: 0xb9ebe68: a(n) HandMorph
0xbf83adf4 M HandMorph>processEvents 0xb9ebe68: a(n) HandMorph
0xbf83ae10 M [] in WorldState>doOneCycleNowFor: 0xb73ba70: a(n) WorldState
0xbf83ae34 M Array(SequenceableCollection)>do: 0xa88fa10: a(n) Array
0xbf83ae50 M WorldState>handsDo: 0xb73ba70: a(n) WorldState
0xbf83ae70 M WorldState>doOneCycleNowFor: 0xb73ba70: a(n) WorldState
0xbf83ae8c M WorldState>doOneCycleFor: 0xb73ba70: a(n) WorldState
0xbf83aea8 M PasteUpMorph>doOneCycle 0xacf8780: a(n) PasteUpMorph
0xbf83aec0 M [] in MorphicProject>spawnNewProcess 0xb88a268: a(n) MorphicProject
 0xac86208 s [] in BlockClosure>newProcess

Most recent primitives
stringHash:initialHash:
compare:with:collated:
basicNew
identityHash
basicNew
basicNew
shallowCopy
shallowCopy
shallowCopy
stringHash:initialHash:
shallowCopy
basicNew
stringHash:initialHash:
initialize
initialize
initialize
<
<
digitCompare:
<
<
arrayType
arrayType
stringHash:initialHash:
arrayType
arrayType
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
arrayType
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
arrayType
basicNew
identityHash
asArray
replaceFrom:to:with:startingAt:
basicNew
basicNew
basicNew
new
at:
**StackOverflow**
identityHash
value
scanFor:
shallowCopy
noteBlockExit:
basicNew
identityHash
identityHash
identityHash
identityHash
asArray
at:
litIndex:
perform:withArguments:
genSend:numArgs:
genSend:numArgs:
genSend:numArgs:
perform:withArguments:
specialObjectsArray
genSendSpecial:numArgs:
<=
specialObjectsArray
perform:withArguments:
genPushLiteralVar:
species
species
species
~~
perform:withArguments:
perform:withArguments:
genReturnTop
genReturnTop
genReturnTop
,
,
,
,
replaceFrom:to:with:startingAt:
bitShift:
bitOr:
bitOr:
bitOr:
bitOr:
bitOr:
basicNew
species
identityHash
identityHash
at:
contents
replaceFrom:to:with:startingAt:
contents
headerFlagForEncoder:
headerFlagForEncoder:
headerFlagForEncoder:
headerFlagForEncoder:
headerFlagForEncoder:
headerFlagForEncoder:
asString
asString
copyReplaceFrom:to:with:
copyReplaceFrom:to:with:
copyReplaceFrom:to:with:
copyReplaceFrom:to:with:
copyReplaceFrom:to:with:
stringHash:initialHash:
stringHash:initialHash:
compare:with:collated:
perform:
=
basicNew:
at:put:
newMethod:header:
newMethod:header:
at:put:
newMethod:header:
objectAt:put:
objectAt:put:
objectAt:put:
objectAt:put:
basicNew
on:
size
position:
basicNew
numTemps
emitCodeForValue:encoder:
at:put:
methodStreamPosition
specialObjectsArray
genSendSpecial:numArgs:
specialObjectsArray
at:put:
~~
at:put:
pop:
at:put:
at:put:
=
~=
~=
size
size
size
size
objectAt:
bitAnd:
bitAnd:
primitive
primitive
primitive
basicSize
basicSize
objectAt:put:
value:
value:value:
new:
at:
value:value:
replaceFrom:to:with:startingAt:
contents
contents
value
last
\\
\\
collect:
value:
first
at:put:
withIndexDo:
withIndexDo:
withIndexDo:
timesRepeat:
at:put:
value:
tempAt:
tempAt:
tempAt:
at:
=
at:
=
at:
=
at:
=
at:
=
at:
=
at:
=
at:
=
at:
=
replaceFrom:to:with:startingAt:
replaceFrom:to:with:startingAt:
replaceFrom:to:with:startingAt:
replaceFrom:to:with:startingAt:
findFirstInString:inSet:startingAt:
nextPutAll:
primWrite:from:startingAt:count:
asInteger
primWrite:from:startingAt:count:
tab
primWrite:from:startingAt:count:
findFirstInString:inSet:startingAt:
primWrite:from:startingAt:count:
primWrite:from:startingAt:count:
primGetPosition:
shallowCopy
replaceFrom:to:with:startingAt:
value:value:
primWrite:from:startingAt:count:
primWrite:from:startingAt:count:
findFirstInString:inSet:startingAt:
primWrite:from:startingAt:count:
primWrite:from:startingAt:count:
nextPut:
primWrite:from:startingAt:count:
primWrite:from:startingAt:count:
instVarAt:
instVarAt:
instVarAt:

stack page bytes 4096 available headroom 2788 minimum unused headroom 3012

        (Segmentation fault)
Neúspěšně ukončen (SIGABRT)
TestCrash.st (1 KB) 04-25-17 10:54
Notes
(0014610)
nicolas cellier   
04-06-18 11:58   
Can't reproduce with latest (pre-release) VM from
https://github.com/OpenSmalltalk/opensmalltalk-vm/releases/tag/201804030952 [^]
Could you load such VM and retry?




Viewing Issue Advanced Details
7863 [Squeak] Morphic minor always 11-14-16 09:35 04-06-18 10:22
sumi  
 
normal  
resolved trunk  
fixed  
none    
none  
[BUG][FIX] can't undo paste initials (alt/cmd + shift + v)
t/o
fixPasteInitialsUndo-sumim.1.cs.gz (0 KB) 11-14-16 09:35
Notes
(0014609)
nicolas cellier   
04-06-18 10:22   
Just added a fix in trunk
http://source.squeak.org/trunk/Morphic-nice.1411.diff [^]




Viewing Issue Advanced Details
7861 [Squeak] MVC major always 09-25-16 09:04 04-06-18 10:01
davidf  
 
normal  
resolved trunk  
fixed  
none    
none  
Can't debug
In an MVC project when pressing 'debug', we get the error

MessageNotUnderstood: UndefinedObject>>windowColorToUse

The error is caused by the method setDefaultBackgroundColor attempting to
send the message windowColorToUse to a nil model.

I have changed the implementation of View>>setDefaultBackgroundColor to

model == nil ifFalse:[self model windowColorToUse].

And this seems to fix the problem, as I now get the debugger window and everything appears to work as it should.

How to reproduce:

Open a new MVC project, open a workspace and do 2/0. When the notifier comes up select 'debug'.


Notes
(0014608)
nicolas cellier   
04-06-18 10:00   
Can't reproduce in current Squeak trunk, appeared to be fixed




Viewing Issue Advanced Details
7775 [Squeak] OS-Linux major always 06-25-13 18:05 10-20-17 22:21
tim  
 
high  
new 4.4  
open  
none    
none  
unix midiplugin cannot play standard instruments via ALSA midi connection
The MIDI plugin is expected to be able to play sounds using the standard MIDI instrument list; on unix with ALSA sound drivers (i.e. on the Raspberry Pi in this case) this seems not to work. Apparently this has been a problem for some time since the Scratch code using it has been commented out since 2009.
The result is that a lot of sounds are very sub-par for the users of Scratch on any unix platform and of course the Pi. This is a pity, since it gives a very poor impression.
After gazing at the unix midi code I had to conclude that it didn't look like it could work at all, but what do I know? At the simplest level, querying the number of ports seems to give an answer that classes with related functions that get passed a port number. Compare, for example, sqMIDIGetPortCount and sqMIDIGetPortDirectionality
sqUnixMIDIALSA.inc (18 KB) 06-25-13 18:05
Notes
(0014602)
travm1   
04-07-17 05:53   
More info about ALSA here: https://www.everipedia.com/Advanced_Linux_Sound_Architecture/ [^]
(0014604)
thalamus   
10-20-17 18:29   
awesome, thanks travm1

http://www.thalamus.co [^]
(0014605)
tim   
10-20-17 22:21   
Oh my, I'd forgotten about this; long time ago.
The problem was actually 'fixed' a couple of years ago by someone (and I can't find any trace of the name, but Yoshiki might recall since it is one of the Japanese squeakers) who wrote a shell scfript to install Timidity and soundfonts.

It works, but Timidity seems to have a resource leak since it gradually takes more and more cpu%. There are timing issues as well, with the HDMI sound being particularly strange.

The script on the Pi is /usr/share/scratch/timidityinstall.sh




Viewing Issue Advanced Details
7867 [Squeak] Installer crash always 09-25-17 19:52 09-25-17 19:52
paul  
 
normal  
new trunk  
open  
none    
none  
Unable to start from directory named with spacing
Running squeak.sh by double-click from Nemo (file browser) of LinuxMint opens Error dialog:
This Squeak version does not support Linux-.

The terminal shows the error message:
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.

Answering the error dialog opens an image file selection dialog. The image can't be launched by selection either (this is a deeper bug).

If however squeak is launched typing "./squeak.sh" from a terminal then the image can start fine. Note that I've already applied the upgraded priority fix that also gives the GtkDialog error, this is a different cause. If the squeak directory is moved back to /home/user/Downloads then the launch icon works fine again. The significant difference is spacing found in the directory name.
If this is a squeak bug then it is in the VM. Searches find that others have also been struggling with the GtkDialog error for years with other applications and may not know this simple cause. My drive partition was called "256 GB SSD" and mounted as "/media/user/256 GB SSD/". The problems went away entirely by naming the partition without spacing. I've also confirmed that simply having a parent directory containing a space in the name will cause the problem and that a soft link to a name without spacing can be used as a workaround. The script file squeak.sh does not appear to have the bug, it is at a deeper level like perhaps a framework used by the VM or perhaps how the VM uses that framework.
There are no notes attached to this issue.




Viewing Issue Advanced Details
4665 [Squeak 3.8] major always 08-30-06 07:08 09-01-17 05:45
ernst  
krono  
normal  
resolved  
fixed  
none    
none  
PositionableStream>>upToAll: does return string including part of delimiter
I have an bug with parsing HTML while using upToAll: .
    e.g.

On a MultiByteFileStream
upToAll: '<' gives ' VÃ?RONIQUE
</'
    which makes no sense.
I did this on Linux fedora core 5 64-bit, Squeak 3.8
UpToAllTest.st (1 KB) 08-30-06 07:08
Notes
(0014601)
tonyg   
02-23-17 19:16   
Diagnosis: Stream positions reflect a count of bytes in MultiByteFileStream, and PositionableStream upToAll: calls next: with a count of bytes. However, MultiByteFileStream's next: expects a count of characters.

Test cases: http://source.squeak.org/inbox/MultilingualTests-tonyg.22.mcz [^]
First half of proposed fix: http://source.squeak.org/inbox/Collections-tonyg.734.mcz [^]
Second half of proposed fix: http://source.squeak.org/inbox/Multilingual-tonyg.218.mcz [^]
(0014603)
krono   
09-01-17 05:45   
Resolved with Collections-pre.763




Viewing Issue Advanced Details
7865 [Squeak] Any crash always 04-05-17 11:58 04-05-17 11:58
pavelmalyshkin  
KenCausey  
normal  
assigned trunk  
open  
none    
none  
Save project crushes Squeak
In a fresh 5.1(32 bit) all in one:
Projects --> save project
Fill in the dialog, save on local disk only -->

"Please choose" dialog appears. Any further way leads to a crush or an environment emergency.
There are no notes attached to this issue.




Viewing Issue Advanced Details
7862 [Squeak] Morphic minor always 11-13-16 07:44 11-13-16 07:44
sumi  
 
normal  
new trunk  
open  
none    
none  
[BUG][FIX] #querySymbol: (cmd/alt + q) doesn't put caret on the first argument place
Considering the use case of "query" feature (code completion invoked by cmd/alt + q), when a selector with multiple keywords is a candidate, the caret should be placed in the first argument insertion part (the first colon-space).

https://www.youtube.com/watch?v=jYOEZVnF9eI [^]

For similar reason, I also tweak the "advance" feature (shift + cmd/alt + a) by which the caret is moved to the next occurrence of the characters colon-space (it is imperceptibly changed to move the caret just after colon but not after colon-space).
fixQuerySymAndArgAdv-sumim.1.cs.gz (1 KB) 11-13-16 07:44
There are no notes attached to this issue.




Viewing Issue Advanced Details
7838 [Squeak] System crash always 11-09-15 21:20 10-16-16 06:38
kurbasov  
bp  
normal  
feedback 5.0  
open  
none    
none  
Command "explore it" applied to Object leads to crash of VM.
Issuing "explore it" for Object from workspace menu leads to crash of VM. The same thing occurs when evaluating "Object explore" expression by "do it".

Fresh images of Squeak versions 4.6 and 5.0. OS Windows 8.1 64-bit.

It looks like the infinite recursion occurs. UI freezes and memory consumption constantly grows up to 3867.7 MB(!) until VM crash. Then the message displayed:

Fatal VM error
Sorry but VM has crashed
Reason: out of memory
Current byte code: -1
Primitive index: -1

The crash dump process can't complete and VM stops responding to the system. The size of the incomplete dump file is large (about 14 MB) thus I can't attach it.
Notes
(0014564)
Nicolai Hess   
11-16-15 15:10   
Yes, this looks like some recursive data in Objects DependentsFields.

If you change ListItemWrapper
setItem: anObject
    item
        ifNotNil: [:obj | obj removeDependent: self].
    item := anObject.
    item
        ifNotNil: [:obj | obj addDependent: self]
    item := anObject

to :

setItem: anObject

    item := anObject.

every thing works.
(0014580)
Nicolai Hess   
11-27-15 09:32   
Looks like this is already fixed in trunk.
How can/will this move to an update for the current release?
(0014600)
bp   
10-16-16 06:36   
I just tried to reproduce this with the official Squeak 5.1 release on Windows 8.1 Pro, and it does work correctly.

However, the proposed fix seems to remove some UI update functionality, doesn't it?




Viewing Issue Advanced Details
7860 [Squeak Website] text always 09-13-16 19:32 09-13-16 19:32
timkack  
 
normal  
new  
open  
none    
none  
Remove the mention about WbSet, WbDictionary from wiki
On http://wiki.squeak.org/squeak/2985, [^] there is the following text:
=====================================================
Use WbArray's, WbOrderedCollections, WbSet's and WbDictionary's

For the new Closures, the Array class cannot be made uncompact, which means they cannot use #primitiveChangeClassTo:, which means it cannot be added to the WriteBarrier, which means they end up in Magma's readSet, which means commits will be slower. WbArray is just a subclass of Array which _can_ be compacted. WbOrderedCollection is just an OrderedCollection that uses an internal WbArray instead of an internal Array. Likewise for Dictionary and Set.

Therefore, using these WriteBarrier-capable versions will improve performance.
=====================================================
This was removed as of WriteBarrier-cmm.47.mcz
There are no notes attached to this issue.




Viewing Issue Advanced Details
7857 [Squeak] Tools minor always 09-01-16 17:41 09-01-16 17:41
timkack  
 
normal  
new  
open  
none    
none  
Remove instructions for OmniBrowser
Installing Omnibrowser does not work on Squeak 5.0/5.1
The following snippet should be removed from Help -> Extending the System:
<code smalltalk>
"Including Refactoring engine"
(Installer ss project: 'MetacelloRepository') install: 'ConfigurationOfOmniBrowser'.
((Smalltalk at: #ConfigurationOfOmniBrowser) project perform: #lastVersion) load: #( Dev ).
</code>
It should probably be replaced with the instructions on how to add the Refactoring tools:
<code smalltalk>
Installer gemsource
    project: 'metacello';
    addPackage: 'ConfigurationOfMetacello';
    install.

((Smalltalk at: #ConfigurationOfMetacello) project
 version: #'previewBootstrap') load.

Installer squeakTrunk
    install: 'SqueakSSL-Core'.

(Smalltalk at: #Metacello) new
    configuration: 'MetacelloPreview';
    version: #stable;
    repository: 'github://dalehenrich/metacello-work:configuration'; [^]
    load.

(Smalltalk at: #Metacello) new
    baseline: 'Metacello';
    repository: 'github://dalehenrich/metacello-work:master/repository'; [^]
    get.

(Smalltalk at: #Metacello) new
    baseline: 'Metacello';
    repository: 'github://dalehenrich/metacello-work:master/repository'; [^]
    onConflict: [:ex | ex allow];
    load.


Preferences removePreferencesFor: MCGitBasedNetworkRepository.


(Smalltalk at: #Metacello) new
    configuration: 'RefactoringTools';
    version: #stable;
    load.
</code>
There are no notes attached to this issue.




Viewing Issue Advanced Details
7855 [Squeak Website] minor always 08-25-16 07:53 08-25-16 07:53
timkack  
 
normal  
new  
open  
none    
none  
Bug tracker needs to be updated
This is not regarding www.squeak.org but rather mantis, bugs.squeak.org. Should probable be a project of its own on Mantis...
I am a big fan of keeping bugs in the bug tracker but I see that Squeak 5.0 and 5.1 does not exist for "Product Build:” and "Product Version:”.
Would it be possible to add these?
There are no notes attached to this issue.




Viewing Issue Advanced Details
7853 [Squeak] Any major always 07-22-16 22:22 07-28-16 10:25
TimNN  
KenCausey  
normal  
assigned trunk  
open  
none    
none  
Files-cmm.159 causes a regression (since #/ returns object of a different class)
The following works without issues before `Files-cmm.159`:

```smalltalk
((FileDirectory on: '/'))
((FileDirectory on: '/') / 'tmp')
((FileDirectory on: '/') / 'tmp') pathName
```

Printing each line gives:

```
UnixFileDirectory on '/'
UnixFileDirectory on '/tmp'
'/tmp'
```

Since `Files-cmm.159` the last line fails, the output is then (with the last line being a signaled error):

```
UnixFileDirectory on '/'
a DirectoryEntryDirectory tmp
MessageNotUnderstood: DirectoryEntryDirectory>>pathName
```
Notes
(0014592)
TimNN   
07-28-16 10:14   
This seems to have been fixed by `Files-cmm.161`, so anyone with the privileges feel free to mark this as resolved (I don't seem to be able to do so myself).
(0014593)
TimNN   
07-28-16 10:25   
I retract my previous statement, this issue has only been fixed if the path (in this case `/tmp`) refers to a directory, if it refers to a file this still fails:

Printing each line for the file case before:

```
((FileDirectory on: '/tmp')) UnixFileDirectory on '/tmp'
((FileDirectory on: '/tmp') / 'any_file') UnixFileDirectory on '/tmp/any_file'
((FileDirectory on: '/tmp') / 'any_file') pathName '/tmp/any_file'
```

After:

```
((FileDirectory on: '/tmp')) UnixFileDirectory on '/tmp'
((FileDirectory on: '/tmp') / 'any_file') a DirectoryEntryFile any_file
((FileDirectory on: '/tmp') / 'any_file') pathName MessageNotUnderstood: DirectoryEntryFile>>pathName
```




Viewing Issue Advanced Details
7767 [Squeak] Traits minor always 06-04-13 13:43 07-03-16 04:29
FrankShearar  
FrankShearar  
normal  
resolved trunk  
fixed  
none    
none  
- does not respect brackets
In the composition (S + T) - m, where m is a set of excluded selectors, m is not removed from the TraitComposition (S + T), but only from T.
Notes
(0014569)
Patrickr   
11-18-15 15:21   
Does anyone have a strong opinion on this one? The behavior was intended like that as can be seen in this method:

TraitComposition>>#- anArray
    "the modifier operators #@ and #- bind stronger than +.
    Thus, #@ or #- sent to a sum will only affect the most right summand"
    
    self addLast: (self removeLast - anArray)

However, this violates the normal evaluation order of Squeak Smalltalk, so I would propose, that we remove this behavior.
(0014571)
FrankShearar   
11-18-15 15:29   
I asked the Pharo guys (where most of the people who wrote the papers on Traits hang out), and their reply is here: http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/2013-June/080155.html [^]

The gist? It's a bug.
(0014572)
Patrickr   
11-18-15 15:42   
Thanks for the hint :)

So, I am going to change this to the Pharo equivalent but without the comment which is kind of confusing, as the behavior does not look like #- would bind stronger than #+ anymore.

- anArray
    "the modifier operators #@ and #- bind stronger than +"
    
    self transformations: (self transformations collect: [ :t | t - anArray ])
(0014591)
lewis   
07-03-16 04:29   
Patrick Rein uploaded a new version of Traits to project The Trunk:
http://source.squeak.org/trunk/Traits-pre.307.mcz [^]
 
==================== Summary ====================
 
Name: Traits-pre.307
Author: pre
Time: 20 November 2015, 2:58:26.562 pm
UUID: f0955b2d-775c-4862-85b9-5d6e616cd2e4
Ancestors: Traits-eem.306
 
This fixes http://bugs.squeak.org/view.php?id=7767 [^] which is about the - and @ operator of Trait compositions ignoring brackets. This implementation uses the
+normal left to right evaluation order of Smalltalk to avoid confusions about the way trait composition expressions are evaluated.




Viewing Issue Advanced Details
7716 [Squeak] VM minor always 01-12-13 01:00 06-08-16 00:17
lewis  
lewis  
normal  
resolved  
fixed  
none    
none  
Harvest HostWindowPlugin enhancements from Qwaq/Teleplace (now 3d ICC)
As noted by Eliot Miranda:
An additional piece of history is that a number of plugins, including
the HostWindowPlugin, were enhanced at Qwaq/Teleplace (now 3d ICC), in a
cross-platform manner since we supported Mac and Windows initially and
later had a linux prototype. The code for some of these enhanced plugins,
including the HostWindowPlugin, was released along with Cog, which has an
MIT license. So if you mine the COg branch you'll find code that can be
folded back into trunk you'll get the enhanced functionality. For the
Qwaq/Teleplace HostWindowPlugin that included setting the window title,
repositioning and resizing the main window, querying its size, etc.
Discussed here: http://lists.squeakfoundation.org/pipermail/vm-dev/2013-January/011799.html [^]
Notes
(0014590)
lewis   
06-08-16 00:17   
The key enhancements are now in the trunk and oscog VM branches, and the X11 host window support works for the main Squeak display window.




Viewing Issue Advanced Details
7849 [Squeak] Files major always 03-22-16 02:02 03-22-16 02:02
anonymous90  
 
normal  
new 5.0  
open  
none    
none  
FileDirectory issues with relative UNIX paths in Squeak 5.0
If you evaluate this in Squeak 5.0 on UNIX:
   (FileStream forceNewFileNamed: 'foo.txt') close.
   FileDirectory default directoryEntryFor: './foo.txt'

you get nil. change the './foo.txt' to 'foo.txt', and it works as expected.

A similar error occurs when creating FileDirectories:

   FileDirectory forFileName: './foo.txt'

gives a FileDirectory for the root "/" directory. but replace './foo.txt' with 'foo.txt', and it works.
There are no notes attached to this issue.




Viewing Issue Advanced Details
7848 [Squeak] Tools minor always 03-20-16 22:49 03-20-16 23:01
mva  
 
normal  
new 5.0  
open  
none    
none  
In FileList, trying to drag a file that is not previously selected triggers 'Error: subscript is out of bounds: 0'
In FileList, trying to drag a file that is not previously selected triggers 'Error: subscript is out of bounds: 0'.

Steps to reproduce:
Open FileList by clicking Tools, FileList.
Select a directory by clicking on the directory name in the directory tree on the left.
In the file list on the right, start dragging a file. You only need to drag it a few pixels and then release the mouse button.
You will get the following error 'Error: subscript is out of bounds: 0'.

FileListDragFile-M7848-mva.1.cs.gz (0 KB) 03-20-16 22:57
Notes
(0014588)
mva   
03-20-16 23:01   
Added a fix for this.




Viewing Issue Advanced Details
7846 [Squeak] Tools major always 01-29-16 23:26 01-29-16 23:26
Nicolai Hess  
 
normal  
new 5.0  
open  
none    
none  
ProcessBrowser wrong syntax highlight and syntax debugger error
Open ProcessBrowser
select a process
select a context of this process
the code pane shows the code of this context but the syntax highlighting is
wrong. Most code is black with some red words.

And if you select process "the timer interrupt watcher" and the
context of
Delay class >> runtTimerLoop
a syntax error debugger opens with the following message

"tamp: Argument name expected ->'mt 5/14/2015 18:08' prior: 55090637"
There are no notes attached to this issue.




Viewing Issue Advanced Details
7826 [Squeak] Documentation trivial always 03-17-15 20:25 01-23-16 17:15
faried  
casey  
normal  
assigned trunk  
open  
none    
none  
incorrect instructions for setting up OCompletion in 4.5
"Extending the system" under "Help" has incorrect instructions for installing OCompletion.
The right ones, based on http://rotatef.blogspot.com/2013/02/ocompletion-and-squeak-44.html, [^] are

(Installer ss project: 'OCompletion') install: 'Ocompletion'.
(Installer ss project: 'MetacelloRepository') install: 'ConfigurationOfOCompletion'.

" this might work as well: ... project version: #stable) load."
((Smalltalk at: #ConfigurationOfOCompletion) project version: '1.4.2') load.

(Smalltalk at: #ECToolSet) register.
(Smalltalk at: #ToolSet) default: (Smalltalk at: #ECToolSet).
Notes
(0014587)
faried   
01-23-16 17:15   
By the way, this is still broken. I just followed my own instructions, in the blog post, to install 1.4.3 for 5.0.




Viewing Issue Advanced Details
5228 [Squeak] VM major always 10-12-06 18:06 12-11-15 03:50
Ron  
lewis  
normal  
resolved 3.9  
fixed  
none    
none  
Include Cryptographic Primitives in Base VM - DESPlugin
Hans-Martin did some testing and as we expected the performance of pure squeak cryptography is disapointing:

Hans-Martin wrote:
"Ok, I did some measurements. Results are pretty disappointing.
Squeak on my AMD 3800+ processor encrypts 32 KBytes using 3DES CBC mode in about 8 seconds - unusable for anything but a proof-of-concept.
Therefore I think that DES (and maybe some other small cryptographic
primitives) should be part of the base VM."

The DESPlugin is already a part of the VMMaker, I am asking the VM group to please include the DESPlugin in the base VM that is distrubuted. We will be submitting more code and will follow the process of code -> VMMaker -> VM. If the VM team wants to wait before building a new VM's until other primitives are available, that is fine, but if a build is going to be done anyway for other issues, please include the DESPlugin.

Thank you for your help!
Ron Teitelbaum
Cryptography Team Leader
DESPlugin.st (18 KB) 10-12-06 20:16
RobDESPlugin.st (18 KB) 10-12-06 21:04
Notes
(0007663)
Ron   
10-12-06 20:15   
From: Robert Withers
Sent: Thursday, October 12, 2006 11:50 AM

Ron, I don't believe the DESPlugin is part of VMMaker. It is part of our DES package and it is confused about it's superclass. Steps to get the DESPlugin into an image with VMMaker:

1) take 3.7 image, which has VMMaker loaded.
2) load Cryptography package from SqueakMap (no Monticello in 3.7)
3) respecify the superclass of DESPlugin to be InterpreterProxy.
4) run VMMaker and generate plugin

The 3.8/3.9 image has no VMMaker in it and the VMMaker on SqueakMap is in an inconsistent state.

I hope this helps,
Robert
(0007664)
Ron   
10-12-06 20:15   
Rob,

Thank you for that clarification. I thought that it was already included.

Tim,

Since it is not part of the VMMaker can we have it included? What specifically do you need from us to make this happen? Does the plug-in need to be pulled out of our code and submitted separately? I attached a st file of the plug-in.

Ron
(0007665)
Ron   
10-12-06 21:01   
Ron,


That fileout has ProtoObject as the superclass, that needs to be replaced with InterpreterPlugin, I believe is the correct superclass - not InterpreterProxy.


Rob

I replaced the uploaded file with Rob's version
(0007666)
Ron   
10-12-06 21:04   
Ok I uploaded a RobDESPlugin.st << Please use this file.
(0011615)
tim   
12-29-07 03:41   
OK, I can include the DES plugin but someone needs to bring it up to date;
swap the _ assigns for := assigns
remove the silly comments ("who is keyser soze" for example)
use the 64bit clean types such as usqInt instead of unsigned long
use the 64bit clean macros such as byteAtPointer()
(0012189)
tim   
05-27-08 18:16   
Reminder sent to: Ron
Since I'm trying to update VMMaker, you might like to update the plugin code as per my last note.
(0012466)
tim   
08-07-08 00:29   
Reminder sent to: Ron
Any progress on this?
(0014584)
lewis   
12-11-15 03:20   
Discussed and agreed on vm-dev list http://lists.squeakfoundation.org/pipermail/vm-dev/2015-December/020108.html [^]

Remove DSAPlugin from VMMaker (trunk and oscog both), and refer instead
to the version in the Cryptography repository. This enables inclusion
of three other Cryptography plugins from that repository, and also puts
responsibility for ongoing maintenance of the DSAPlugin with the
Cryptography team.

DSAPlugin has been removed from VMMaker and VMMaker.oscog, and build script will now refer to Crytography.
(0014585)
lewis   
12-11-15 03:50   
DSAPlugin has been removed from VMMaker and VMMaker.oscog, and build script will now refer to Crytography.




Viewing Issue Advanced Details
7844 [Squeak] Morphic minor always 12-08-15 23:31 12-08-15 23:32
Nicolai Hess  
 
normal  
new  
open  
none    
none  
strange rounded scrollbar look
If you enable roundedScrollBarLook, the scrollbars look really
strange (see screenshot)
squeak_roundedscrollbarlook.png (15 KB) 12-08-15 23:31
Notes
(0014583)
Nicolai Hess   
12-08-15 23:32   
"the vertical scrollbars" look really strange




Viewing Issue Advanced Details
1436 [Squeak] System minor always 07-08-05 18:47 12-07-15 13:27
noury windows  
windows  
normal  
new 3.8  
open  
none    
none  
[BUG] FileDirectory root
Hi,

I'm working on Windows XP. When I ask for the root file directory
(FileDirectory root)
I get an empty directory (FileDirectory on: ' ') which refer to the
image directory.
It works well for creating subdirectories
"
FileDirectory root createDirectory: 'MyDir'.

"However, when I try to retreive the created subDir
"
FileDirectory root directoryNamed: 'MyDir'

"BTW
"
FileDirectory root createDirectory: 'MyDir'.
"Answers the parent dir (FileDirectory root) instead of the created dir
(MyDir) as I first expected
... It seems strange to me..."
Doesn't seem to be an issue on mac osx/unix. Is it still troublesome in windows?
Notes
(0014582)
Patrickr   
12-07-15 13:27   
I am looking into this issue and it strikes me as rather twisted.

The main issue is, that the empty string as a path is ambiguously handled in the DosFileDirectory:

(FileDirectory on: '') directoryNames "Returns the drives of the system"

(FileDirectory on: '') createDirectory: 'TestDir' "Creates a directory in the image folder"


I think the empty string should be consistent with other platforms and refer to the image folder. Any other opinions or experiences why this works like that?




Viewing Issue Advanced Details
7842 [Squeak] FFI minor always 12-01-15 21:09 12-01-15 21:09
Nicolai Hess  
 
normal  
new 4.5  
open  
none    
none  
FFI examples on Linux /Unix examples don't work
X11Display coloredRectangles

raises an error « coud not coerce arguments

posted on the mailing list and we have a bug entry in pharos bug tracker.

My analysis:

I replaced all X11Drawable arguments in the ffi call signature to ulong
and replace the call ... drawable ... with ... drawable xid ...

But I am confused because the latest update for the examples had
the comment "made the XLib examlpes actually work". So maybe my usage or version
of FFI is wrong.
see discussion
http://forum.world.st/FFI-examples-on-Linux-don-t-work-tp4779450.html [^]
and
http://forum.world.st/Maintainer-of-FFI-Package-tp4781016.html [^]

attached the change set I made to make the examples working again.
But I don't know
fix_ffi_unix_examples.1.cs (6 KB) 12-01-15 21:09
There are no notes attached to this issue.




Viewing Issue Advanced Details
7814 [Squeak] Any major always 03-30-14 11:36 11-21-15 22:03
Herbert Koenig  
lewis  
normal  
acknowledged  
open  
none    
none  
Can't save morphic projects from 4.5 to local disk only
In a fresh 4.5 all in one:
Projects --> new morphic project
In that Project:
Projects --> save project
Fill in the dialog, save on local disk only --> MNU "ScrapBook>>emptyScraps book"

Fails with empty project and with some Morphs in the project
MessageNotUnderstood# ScrapBook##emptyScrapsBook.png (28 KB) 03-30-14 11:36
NotImplemented# ClassBinding or a superclass should implement objectForDataStream#.gif (20 KB) 03-30-14 15:24
Notes
(0014492)
Herbert Koenig   
03-30-14 11:40   
OS: Win 7 64 Bit Home Premium
(0014493)
lewis   
03-30-14 14:07   
We have at least two problems here. The first problem is MNU ScrapBook>>enptyScrapsBook. This is a spelling error in some recently refactored methods, and is now fixed in trunk.

There is an additional problem, not yet resolved, related to Environments. Saving a project now leads to:

ClassBinding>>objectForDataStream: refStream
    "It's not yet clear how serialization should work in the presence of environments"
    
    self shouldBeImplemented.
(0014535)
lewis   
07-26-15 02:56   
Colin suggested a short-term fix here:
http://lists.squeakfoundation.org/pipermail/squeak-dev/2014-September/180018.html [^]

For Binding>>objectForDataStream: the easy fix for the default case is to use the same implementation as Association>>objectForDataStream:. This will make save and reloading of object work in the case where there's only one environment in the image.

The case of multiple environments boils down to this: saving objects to
disk would have to be done from the perspective of a given environment, and
loading would have to be done from that of an equivalent environment.
Association's implementation special-cases instances that represent global
variables so that they get looked up in "Smalltalk globals" when the
objects are reloaded from disk. That should be replaced with "Environment
current" so that the lookup happens in the environment we're loading
against, rather than the environment where Binding is compiled.

Looking further up the layers of abstraction, each Project should probably
have its own environment, which would be used for compiling custom code for
that project, and serializing the project to disk.

(0014579)
kfr   
11-21-15 22:03   
http://source.squeak.org/trunk/Environments-kfr.59.mcz [^]

Colin's suggested workaround for Bindings

http://lists.squeakfoundation.org/pipermail/squeak-dev/2014-September/180018.html [^]




Viewing Issue Advanced Details
7770 [Squeak] Compiler minor always 06-19-13 09:49 11-20-15 11:13
vaidasd  
 
normal  
new 4.4  
open  
none    
none  
cascading does not work with super
Compiler refuses to compile
super
    initialize;
    setListProperties
Notes
(0014363)
FrankShearar   
06-19-13 09:54   
What do you expect this to mean? A cascade says "send this sequence of messages to the same object", so do you expect this to be equivalent to

  super initialize.
  self setListProperties.

?
(0014567)
Patrickr   
11-18-15 13:57   
For consistency reasons, I'd actually expect this to be equivalent to:

super initialize.
super setListProperties.

corresponding to:

self
  initialize;
  setListProperties.

and:

self initialize.
self setListProperties.

(0014577)
marceltaeumel   
11-20-15 11:10   
I would rather not support cascading for super sends because this might easily be overlooked when debugging. It is not only about sending messages to the same object but also modifying message lookup again and again.

Such code smells. :-/
(0014578)
krono   
11-20-15 11:13   
+1 Expected behavior, I'd say.




Viewing Issue Advanced Details
7774 [Squeak Packages] Installer major always 06-25-13 08:04 11-20-15 11:04
heikos  
Keith_Hodges  
normal  
assigned  
open  
none    
none  
Description for the Usage on Windows (All in One Package) definetely not correct
Dear team,

it was said, that you can start different Image-Files as it is the use for Smalltalk-Systems. You have to Right-Click on the image file and search in the settings for the virtual machine. Has it been tested on Windows XP? I don't believe. That does not function! Everytime Squeak comes up with a message error, calling *no content to install*.

I am an administrator which has to bring up a Windows XP desktop for a school (although preferring Linux!). On Linux there are no probs with Squeak. But on Windows the description on the website is definetely not correct IMHO (has it been *really* tested?); the configuration file shows version 4.3 as the windows title. That is not a prob, but I assume that some tests have not been done.
Squeak is not a great, but a *very* great thing. But I do not believe that these unnecessary problems support acceptance.

Greetings
Heiko Schroeder
Notes
(0014574)
Patrickr   
11-20-15 10:28   
Does anyone know to which part of the website this refers to? This sound like it is solved with the new website and could be closed.
(0014575)
Nicolai Hess   
11-20-15 11:01   
I don't know where this is refereed on the website, but it is still an
issue on windows if you use a all-in-one squeak distribution and
tries to open a squeak.exe with a different squeak.image or the "correct" image
from a different location
For example, copy the squeak image from
Squeak-5.0-All-in-One\Squeak-5.0-All-in-One.app\Contents\Resources
to
Squeak-5.0-All-in-One\Squeak-5.0-All-in-One.app\Contents\LinuxAndWindows

open LinuxAndWindows in a explorer and drag and drop the image file on
the squeak.exe
-> CodeLoader Error: no content t o install.
(0014576)
Nicolai Hess   
11-20-15 11:04   
And the image that actually starts is not the one you dragged onto the vm
but the image that is defined in the squeak.ini file




Viewing Issue Advanced Details
7839 [Squeak] OS-Win32 minor always 11-12-15 12:07 11-18-15 20:40
sumi  
 
normal  
new 5.0  
open  
none    
none  
destroy then install shared flaps causes an error on Win VM
flaps... -> destroy all shared flaps -> install default shared flaps operation could not be completed because of an error on Windows VM. (on Mac OS X, it could be completed without problem.)

It seems malfunction of the #become: in UnscriptedPlayer >> #assureUniClass on Win VM.
Notes
(0014573)
Nicolai Hess   
11-18-15 20:40   
I can reproduce this error only in 5.0, not in 4.6 maybe this
is an issue with spur ?




Viewing Issue Advanced Details
7768 [Squeak] Morphic minor always 06-13-13 19:55 11-18-15 15:28
FrankShearar  
 
normal  
new trunk  
open  
none    
none  
Filters sometimes don't stop filtering
* open a Browser
* in the System Category pane, type "net"
* alt-f to find Browser (which is in a Tools package)
* Note how Browser's being browsed, but the System Category pane still shows only those packages matching "net". It should show all the system categories, and have the selected class' category selected.

I think this is because the PluggableListMorphPlus isn't told to #removeFilter. Ah, but it is! So the list looks like it's unfiltered - no pink - but the items in the list only contain the short, filtered list of items.
Notes
(0014570)
Patrickr   
11-18-15 15:28   
This is still an issue in 4.5, but has been fixed in 5.0. As this issue only refers to trunk, I propose to either change the version of this issue or close it.




Viewing Issue Advanced Details
7796 [Squeak Website] text always 11-24-13 15:51 11-18-15 14:36
Nicolai Hess  
 
normal  
new  
open  
none    
none  
current release at www.squeak.org 4.3 or 4.4?
Two links at www.squeak.org/Download link to
http://ftp.squeak.org/4.3/Squeak-4.3-All-in-One.zip [^]

1. (At top) Fastest way to start is *Squeak All-in-One* distribution ...
2. Image file
This is the official Squeak release.

    *Squeak Release*

but the one link on the right side mentions Version 4.4 and links
to this version.
Notes
(0014568)
Patrickr   
11-18-15 14:36   
This should be closed.




Viewing Issue Advanced Details
5506 [Squeak] Morphic minor always 11-24-06 20:10 11-17-15 13:11
sumi  
lewis  
normal  
resolved 3.9  
fixed  
none    
none  
[BUG][FIX] find again (alt + g) doesn't work properly after replace again (alt + j) shortcut
After "alt + f" or "alt + h" (set find string), "alt + g" (find again) works fine.
After "alt + f" or "alt + h" then type something (replace string), "alt + g" works fine, too.
But, after "alt + f" or "alt + h" then type something then "alt + j" (replace again), "alt + g" doesn't work properly but seems working as "replace again".

The attached changeset file fixes the problem.
ParagraphEditor-findAgain.st.gz (0 KB) 11-24-06 20:10
findAgainFix-sumim.1.cs.gz (0 KB) 11-17-15 05:08
Notes
(0014566)
lewis   
11-17-15 13:11   
Fixed now in Squeak trunk.

http://lists.squeakfoundation.org/pipermail/squeak-dev/2015-November/186769.html [^]
http://lists.squeakfoundation.org/pipermail/squeak-dev/2015-November/186771.html [^]




Viewing Issue Advanced Details
7841 [Squeak] VM minor always 11-16-15 08:58 11-16-15 20:57
Nicolai Hess  
lewis  
normal  
assigned  
open  
none    
none  
error "please insert disk" (windows vm)
If you have a device (usb card reader) and eject the disk/card. Every access
on the directory list, that will ask the drive if it is empty, will
trigger a modal dialog:
"There is no disk in the drive. Please insert a disk into drive <etc>"

There is no way to bypass this error message dialog from within the image.
We need a change for the squeak windows vm.
see thread http://forum.world.st/error-please-insert-disk-windows-vm-tp4859473.html [^]
bug_7841_error_insert_disk.patch (2 KB) 11-16-15 20:56
Notes
(0014563)
Nicolai Hess   
11-16-15 09:00   
The solution I found is to call SetErrorMode(SEM_FAILCRITICALERRORS)

I would like to propose the following change to sqwin32directory.c
wrap the call to FindFirstFileW/FindNextFileW with

UINT prevMode = SetErrorMode(SEM_FAILCRITICALERRORS);
call FindFirstFileW/FindNextFileW
SetErrorMode(prevMode);

...

and call this functions in at least dir_lookup()
(the other file/directory methods are save).
(0014565)
Nicolai Hess   
11-16-15 20:57   
attached a patch with the suggested fix.




Viewing Issue Advanced Details
7840 [Squeak] Tools tweak always 11-13-15 01:59 11-13-15 01:59
sumi  
 
normal  
new 5.0  
open  
none    
none  
[ENH][FIX] add new point size menu to FontChooser like StrikeFont fromUser (and fix)
This patch allows you to use "new size..." yellow menu on FontChooserTool if TTCFont family selected, like StrikeFont fromUser.

And also includes code to prevent StrikeFont fromUser generated menu from an error if you choose "new size" sub-menu item and then accept non-number string or cancel the dialog raised by #addNewFontSizeDialog: .
addNewFontSizeMenuForFontChooser-sumim.4.cs (2 KB) 11-13-15 01:59
There are no notes attached to this issue.




Viewing Issue Advanced Details
7832 [Squeak] Any minor always 09-12-15 21:07 09-12-15 21:07
Nicolai Hess  
KenCausey  
normal  
assigned 5.0  
open  
none    
none  
Cut off info text about 32-libs
If you start squeak on a 64-bit system you will see the following "warning"
on the command line, for Squeak 4.6:

Squeak on a 64-bit System. Hope the 32-bit runtime libraries are installed ...

But for Squeak-5.0 the text looks "cut off":

Running 32-bit Squeak on a 64-bit System. install-libs32 may install them.
There are no notes attached to this issue.




Viewing Issue Advanced Details
7831 [Squeak] Any minor always 09-12-15 21:02 09-12-15 21:02
Nicolai Hess  
KenCausey  
normal  
assigned 5.0  
open  
none    
none  
Horizontal scrollbar not always proprtional to the content
The is some strange behavior on the horizontal scrollbar, sometimes
it enables scrolling about an area that is much bigger than the
content, and sometimes it is to small.

attached a picture of the system browser, showing both issues.

In the package pane, you see already the "longest content" but the
scrollbar allows to scroll an addition third. So, you can scroll the
whole content out of the screen.
On the other side, the method pane, the scrollbar is already on the
right most position, but you still can not see the last part of the method names.

(It seems, this discrepancy between the visible area and the size of the scrollbar depends on the window size)
SqueakScreen.2.png (46 KB) 09-12-15 21:02
There are no notes attached to this issue.




Viewing Issue Advanced Details
7830 [Squeak] Any minor always 09-11-15 20:59 09-11-15 20:59
Nicolai Hess  
KenCausey  
normal  
assigned 5.0  
open  
none    
none  
MessageNotUnderstood: SolidFillStyle>>addFillStyleMenuItems:hand:from:
Show Halos for the Desktop (world) and select the "Menu"-Halo
-> MessageNotUnderstood: SolidFillStyle>>addFillStyleMenuItems:hand:from:
There are no notes attached to this issue.




Viewing Issue Advanced Details
7829 [Squeak] Graphics minor always 09-11-15 12:03 09-11-15 12:03
Nicolai Hess  
 
normal  
new  
open  
none    
none  
New soft shadow isn't "soft" in some situations
Enable soft shadow (it is enabled by default in Squeak 5.0).

change display depth < 32
or
drag a progress morph
or
drag a tool from the "objects" dialog or from the "Tools"-flap

while the object is being dragged, the soft shadow not soft but a big
black border.
There is another issue with soft shadows for menus.
(I tried to make a screenshot but the artifact is not visible in the screenshot)
For example:

open system browser
press the "source"-button (press in the middle of the button)
-> on the right side of the mouse, the menu opens, on the left
side, you'll see a dark shadow (rendering artifact) on the source button.
There are no notes attached to this issue.




Viewing Issue Advanced Details
7828 [Squeak 3.8] tweak always 06-30-15 09:13 06-30-15 09:13
JulianN  
 
normal  
new  
open  
none    
none  
Monticello Merge Functionality not intuitive
When mergeing using the monticello merge functionality it is not comprehensible what the different colors (red, blue (stroked), not marked) mean in respect to your changes.
There are no notes attached to this issue.




Viewing Issue Advanced Details
7793 [Squeak] VM minor always 10-19-13 21:36 04-22-15 21:40
lewis  
lewis  
normal  
resolved  
fixed  
none    
none  
Memory leak in the SqueakSSL plugin on unix
Reported by Levente Uzonyi on squeak-dev:

We've been experiencing memory leakage in long running Squeak images using
SqueakSSL. After a bit of monitoring I found that 132 bytes get leaked
for each https request done from the image. After a bit of code review,
I've probably found the culprit, and another potential source of memory
leak. For the reference, the source file this mail is about is
http://squeakvm.org/cgi-bin/viewvc.cgi/squeak/branches/Cog/platforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.c?revision=2713&view=markup [^]
 
The main memory leak is in sqDestroySSL function (starting on line 117),
which doesn't free the bioRead and bioWrite variables (allocated by
sqCreateSSL on line 98-99) of the ssl object. My suggested solution is to
insert the following two lines before line 132:
 
        BIO_free_all(ssl->bioRead);
        BIO_free_all(ssl->bioWrite);
 
The other potential source of memory leak is sqSetStringPropertySSL
(starting on line 381). It allocates a chunk of memory on line 389, but
doesn't use nor free it, if the propID argument is not
SQSSL_PROP_CERTNAME. My suggested solution is to insert the following line
after line 396:

        if(property) free(property);

Note that I haven't tested any of these, but I hope someone who is more
into VM building right now will try them.
sqUnixOpenSSL.c.gz (3 KB) 10-20-13 03:44
Notes
(0014468)
lewis   
10-20-13 17:00   
The fix has been applied to trunk (interpreter), and the identical update should be added in Cog and Pharo.
(0014529)
lewis   
01-30-15 01:31   
Fix has been applied to SVN trunk
(0014533)
krono   
04-22-15 21:40   
This is also fixed in binary at https://github.com/itsmeront/squeakssl/releases/tag/v0.2.0 [^]




Viewing Issue Advanced Details
7824 [Squeak] VM feature always 10-17-14 00:43 04-22-15 21:39
lewis  
lewis  
normal  
assigned  
open  
none    
none  
Add TLS SNI Server Name Indication support to SqueakSSL plugin
Date: Thu, 16 Oct 2014 13:46:45 +0200 (CEST)
From: Levente Uzonyi <leves@elte.hu>
To: vm-dev@lists.squeakfoundation.org, squeak-dev@lists.squeakfoundation.org
Subject: [Vm-dev] SqueakSSL + TLS SNI
 
Hi,
 
I've implemented support for TLS SNI[1] for SqueakSSL on unix. I've uploaded the modified source files[2][3], a diff[4], and a prebuilt module[5] (built on Ubuntu 14.04 from the Cog branch).

The image side code is also available[6], along with an updated version of the WebClient[7] package, and intermediate packages with various improvements[8].

The image side code works even if the plugin doesn't support TLS SNI, but this version of WebClient won't work with older versions of the SqueakSSL-Core package.

Please review the changes, and consider adding them to the corresponding repositories!

Levente

[1] https://en.wikipedia.org/wiki/Server_Name_Indication [^]
[2] http://leves.web.elte.hu/squeak/SqueakSSL/SqueakSSL.h [^]
[3] http://leves.web.elte.hu/squeak/SqueakSSL/sqUnixOpenSSL.c [^]
[4] http://leves.web.elte.hu/squeak/SqueakSSL/diff.txt [^]
[5] http://leves.web.elte.hu/squeak/SqueakSSL/SqueakSSL [^]
[6] http://leves.web.elte.hu/squeak/SqueakSSL/SqueakSSL-Core-ul.29.mcz [^]
[7] http://leves.web.elte.hu/squeak/SqueakSSL/WebClient-Core-ul.98.mcz [^]
[8] http://leves.web.elte.hu/squeak/SqueakSSL/ [^]
diff.txt (3 KB) 10-17-14 00:46
sqUnixOpenSSL.c (14 KB) 10-17-14 00:47
SqueakSSL.h (5 KB) 10-17-14 00:47
sqUnixSocket.diff (7 KB) 10-17-14 00:47
WebClient-Core-ul.98.mcz (105 KB) 10-17-14 00:48
SqueakSSL-Core-ul.29.mcz (32 KB) 10-17-14 00:48
SqueakSSL (80 KB) 10-17-14 00:48
sqMacSSL.patch (17 KB) 04-10-15 01:00
sqMacSSL.c (16 KB) 04-10-15 01:00
Notes
(0014519)
lewis   
11-12-14 22:56   
Updates added to the oscog branch in Revision: 3130. Still needs to be applied to trunk.
(0014530)
lewis   
04-10-15 00:58   
Subject: Re: [squeak-dev] SqueakSSL + TLS SNI
From: Tobias Pape <Das.Linux@gmx.de>
Date: Fri, 10 Apr 2015 02:17:45 +0200
To: The general-purpose Squeak developers list <squeak-dev@lists.squeakfoundation.org>

Hi,

On 16.10.2014, at 13:46, Levente Uzonyi <leves@elte.hu> wrote:

I have things for OSX i think.
Can someone confirm?

[-- Attachment 0000002: sqMacSSL.patch --]

[-- Attachment 0000003: sqMacSSL.c --]

Best
        -Tobias
(0014532)
krono   
04-22-15 21:39   
All this is now available on https://github.com/itsmeront/squeakssl/releases/tag/v0.2.0 [^]




Viewing Issue Advanced Details
7817 [Squeak] VM minor always 04-13-14 14:38 12-10-14 15:59
lewis  
lewis  
normal  
assigned  
open  
none    
none  
Fix vm-display-X11 problem for Japanese character input
Fix provided by Hachisuka-San in Aichi Sangyo University

Reported by TAKAHASHI Makoto (makoto at kobe-u.ac.jp)

Posted by Hilaire Fernandes on Pharo list
http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/2014-April/094588.html [^]

Proposed fix for vm-display-X11/sqUnixX11.c is included in post from Hilaire.
Fix excerpted from mailing list post:
De : "TAKAHASHI Makoto" <makoto at kobe-u.ac.jp>
Date : 11 avr. 2014 15:46
Objet : Re: Japanese input in DrGeo
À : <hilaire.fernandes at gmail.com>
Cc :

Hello Hilarie,

Recently, Hachisuka-San in Aichi Sangyo University has resolved the issue
of Scratch in Linux.
http://www.asu.ac.jp/hachi/v3/scratch14ime.html [^]

Unfortunately, this page is written in Japanese. (However you can see
codes.)
The resolution of the problem in DrGeo is as follows:
1. In drgeo.sh, add exec options '-compositioninput' like
exec "$VM/pharo" \
        -plugins "$VM" \
        -encoding utf-8 \
        -vm-display-X11 \
        -compositioninput \
        "$image"

2. Change recordPendingKeys(void) in vm-display-X11/sqUnixX11.c as follows
and
rebuild vm-display-X11.

static int recordPendingKeys(void)
{
  if (inputCount <= 0) {
    if (inputBuf != inputString) {
      free(inputBuf);
      inputBuf= inputString;
    }
    return 0;
  }

  int utf32 = 0;
  while (inputCount > 0) {
        //110x xxxx 10xx xxxx
        if(inputCount >= 2 &&
           pendingKey[0] >= 0xc0 && pendingKey[0] <= 0xdf &&
           pendingKey[1] >= 0x80 && pendingKey[1] <= 0xbf)
                {
                utf32 = ((pendingKey[0] & 0x1f) << 6) |
                         (pendingKey[1] & 0x3f);
                recordKeyboardEvent(0, EventKeyDown, modifierState, utf32);
                recordKeyboardEvent(0, EventKeyChar, modifierState, utf32);
                pendingKey+=2;
                inputCount-=2;
        //1110 xxxx 10xx xxxx 10xx xxxx
        } else if(inputCount >= 3 &&
                  pendingKey[0] >= 0xe0 && pendingKey[0] <= 0xef &&
                  pendingKey[1] >= 0x80 && pendingKey[1] <= 0xbf &&
                  pendingKey[2] >= 0x80 && pendingKey[2] <= 0xbf)
                {
                utf32 = ((pendingKey[0] & 0x0f) << 12) |
                        ((pendingKey[1] & 0x3f) << 6) |
                         (pendingKey[2] & 0x3f);
                recordKeyboardEvent(0, EventKeyDown, modifierState, utf32);
                recordKeyboardEvent(0, EventKeyChar, modifierState, utf32);
                pendingKey+=3;
                inputCount-=3;
        //1111 0xxx 10xx xxxx 10xx xxxx 10xx xxxx
        } else if(inputCount >= 4 &&
                  pendingKey[0] >= 0xf0 && pendingKey[0] <= 0xf7 &&
                  pendingKey[1] >= 0x80 && pendingKey[1] <= 0xbf &&
                  pendingKey[2] >= 0x80 && pendingKey[2] <= 0xbf &&
                  pendingKey[3] >= 0x80 && pendingKey[3] <= 0xbf)
                {
                utf32 = ((pendingKey[0] & 0x07) << 18) |
                        ((pendingKey[1] & 0x3f) << 12) |
                        ((pendingKey[2] & 0x3f) << 6) |
                         (pendingKey[3] & 0x3f);
                recordKeyboardEvent(0, EventKeyDown, modifierState, utf32);
                recordKeyboardEvent(0, EventKeyChar, modifierState, utf32);
                pendingKey+=4;
                inputCount-=4;
        } else {
                recordKeyboardEvent(*pendingKey, EventKeyDown,
modifierState, 0);
                recordKeyboardEvent(*pendingKey, EventKeyChar,
modifierState, 0);
                recordKeystroke(*pendingKey); /* DEPRECATED */
                pendingKey++;
                inputCount--;
        }
  }
  return 1;
}

3. Exchange vm-display-X11 in DrGeo.app/Contents/Linux.

I tried this resolution. Finally I can put japanese character in DrGeo in
LinuxMint 16.




TAKAHASHI Makoto E-mail makoto at kobe-u.ac.jp
drgeojapaneseinput.png (91 KB) 04-13-14 14:40
sqUnixX11.c (179 KB) 04-13-14 14:50
Notes
(0014495)
lewis   
04-13-14 14:47   
Original problem description and fix are at http://www.asu.ac.jp/hachi/v3/scratch14ime.html [^]

The attached sqUnixX11.c is from that web page.

(0014521)
lewis   
12-10-14 15:59   
Hillaire posted a follow up inquiry from
TAKAHASHI Makoto:

http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/2014-December/103882.html [^]




Viewing Issue Advanced Details
7822 [Squeak] VM feature always 10-11-14 21:46 10-12-14 13:09
lewis  
lewis  
normal  
assigned  
open  
none    
none  
Unix aio VM support for 1024+ descriptors
The unix aio mechanism is limited to 1024 active file descriptors for sockets and file handles. For server application with many active socket descriptors, and for which the per-process descriptor limit has been increased above the default of 1024, this limit causes problems.
Reported by Göran Krampe:
http://lists.squeakfoundation.org/pipermail/vm-dev/2014-October/016648.html [^]

Reference to a reported fix described at:
http://lists.squeakfoundation.org/pipermail/squeak-dev/2003-May/057750.html [^]

Contact Ragnar Hojland Espinosa for the fix as per above link. Presumably this is Linux specific, so appropriate ifdef and Cmake control will be required.
Notes
(0014516)
lewis   
10-12-14 13:09   
Levente Uzonyi adds this comment:

I think this is a great summary of the current status on unix systems:
http://daniel.haxx.se/docs/poll-vs-select.html [^]
I think the best would be to use libevent or libev, but adding support for
epoll (on linux only) is probably a lot easier thing to do.




Viewing Issue Advanced Details
7823 [Squeak] VM major always 10-11-14 22:05 10-11-14 22:07
lewis  
lewis  
normal  
assigned  
open  
none    
none  
Patch for socket accept problem on unix VM
Fix socket accept issues for unix VM server applications.

Detailed problem description at http://lists.squeakfoundation.org/pipermail/squeak-dev/2005-August/093575.html [^]

Fix provided by David Shaffer (cdshaffer at acm.org) http://lists.squeakfoundation.org/pipermail/squeak-dev/2005-August/093638.html [^]

Recent problem revival note http://lists.squeakfoundation.org/pipermail/vm-dev/2014-October/016648.html [^]
sqUnixSocket.diff (7 KB) 10-11-14 22:06
Notes
(0014515)
lewis   
10-11-14 22:07   
sqUnixSocket.diff is David Shaffer's patch that was attached to his email at http://lists.squeakfoundation.org/pipermail/squeak-dev/2005-August/093638.html [^]




Viewing Issue Advanced Details
7820 [Squeak] VM feature always 09-28-14 00:24 09-28-14 00:24
lewis  
lewis  
normal  
assigned  
open  
none    
none  
Add SCTP support to the socket plugin
Add SCTP support to the socket plugin, submitted by Holger Freyther.
Original post: http://lists.squeakfoundation.org/pipermail/vm-dev/2013-February/011971.html [^]

Socket support code patches: https://gitorious.org/cogvm/zeckes-cogvm/commit/24bb6fd2c1666137356754049f03ca5f246711d7 [^]
Patches are in the Pharo fork of the oscog branch. Could be harvested to trunk and oscog.

Other notes:
http://lists.squeakfoundation.org/pipermail/vm-dev/2013-February/011972.html [^]
http://lists.squeakfoundation.org/pipermail/vm-dev/2013-February/011973.html [^]
http://lists.squeakfoundation.org/pipermail/vm-dev/2014-September/016483.html [^]
There are no notes attached to this issue.




Viewing Issue Advanced Details
5711 [Squeak] Morphic minor always 01-08-07 15:03 09-16-14 19:06
jreyes  
nicolas cellier  
normal  
resolved 3.9  
fixed  
none    
none  
TextFieldMorph changes text position when emptied
Once initialized the TextFieldMorph displays an 'abc' text in the upper left corner. The text can be obviously edited but if you delete all the characters, the Morph changes its color to the default light gray and the text written after that doesnt appear in the top left corner anymore but one line below.
"Sample code"
textMorph:=TextFieldMorph new openInWorld.
"At this point I delete all characters ('abc') mannually and write some new text"
textMorph fit. "After this, text goes to the corner again"

-------------
Pressing Alt-0 the new text goes back to the corner as well, but that behaviour should be default. This reported change in text position doesnt happen either if you select the 'abc' initial text and write some replacement, only when the TextFieldMorph is emptied.
Mantis 0005711 - FixTextFieldMorphLinePosition.1.cs.gz (1 KB) 08-07-08 04:15
FixTextFieldMorphLinePosition-M5711-ASB.1.cs.gz (1 KB) 08-12-08 03:57
Notes
(0012465)
Antony Blakey   
08-07-08 00:01   
If you do this:

  textField := TextFieldMorph new.
  textField contents: ''.
  textField extent: 400 @ 40.
  textField openInWorld.

and then this:

  event := KeyboardEvent new setType: #keystroke buttons: 0 position: 0@0 keyValue: $a asciiValue hand: nil stamp: 0.
  textField submorphs first handleKeystroke: event.

then the text is one line down. If you subsequently do this:

  textField append: 'a'.

then the text goes back to the first line. I suspect it has something to do with the null line, that is inserted when the content is empty, being incorrectly processed for keystrokes, possibly an error in an optimization. I am tracing this to find a fix.
(0012471)
Antony Blakey   
08-07-08 04:01   
The bug is in TextComposer>>composeLinesFrom:to:delta:into:priorLines:atY:textStyle:text:container:wantsColumnBreaks:

When the null line is added, it uses "container topLeft", whereas the rest of the code use "container top", which for TextContainer is NOT the same as "topLeft y".

I've attached a changeset containing that fix.

(0012483)
Antony Blakey   
08-12-08 03:57   
Uploaded a properly-named change set after watching Ken Causey's screencast.
(0012486)
ScottWallace   
08-12-08 22:43   
Excellent catch, Antony! "Etoy" users are greatly affected by this bug, and I'll see to it that your fix gets into the olpc-etoys and Squeakland updates streams asap. Thank you!
(0012487)
ScottWallace   
08-13-08 01:49   
Actually, though in the image variant I was using I was able to reproduce the bug described above, and to verify that the proposed fix did work, I subsequently discovered that I could not reproduce the symptom in the current olpc/etoys and about-to-be-released squeakland images. So for the moment anyway I won't pursue pushing the change to those update streams. I don't yet understand what change(s) in those systems may have worked around the need for the fix, but I note that it wasn't any change to the method under discussion here...
(0012771)
MarcusDenker   
11-16-08 16:41   
in pharo 10151
(0014511)
nicolas cellier   
09-16-14 19:06   
Fixed in trunk 4.6
http://source.squeak.org/trunk/Graphics-topa.301.mcz [^]

Thanks Antony and Tobias




Viewing Issue Advanced Details
7539 [Squeak] VM feature always 05-28-10 00:52 05-19-14 23:05
lewis  
lewis  
normal  
assigned  
open  
none    
none  
Plugins should use platform libraries where possible. Gentoo removed Squeak for this reason.
Some plugins are built from archival copies of library source code. Where possible, these should use platform-supplied libraries to avoid security and licensing concerns. Use of old copies of library sources has let to removal of Squeak from at least one Linux distribution.
Gentoo discussion leading to removal of Squeak from distribution:
http://bugs.gentoo.org/show_bug.cgi?id=247363 [^]

Discussion on vm-dev begins here:
http://lists.squeakfoundation.org/pipermail/vm-dev/2010-May/004625.html [^]

John's summary and history rationale:
http://lists.squeakfoundation.org/pipermail/vm-dev/2010-May/004629.html [^]
http://lists.squeakfoundation.org/pipermail/vm-dev/2010-May/004633.html [^]
Notes
(0014505)
lewis   
05-17-14 14:03   
A caution regarding GPL versus LGPL licensing for libjpeg. I do not know if this is a problem, but it should be checked to ensure that we do not introduce a GPL dependency into the VM.

Date: Fri, 16 May 2014 22:51:17 +0200
Subject: Re: [squeak-dev] VM should use platform libraries where possible (was: 16 bit GIFs (was: A nitpick))
From: Nicolas Cellier <nicolas.cellier.aka.nice@gmail.com>
To: The general-purpose Squeak developers list
>
> There should be no GPL issues because linking to a runtime libjpeg is no
> different from linking to any other runtime library on Linux.
>
>
Beware, this is why LGPL was created for, no?
But GPL is different from LGPL.
I don't feel like reading those licenses again, it's just too boring, so
someone should confirm that:
link with GPL and you become GPL, it's viral.
(0014506)
lewis   
05-19-14 23:05   
From: David Corking <lists@dcorking.com>
Date: Mon, 19 May 2014 20:33:11 +0100
Subject: Re: [squeak-dev] VM should use platform libraries where possible (was: 16 bit GIFs (was: A nitpick))
To: The general-purpose Squeak developers list <squeak-dev@lists.squeakfoundation.org>

License
======

Sourceforge does not appear to host the current development of
libjpeg, and seems to have caused us unnecessary worry about the
license. The SF site has version 6b, which is 6 years behind Guido
Vollbeding's version 9a. (I think SF may have trouble displaying licenses
that aren't from a standard short list, so ended up with the wrong one.)

Version 9a is at http://ijg.org/ [^]

Whether from Sourceforge or IJG or from Squeak's own repository[1],
the license is not GPL. It is this custom but liberal license:

http://directory.fsf.org/wiki?title=License:JPEG [^]

I am not a lawyer. I can't imagine incompatibilities with Squeak's
Apache and MIT licenses.

Compatibility
=========
Ubuntu and Fedora prefer libjpeg-turbo, a fork which uses the same
liberal license and, I hope, the same API.

libjpeg-turbo really is on Sourceforge:

http://sourceforge.net/p/libjpeg-turbo/code/HEAD/tree/trunk/ [^]

I am not in any way a C or SLANG hacker, though I would like to learn.
Yet a quick browse of change.log in libjpegsr9a gives me some hope
that the API has not had many breaking changes since version 6a, which
I guess is the version that is in the Squeak platform sources.

While I have them handy, here are the version numbers as I found them
installed on my machines:
Debian 7.1 libjpeg8 8d-1 (binary is libjpeg.so.8.4.0)
Fedora 20 libjpeg-turbo 1.3.1 (binary is libjpeg.so.62.1.0)
Ubuntu 12.04 (old I know) libjpeg-turbo 1.1.90+svn733-0ubuntu4.3
(binary is libjpeg.so.8.4.0)

Guido's site links to this one, which hopefully will offer more
specific clues about what Squeak would need to change to work with the
newer platform libraries..

http://jpegclub.org/support/ [^]

Hope that helps. Have fun!

David




Viewing Issue Advanced Details
5504 [Squeak] ST80 tweak always 11-24-06 18:14 05-13-14 20:32
sumi  
nicolas cellier  
normal  
resolved 3.9  
fixed  
none    
none  
[FIX][ENH] editor mode FileList should keeps its contents even if saving as another name
We can open a text file using FileList's editor mode, by choosing world menu -> open... -> file... or "do it" a script such as...

(FileStream fileNamed: 'some.txt') edit

Two problems occurs when we change the file's name. Whenever renaming, we have to re-open the renamed file because the code pane, no longer, shows the contents of the text file, but file list of current directory.

The attached changeset file fixes these problems.
FileListLabelTweak.1.cs.gz (1 KB) 11-24-06 18:15
FileListLabelTweak.2.cs.gz (1 KB) 05-28-08 09:46
fileEditorSaveAsFix-sumim-M0005504.2.cs (2 KB) 05-07-10 02:47
Notes
(0010565)
edgardec   
04-17-07 11:17   
In 3.10 I was able to rename file and the code pane shows the file contents
(0012086)
sumi   
05-13-08 06:35   
Unfortunately, the 3.10 still has the same problem.

Please try a FileList window that is opened by "(FileStream fileNamed: 'some.txt') edit". After rename operation by accept (alt + s) -> "test.txt already exists." pop-up -> select "choose another name" -> input new file name -> accept, you can see that the FileList window shows file list of current directory, not the text previously editing.
(0012206)
ScottWallace   
05-28-08 09:03   
The code in the fileout assumes the presence of an inst var named labelString in FileList, but in most (perhaps all) Squeak versions, FileList does not have an inst var of that name.

Presumably the intention of the fileout is to add the inst var #labelString to FileList, but if so, the class redefinition to accomplish that somehow got omitted from the fileout.
(0012207)
sumi   
05-28-08 09:52   
I attached another change-set file that includes FileList class definition. Thanks.
(0013759)
sumi   
05-07-10 02:47   
This problem still remains in 4.1
So I re-write a new patch that attached as fileEditorSaveAsFix-sumim-M0005504.2.cs
It is replacement of FileListLabelTweak.2.cs we needs no longer.

(0014504)
nicolas cellier   
05-13-14 20:32   
Integrated in trunk (4.6) http://source.squeak.org/trunk/Tools-nice.521.mcz [^]
Thanks sumi!




Viewing Issue Advanced Details
3612 [Squeak] Compiler minor always 05-12-06 18:11 05-12-14 23:15
kwl  
nicolas cellier  
normal  
resolved 3.9  
fixed  
none    
none  
MethodProperties are nil when creating CompiledMethod with the toReturnXYZ methods
The toReturnXYZ methods on the class side leave MethodProperties uninitialized and so Behavior>>#basicAddSelector:withMethod: fails when it does compiledMethod #selector:.

Looks like MethodProperties would like to be a bit closer to CompiledMethod.
MessageNotUnderstood: UndefinedObject>>selector:
12 May 2006 6:08:28 pm

VM: Win32 - a SmalltalkImage
Image: Squeak3.9alpha [latest update: 0007028]

SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir ...etc...
Trusted Dir ...etc...
Untrusted Dir ...etc...

UndefinedObject(Object)>>doesNotUnderstand: #selector:
    Receiver: nil
    Arguments and temporary variables:
        aMessage: selector: #x
    Receiver's instance variables:
nil

CompiledMethod>>selector:
    Receiver: a CompiledMethod (1207)
    Arguments and temporary variables:
        aSymbol: #x
    Receiver's instance variables:
a CompiledMethod (1207)

ImmutableSlots(Behavior)>>basicAddSelector:withMethod:
    Receiver: a descendent of MutableSlots
    Arguments and temporary variables:
        selector: #x
        compiledMethod: a CompiledMethod (1207)
        oldMethodOrNil: nil
    Receiver's instance variables:
        superclass: MutableSlots
        methodDict: a MethodDictionary(#x->a CompiledMethod (1207) )
        format: 132
        traitComposition: nil
        localSelectors: nil

ImmutableSlots(Behavior)>>basicAddSelector:withMethod:
    Receiver: a descendent of MutableSlots
    Arguments and temporary variables:
        selector: #x
        compiledMethod: a CompiledMethod (1207)
        oldMethodOrNil: nil
    Receiver's instance variables:
        superclass: MutableSlots
        methodDict: a MethodDictionary(#x->a CompiledMethod (1207) )
        format: 132
        traitComposition: nil
        localSelectors: nil
...etc...
CompiledMethodTest-toReturnXyz-kwl-M3612.st (1 KB) 12-18-08 17:46
Notes
(0012870)
kwl   
12-18-08 17:50   
uploaded a test which reproduces the problem.

this test should go green once CompiledMethod or Behavior have been fixed.
(0014501)
nicolas cellier   
05-12-14 23:15   
The test have rotten a bit, the trailer should now be CompiledmethodTrailer empty rather than #(0 0 0 0).

Also, the first assertion does not make sense:

    self
        shouldnt: [aBehavior basicAddSelector: #m0 withMethod: CompiledMethod toReturnSelf].

Maybe the intention was shouldnt: [...] raise: MessageNotUnderstood ?

After fixing those two slips, the test pass, so I consider the issue as resolved.
I ignore in which version exactly but won't dissect.




Viewing Issue Advanced Details
7084 [Squeak] Compiler minor always 06-07-08 02:16 05-12-14 22:46
Keith_Hodges  
 
normal  
feedback 3.9  
open  
none    
none  
ClassBuilder doesnt call doneCompiling:
ClassBuilder-#nameIn... doesnt call doneCompiling:
Fix from Andreas
ClassBuilder-nameinEnvironmentsubclassOftypeinstanceVariableNamesclassVariableNamespoolDictionariescategoryunsafe.st (4 KB) 06-07-08 02:16
Notes
(0014500)
nicolas cellier   
05-12-14 22:46   
But the method sends #doneCompiling and then ensure: [Behavior flushObsoleteSubclasses].
So it is doing basically the same job as #doneCompiling:

Is the order of operation important ?
Or is it required by some extension class wanting to refine #doneCompiling: ?




Viewing Issue Advanced Details
4309 [Squeak] Compiler minor always 07-21-06 16:57 05-12-14 22:19
kwl  
nicolas cellier  
normal  
resolved 3.9  
fixed  
none    
none  
Compiler/Parser allows undefined variable when LHS to :=
The following snippet does NOT raise an error message:

 | tmp1 tmp2 |
  tmp1 := 2.
  tmp2 := tmp2 + tmp1

But the following modification DOES raise an "undefined. proceed?" dialog

 | tmp1 tmp2 |
  tmp1 := 2.
  tmp1 := tmp2 + tmp1

Tested with 3.8 + 3.9.

Note that the error message should speak about "uninitialized" instead of "undefined" because the variables are indeed between the |'s.
There can only be ONE rule for what is uninitialized and what is initialized, regardless of how a variable is used "mentioned" for the first time on the RHS of an expression.
Notes
(0014499)
nicolas cellier   
05-12-14 22:19   
This is no more true in Squeak 4.5, and probably has been fixed for a long time now (Eliot's closure?)




Viewing Issue Advanced Details
7755 [Squeak] Compiler minor always 03-14-13 10:45 05-12-14 22:15
FrankShearar  
nicolas cellier  
normal  
resolved trunk  
fixed  
none    
none  
"1.0s" does not parse
David Gorisek <david.gorisek@e-racuni.com> sent this to the Pharo list:

Hello all,

I am testing Pharo and I have noticed that the Pharo compiler does not treat ScaledDecimals the same way they are treated in other Smalltalk dialects (e.g. VW, VAST, Dolphin, STX, etc.).

For example the following is a valid code representing an instance of ScaledDecimal/FixedPoint in all other dialect.

1.0s + 2.0s

In Phare the code above wont compile, it has to be written as:

1.0s1 + 2.0s1

So I have made the following quick change to make Pharo compatible with other Smalltalk dialects. Maybe this change could be included in the next version of Pharo?

SqNumberParser>>#readScale
    "read the scale if any (stored in instVar).
    Answer true if found, answer false if none.
    If scale letter is not followed by a digit, this is not considered as an error.
    Scales are always read in base 10, though i do not see why..."

    scale := 0.
    sourceStream atEnd
        ifTrue: [ ^ false ].
    (sourceStream peekFor: $s)
        ifFalse: [ ^ false ].
    scale := self nextUnsignedIntegerOrNilBase: 10.
    scale
        ifNil: [
            scale := 0.
            (sourceStream peek ifNil: [false] ifNotNil: [ :nextChar | nextChar isLetter])
                ifTrue: [
                    sourceStream skip: -1. "ungobble the s"
                    ^ false ]
                ifFalse: [ ^ true ] ].
    ^ true
Notes
(0014498)
nicolas cellier   
05-12-14 22:15   
Fixed in trunk (4.6)
See http://source.squeak.org/trunk/Kernel-nice.849.mcz [^]




Viewing Issue Advanced Details
5905 [Squeak] Compiler minor always 02-01-07 21:24 05-12-14 19:58
lexspoon  
nicolas cellier  
normal  
resolved 3.9  
fixed  
none    
none  
please let class vars shadow globals
Currently the system refuses to load two packages where one defines a global variable and the other a class variable. This causes an immediate total failure for any unfortunate person who runs into it. While this kind of error may make sense for monolithic image, it is problematic for package-ized development. As an example, Exupery 0.10 conflicts with SmallDEVS version 061206, over the variable name "Timer".
Notes
(0014497)
nicolas cellier   
05-12-14 19:58   
This was fixed a long time ago, probably together with related issue 1554




Viewing Issue Advanced Details
5793 [Squeak] ST80 minor always 01-20-07 05:57 05-12-14 19:46
gilad  
nicolas cellier  
normal  
resolved 3.8  
fixed  
none    
none  
Empty blocks do not conform to Blue Book
An empty block is defined to return nil. In Squeak, it returns its last argument. This makes very little sense, and is different from other Smalltalks. I suppose you dare not change it, as who knows what code relies on this behavior. To confirm this, define the following method in any class

emptyBlock
^[:x :y :z | ] value:1 value: 2 value: 3

Then create an instance and invoke it. It evaluates to 3 instead of nil.
EmptyBlockResult-M5793-Test.1.cs (1 KB) 09-27-07 20:46
EmptyBlockResult-M5793-PatchForOldCompiler.1.cs (2 KB) 09-27-07 20:46
EmptyBlockResult-M5793-Test.2.cs (1 KB) 04-03-08 20:37
EmptyBlockResult-M5793-PatchForOldCompiler.2.cs (2 KB) 04-03-08 20:37
Notes
(0011216)
nicolas cellier   
09-27-07 20:51   
Just to exercize, a patch for the old compiler.
Note that the NewCompiler already answer nil.
(0011968)
nicolas cellier   
04-03-08 20:38   
Ah Ah, stupid, just forgot to test if statements were empty...

A test.2.cs and patch.2.cs do it a little better.
(0014496)
nicolas cellier   
05-12-14 19:46   
Fixed in 4.6 trunk by Eliot's
http://source.squeak.org/trunk/Compiler-eem.280.mcz [^]
Some details in https://code.google.com/p/pharo/issues/detail?id=1614 [^]




Viewing Issue Advanced Details
7818 [Squeak] OS-Linux minor always 04-13-14 17:51 04-13-14 17:51
Stu  
 
normal  
new trunk  
open  
none    
none  
Incorrect bpp calculation in sqCamera-linux.c
Incorrect bpp calculation in sqCamera-linux.c.
There are also a couple of instances of trailing whitespace in the switch statement where this bug is found.
--- sqCamera-linux.c.orig Sun Apr 13 13:47:01 2014
+++ sqCamera-linux.c Sun Apr 13 13:48:25 2014
@@ -696,7 +696,7 @@
                bpp = 2;
                break;
          case V4L2_PIX_FMT_YUYV: /* printf("V4L2_PIX_FMT_YUYV\n"); */
- bpp = 4;
+ bpp = 2;
                break;
        }
There are no notes attached to this issue.




Viewing Issue Advanced Details
7816 [Squeak] VM minor always 04-05-14 15:41 04-06-14 16:12
lewis  
lewis  
normal  
assigned  
open  
none    
none  
Update CameraPlugin for 64-bit VM
The CameraPlugin causes VM crashes when used with Scratch on a VM that has been compiled in 64-bit mode.
A VM installed with apt get on 64 bit Ubuntu are 64-bit VMs, so the problem affects Scratch users on 64-bit Ubuntu.
Notes
(0014494)
lewis   
04-06-14 16:12   
How to work around the problem on Ubuntu:

Date: Sun, 06 Apr 2014 10:41:08 -0300
From: Gustavo Duarte <gus.duarte@gmail.com>
To: vm-dev@lists.squeakfoundation.org
Subject: Re: [Vm-dev] Camera sig fault on 64 bits machines.

Hi Dave,

I followed your suggestion and could resolve this issue, thanks a lot.

Here the steps followed:

1) Uninstall, squeak-vm 64 bits comes with Ubuntu distribution, without its depends.

1) dpkg -r --force-no-depends squeak-vm

2) Download squeak-vm 32 bits.

wget http://www.squeakvm.org/unix/release/Squeak-4.10.2.2614-linux_i386.sh [^]

sudo sh Squeak-4.10.2.2614-linux_i386.sh

Choice as path prefix /usr instead default: /usr/local

3) Install 32 bits compatibility library:

sudo apt-get install ia32-libs

I know that is a workaround, the finally solution as you said, is update the plugins to working properly on 64 bit architectures.

Thank you very much !

Gustavo.




Viewing Issue Advanced Details
7815 [Squeak] VM minor always 04-03-14 22:17 04-03-14 22:18
lewis  
lewis  
normal  
assigned  
open  
none    
none  
Complete the integration of Scratch plugins for all platforms and VMs
The Scratch plugins (that is
ScratchPlugin
CameraPlugin
UnicodePlugin
WeDoPlugin)
are not integrated into the SVN tree properly.

trunk/unix has all four; trunk/riscos has ScratchPlugin. trunk/Mac OS has none of them. trunk/win32 has just the CameraPlugin.
The Cog tree (which isn?t currently viewable via the web, by the way) appears not to have any of them for unix nor Mac OS - the win32
+directory is the same as for the plain interp and so is the RISCOS tree.
Reported on vm-dev: http://lists.squeakfoundation.org/pipermail/vm-dev/2014-April/014993.html [^]
There are no notes attached to this issue.




Viewing Issue Advanced Details
3732 [Croquet] Hedgehog minor always 05-27-06 13:26 03-23-14 19:37
quiwox  
 
normal  
new  
open  
none    
none  
Missing textures in CalmoPuzzleDemo.
There are missing textures in CalmoPuzzleDemo at CroquetSource/Public Contributions : http://hedgehog.software.umn.edu:8888/@TIlzScmWkltEnLOf/GUNVDAJp [^]
CalmoPuzzleDemo-gzs.2.mcz (7 KB) 05-27-06 13:26
CalmoPuzzleDemo-Textures-gzs.zip (29 KB) 05-27-06 13:29
CalmoPuzzleDemo-CalmoSoft.5.mcz (7 KB) 03-23-14 14:35
CalmoPuzzleTextures.zip (12 KB) 03-23-14 14:40
CalmoPuzzle_In_Croquet.png (342 KB) 03-23-14 19:37
Notes
(0005089)
quiwox   
05-27-06 13:30   
The attached CalmoPuzzleDemo-Textures-gzs.zip file contains the necessary textures.
(0014490)
CalmoSoft   
03-23-14 14:43   
Please use:
CalmoPuzzleDemo-CalmoSoft.5.mcz
CalmoPuzzleTextures.zip




Viewing Issue Advanced Details
7813 [Croquet] Hedgehog minor always 03-23-14 11:07 03-23-14 19:34
CalmoSoft  
 
normal  
new  
open  
none    
none  
Necessary Texture Files for CalmoSoft Puzzle Game
Necessary Texture Files for CalmoSoft Puzzle Game
CalmoPuzzleTextures.zip (12 KB) 03-23-14 11:07
CalmoPuzzleDemo-gzs.2.mcz (7 KB) 03-23-14 11:21
CalmoPuzzleDemo-CalmoSoft.5.mcz (7 KB) 03-23-14 14:00
CalmoPuzzle_In_Croquet.png (342 KB) 03-23-14 19:34
Notes
(0014491)
CalmoSoft   
03-23-14 14:46   
Please use:
CalmoPuzzleDemo-CalmoSoft.5.mcz




Viewing Issue Advanced Details
7811 [Squeak] VM minor always 03-06-14 21:10 03-06-14 21:23
lewis  
lewis  
normal  
assigned  
open  
none    
none  
squeak-vm: Fails to build with clang instead of gcc
VM does not compile on clang compiler, affects Debian distribution
Reported on vm-dev http://lists.squeakfoundation.org/pipermail/vm-dev/2014-March/014817.html [^]

Forwarded from Debian bug report

> Resent-From: Nicolas Sévelin-Radiguet <nicosr@free.fr>
> From: Nicolas Sévelin-Radiguet <nicosr@free.fr>
> Subject: Bug#740972: squeak-vm: Fails to build with clang instead of gcc
> Date: 6. März 2014 11:21:36 GMT-8
> Resent-To: debian-bugs-dist@lists.debian.org
> To: Debian Bug Tracking System <submit@bugs.debian.org>
> Resent-Cc: Debian Squeak Team <pkg-squeak-devel@lists.alioth.debian.org>
> Reply-To: Nicolas Sévelin-Radiguet <nicosr@free.fr>, 740972@bugs.debian.org
>
> Package: squeak-vm
> Version: 4.10.2.2614-1
> Severity: minor
> Tags: patch
> User: pkg-llvm-team@lists.alioth.debian.org
> Usertags: clang-ftbfs
>
> Hello,
>
> Your package fails to build with clang instead of gcc. [-Wreturn-type]
> Buildlogs and patch are here:
> https://github.com/nonas/debian-clang/tree/master/buildlogs/squeak-vm [^]
>
> Regards,
> Nicolas
>
> -- System Information:
> Debian Release: jessie/sid
> APT prefers testing-updates
> APT policy: (500, 'testing-updates'), (500, 'testing')
> Architecture: amd64 (x86_64)
> Foreign Architectures: i386
>
> Kernel: Linux 3.12-1-amd64 (SMP w/4 CPU cores)
> Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
> Shell: /bin/sh linked to /bin/dash
Notes
(0014489)
nicolas cellier   
03-06-14 21:23   
The only errors I found while reading the report are:

/«PKGBUILDDIR»/unix/vm-sound-pulse/sqUnixSoundPulseAudio.c:998:21: error: non-void function 'sound_StopRecording' should return a value [-Wreturn-type]
        if (!audioIn.open) return;
                           ^
/«PKGBUILDDIR»/unix/vm-sound-pulse/sqUnixSoundPulseAudio.c:1001:31: error: non-void function 'sound_StopRecording' should return a value [-Wreturn-type]
        if (NULL == audioIn.pa_conn) return;

Since it's not generated code, it shouldn't be very hard to fix...




Viewing Issue Advanced Details
7810 [Squeak] Morphic text always 02-06-14 08:43 02-06-14 16:08
vaidasd  
 
normal  
new trunk  
open  
none    
none  
Cursor is positioned improperly for the underscore character '_'(asciiValue 95)
Using default preferences paste the string '__________________________________' in workspace, and press End key. Cursor is positioned improperly for the underscore character '_'(asciiValue 95)Bitmap DejaVu Sans, all font sizes. Version 4.5-13671.
There are no notes attached to this issue.




Viewing Issue Advanced Details
7809 [Squeak] System text always 02-06-14 08:27 02-06-14 16:07
vaidasd  
 
normal  
new trunk  
open  
none    
none  
turning off bigDisplay preference does not return to the previous display settings
Turning on an then off bigDisplay preference does not return to the initial font settings. Version 4.5-13671
There are no notes attached to this issue.




Viewing Issue Advanced Details
3334 [Squeak] Morphic minor always 03-21-06 09:21 02-05-14 16:41
al  
 
low  
new 3.9  
7014 open  
none    
none  
Preference browser displays buttons in old style
n/a
Notes
(0014412)
tim   
07-22-13 02:35   
Good grief, it still does. Really ought to get fixed.
(0014487)
FrankShearar   
02-05-14 16:41   
Rewriting the UI construction logic to use ToolBuilder is (a) the right thing to do and (b) would fix this issue.




Viewing Issue Advanced Details
7808 [Squeak] Morphic minor always 02-04-14 21:25 02-04-14 21:26
tim  
 
normal  
new 4.4  
open  
none    
none  
PreferenceBrowser cleanups needed
When checking out the 4.5 rc3 image -

One thing we probably ought to clean up at some point is the Preferences. There’s plenty of scope for confusion in the button row;
the ‘default’ button doesn’t set things to how the image is delivered - at the very least the flaps seem to turn on. (Looks like Preferences class>defaultValueTableForCurrentRelease would need whacking on)
‘save’ & ‘save to disk’ would seem redundant (I know they’re actually different but would any new user?)
similarly ‘load’ & ‘load from disk’
save & load to disk only load a specific file with no option to choose which one
the balloon help is sufficiently translucent as to be almost indecipherable
… and the text is often confused
the themes seem rather out of date - ‘out of the box’ is for 3.2? Wow.

I very, very, rarely touch preferences, which is why I don’t think I’ve really noticed this before. I’ll Mantisize the above.
There are no notes attached to this issue.




Viewing Issue Advanced Details
7807 [Squeak] Morphic minor always 01-08-14 18:26 01-14-14 00:31
tim  
 
normal  
new 4.4  
open  
none    
none  
Morphic drag/drop methods with confusing code and comments
After digging around a large number of drag/drop related methods I have
a) a rather better understanding of how it works
b) a small list of rather odd methods that seem in need of a moments consideration and probably improving.

There seems to be some confusion about the meaning and use of #isPartsBin[:] & #isPartsDonor[:], a rather confused PasteUpMorph>repelsMorph:event: (and #wantsDroppedMorph:event:), and the usual confused and/or outdated comments that mislead the reader.
The attached change set is a bunch of methods where I have simply commented what I suspect to be wrong or in need of improving. Just before a release is not a time to change a basic bit of code in PasteUpMorph without review.
DragDropQuestions.1.cs (4 KB) 01-08-14 18:26
Notes
(0014486)
tim   
01-14-14 00:31   
A couple of extra uglinesses from Karl Ramberg-

A few comments:
CompoundTileMorph contain other morphs that wants drops, so I don't think you can reject drops to it.

Morph>>mouseDownPriority shows some of the confusion with isPartsBin and isPartsDonor

Cheers,
Karl




Viewing Issue Advanced Details
7806 [Squeak] Morphic minor always 01-08-14 00:56 01-08-14 01:10
seandenigris  
 
normal  
new trunk  
open  
none    
none  
Text Morph Embedding Broken
Squeak4.5 latest update: #13352

Text withAll: 'foo') , (Text string: '*' attribute: (TextAnchor new anchoredMorph: MenuIcons confirmIcon)) , (Text withAll: 'bar').
text asMorph openInHand.

The Morph contents are 'foo*bar' i.e. no icon
Notes
(0014485)
seandenigris   
01-08-14 01:10   
The method change that broke the feature in Pharo was: displayScannerFor:foreground:background:ignoreColorChanges:




Viewing Issue Advanced Details
7805 [Squeak] VM feature always 01-06-14 18:26 01-06-14 18:26
lewis  
lewis  
normal  
assigned  
open  
none    
none  
Need simulation support for the BalloonEnginePlugin, FloatArrayPlugin & Matrix2x3Plugin primitives
VM simulation support is not available for these plugins, apparently due to issues in simulating 32 bit float access. Reported on vm-dev:
http://lists.squeakfoundation.org/pipermail/vm-dev/2014-January/014417.html [^]
Feature request and background:
Date: Mon, 6 Jan 2014 09:30:17 -0800
From: Eliot Miranda <eliot.miranda@gmail.com>
To: Squeak Virtual Machine Development Discussion <vm-dev@lists.squeakfoundation.org>
Subject: [Vm-dev] Simulating the BalloonEnginePlugin, FloatArrayPlugin &
 Matrix2x3Plugin primitives

Hi All,

    I'm just revising plugin treatment in Spur and came across this old
snippet of mysterious code:

InterpreterSimulator>>loadNewPlugin: pluginString
| plugin simClass |
transcript cr; show:'Looking for module ', pluginString.
(#('FloatArrayPlugin' 'Matrix2x3Plugin')
includes: pluginString) ifTrue:
[transcript show: ' ... defeated'. ^ nil].

In the past I got as far as rewriting it to read...

InterpreterSimulator>>loadNewPlugin: pluginString
| plugin plugins simulatorClasses |
transcript cr; show: 'Looking for module ', pluginString.
"but *why*??"
(#('FloatArrayPlugin' 'Matrix2x3Plugin') includes: pluginString) ifTrue:
[transcript show: ' ... defeated'. ^nil].
plugins := InterpreterPlugin allSubclasses select: [:psc| psc moduleName
asString = pluginString asString].

In revising the code for Spur I removed the defeat code and found out more.
 It's essentially because the BalloonPlugin has difficulty simulating
accesses of 32-bit floats. If you simply defeat the code and let things
run soon you get failures in FloatArrayPlugin & Matrix2x3Plugin primitives.
 These can be fixed by implementing the following in the FloatArrayPlugin &
Matrix2x3Plugin:

cCoerce: value to: cType
^cType = 'float'
ifTrue: [value asIEEE32BitWord]
ifFalse: [value]

But soon you hit more difficult failures in the BalloonEnginePlugin, e.g.
in

BalloonEngineBase>>transformPointX: xValue y: yValue into: dstPoint
"Transform srcPoint into dstPoint by using the currently loaded matrix"
"Note: This should be rewritten so that inlining works (e.g., removing
the declarations and adding argument coercions at the appropriate points)"
| x y transform |
<inline: true>
<var: #dstPoint type:'int *'>
<var: #xValue type: 'double '>
<var: #yValue type: 'double '>
<var: #transform type:'float *'>
transform := self edgeTransform.
x := ((((transform at: 0) * xValue) +
((transform at: 1) * yValue) +
(transform at: 2)) * self aaLevelGet asFloat) asInteger.
y := ((((transform at: 3) * xValue) +
((transform at: 4) * yValue) +
(transform at: 5)) * self aaLevelGet asFloat) asInteger.
dstPoint at: 0 put: x.
dstPoint at: 1 put: y.

where x and y end up being the integer representation of 64-bit floats
while dstPoint accepts the integer representation of 32-bit floats. At
least I think that's what's going on.

In any case I need to focus on Spur and can't spare the time to fix this.
 But I find it unsatisfactory. It means the VM simulation isn't accurate.
 In the simulation the primitives fail and Smalltalk code is run. In the
real VM the primitives work. And that's deeply unsatisfying.

So if there's anyone itching for a VM challenge try and make
the BalloonEnginePlugin, FloatArrayPlugin & Matrix2x3Plugin primitives
simulate correctly, removing the defeat code above. That would be a great
new year's gift.
--
best,
Eliot
There are no notes attached to this issue.




Viewing Issue Advanced Details
7652 [Squeak] VM minor always 07-14-11 19:47 01-06-14 18:18
matthewf  
lewis  
normal  
assigned  
open  
none    
none  
The idle process does not wake up when delays are scheduled, on linux
I have a thread that sends network messages at a constant rate. it's supposed to send at about 100 packets per second (delay of 10ms). However, it always sends at 50 packets per second unless I move the mouse around. When moving the mouse around, it sends nearer it's desired frequency. Enabling higherPerformance does not help
This is my VM: (standard interpreter 4.4.7 on ubuntu 11.04 linux, with a couple extra plugins for cobalt)

4.4.7-2357 #1 XShm Sun Jan 23 18:17:31 PST 2011 gcc 4.3.2
Linux vps2.piumarta.com 2.6.18-028stab053.10-ent #1 SMP Thu Feb 28 20:34:08 MSK 2008 i686 GNU/Linux
plugin path: ./bin/i686-pc-linux-gnu [default: /media/Knoppix/opencobalt-1.0alpha12-squeak16.fat/bin/i686-pc-linux-gnu/]
Notes
(0014155)
KenCausey   
07-14-11 20:45   
I could be mistaken but this seems somehow related to an issue we have at least seen on source.squeak.org and I suspect affects many Squeak websites occasionally.

What we have seen is that source.squeak.org will stop responding. If one simply connects to the image via RFB (aka VNC) and wiggles the mouse the system begins responding again normally and may do so for many weeks before this comes up again. Actually it has been a while since we have seen this behavior I think, I'm not sure what changed (poor memory).

(0014156)
matthewf   
07-14-11 21:13   
I was able to work around the issue and have processes run at full speed by commenting out #interCyclePause: in WorldState >> doOneCycleFor:

However, this makes squeak run at full cpu all the time. I noticed that squeak runs at full cpu anyway when the mouse is moving. not sure why
(0014157)
matthewf   
07-14-11 21:21   
If I start an infinite loop in a low priority process some other way (ui process or otherwise), my network sender process runs at full speed. I guess allowing the idle process to run causes this bug
(0014158)
matthewf   
07-14-11 21:53   
The maximum frequency the delay will run at normally is independent of the morphic event loop; the number 50fps seems to be a mere coincidence, as that is the default frequency the morphic event loop runs at. If I set the morphic event loop to wait 1 millisecond or 2000 milliseconds between runs, my delay will never wakeup more than 50 times per second
(0014159)
matthewf   
07-14-11 22:09   
The delay wakeup cap seems to actually be 60fps; it sometimes wakes up as many as 58.5 times per second if the processor is idling, but no more. This makes me suspect the VM relinquishPhysicalProcessor code or the Delay code

(0014160)
craig   
07-14-11 22:32   
Shouldn't the relinquish-processor primitive (230) make the next delay wakeup tick the most important consideration? Something like...

void relinquishPhysicalProcessor(void) {
        /* relinquishPhysicalProcessor */
                                                                                               
        /* the next delay wakeup time */
        int nextWakeupTick = vm->getNextWakeupTick();
                                                                                               
        int now = (vm->ioMicroMSecs() & 0x1fffffff);
        int timeoutInMilliseconds;
#ifdef UNIXISH
        struct timeval currentTime;
        struct timespec wakeupTime;
#endif
                                                                                               
        if (nextWakeupTick <= now) {
                if (nextWakeupTick == 0)
                        /*
                         * Timer interrupts have been disabled; wait
                         * for as long as possible before anyone might
                         * notice. Specifically, wait for one frame
                         * at a typical GUI frame rate (60 Hz).
                         */
                        timeoutInMilliseconds = (1000/60);
                else
                        /*
                         * The next delay wakeup time has passed and
                         * the system should resume as soon as
                         * possible.
                         */
                        timeoutInMilliseconds = 0;}
        else
                timeoutInMilliseconds = nextWakeupTick - now;
                                                                                               
#ifdef UNIXISH
        pthread_mutex_lock(&activity.mutex);
        gettimeofday(&currentTime, NULL);
        wakeupTime.tv_nsec = (currentTime.tv_usec * 1000) + (timeoutInMilliseconds * 1000000);
        wakeupTime.tv_sec = currentTime.tv_sec + (wakeupTime.tv_nsec / 1000000000);
        wakeupTime.tv_nsec %= 1000000000;
                                                                                               
        pthread_cond_timedwait(
                &activity.request,
                &activity.mutex,
                &wakeupTime);
                                                                                               
        pthread_mutex_unlock(&activity.mutex);
#endif
        vm->setInterruptCheckCounter(0);}
(0014161)
matthewf   
07-14-11 23:06   
Here is a chunk of code you can evaluate in a workspace to see how often a delay is triggering. It should be triggering about 1000 times per second, but is actually triggering 30-40 times per second on my machine when idle, or 170-180 times per second when I keep the mouse in constant motion

| tally delay morph updateDelay |
tally := 0. delay := Delay forMilliseconds: 1.
updateDelay := Delay forMilliseconds: 1000.
morph := TextMorph new openInWorld.
[[tally := tally + 1. delay wait] repeat] forkAt: 44.
[[morph contents: tally printString. tally := 0. updateDelay wait] repeat] forkAt: 45.

(to stop the code, kill processes of priority 44, 45, and 35 in the process browser, and delete the morph)


If I start a low priority infinite loop to completely starve the idle process, the delay wakes up 995-998 times per second, which is good:

[[] repeat] forkAt: 35

Except that we like running at low cpu

(0014162)
craig   
07-14-11 23:12   
I tried your workspace code with a VM that uses my relinquish primitive. It's near 1000 all the time, whether I use the UI or not.
(0014163)
KenCausey   
07-15-11 19:13   
This issue is also being discussed on the vm-dev list. See http://lists.squeakfoundation.org/pipermail/vm-dev/2011-July/008811.html [^]




Viewing Issue Advanced Details
7804 [Squeak] Morphic minor always 01-03-14 02:26 01-03-14 02:26
tim  
 
normal  
new 4.4  
open  
none    
none  
Morphic list usage of #list: & #isThisEverCalled
A number of #list: methods in some Morphic list related classes (PluggableListMorph & subclasses mostly) are tagged with #isThisEverCalled because they appear to be redundant code.
Most sends of #list: are part of tool builder spec building. Many are in classes out of the PluggableListMorph hierarchy. The remaining ones are:-
AlternatePluggableListMorphOfMany (send to super/PluggableListMorph)
PluggableListMorphByItem sends to super (PLM)
PluggableListMOrphByItmePlus ditto
PluggableListMorphOfMany
PluggableMultiColumnListMorphByItem

.. .and almost certainly can be removed. But it's too close to a release to do something that might just fuck the system.
There are no notes attached to this issue.




Viewing Issue Advanced Details
7801 [Squeak] Environments minor always 12-22-13 14:55 12-22-13 14:55
FrankShearar  
 
normal  
new trunk  
open  
none    
none  
SmalltalkImage >> #add:toList:after: assumes the root environment
If a class from a non-"root" environment wants to add itself to the startup/shutdown lists, the above-mentioned method rejects the attempt because of a "Smalltalk globals includes: aClass" check.

This means that, for instance, you can't load Xtreams into an Environment, because XTIOHandle tried to register with the shutdown list.
There are no notes attached to this issue.




Viewing Issue Advanced Details
7800 [Squeak] Environments minor always 12-20-13 21:58 12-20-13 21:58
FrankShearar  
 
normal  
new trunk  
open  
none    
none  
Loading an MC package into a private Environment adds a global PackageInfo
Loading an mcz into the Smalltalk globals Environment should definitely cause a globally visible event like the creation of a PackageInfo. However, this makes no sense for other Environments.
There are no notes attached to this issue.




Viewing Issue Advanced Details
2237 [Squeak] Browser minor always 11-17-05 01:45 12-03-13 09:50
johnmci  
 
normal  
new 3.9  
open  
none    
none  
senders-of does not correctly setup selection range when finding messages of the form a:b:
0006696
if you have a method called
a:
which calls a:b:
and you ask for senders of a:b:
It correctly shows a:, but when you select that method and the code responsible for finding a:b: actually
only finds on a: not a:*b: so in this case it selects the method name a: at the top. Then you have to hunt for the a:b: it should have shown.
Notes
(0014404)
tim   
07-22-13 02:15   
This would require some way of selecting the correct message that did not rely on simply scanning the text for the first match.

Although I'm no fan of the way Shout fiddles with my code, it seems to me it must have some functionality that could be bent to this purpose.




Viewing Issue Advanced Details
7795 [Squeak Website] text always 11-24-13 15:51 11-24-13 15:51
Nicolai Hess  
 
normal  
new  
open  
none    
none  
current release at www.squeak.org 4.3 or 4.4?
Two links at www.squeak.org/Download link to
http://ftp.squeak.org/4.3/Squeak-4.3-All-in-One.zip [^]

1. (At top) Fastest way to start is *Squeak All-in-One* distribution ...
2. Image file
This is the official Squeak release.

    *Squeak Release*

but the one link on the right side mentions Version 4.4 and links
to this version.
There are no notes attached to this issue.




Viewing Issue Advanced Details
7792 [Squeak] VM minor always 10-15-13 15:25 10-20-13 15:49
FrankShearar  
FrankShearar  
normal  
resolved  
fixed  
none    
none  
Implement primitiveQuit for the Interpreter VM
Cog already implements this.

Image side caller of primitive: http://source.squeak.org/inbox/System-ul.528.mcz [^]
Notes
(0014466)
lewis   
10-19-13 17:08   
Tim has added the necessary updates to trunk/Cross and trunk/RiscOS, and support it is already present in trunk/iOS. The unix, win32, and Mac trees need the update, and VMMaker needs to adopt the quitPrimitive from Cog. No change is required for the /usr/local/bin/squeak script.
(0014467)
lewis   
10-20-13 15:48   
Updates have been completed for all platforms and VMM. Future builds will include this feature.




Viewing Issue Advanced Details
1372 [Squeak] TrueType minor always 06-23-05 17:20 09-30-13 23:22
bert  
tim  
normal  
assigned  
open  
none    
none  
Fonts have invisible characters
Try "(0 to: 255) asByteArray asString" - there are many blank glyphs
Notes
(0001676)
KenCausey   
06-23-05 18:10   
I tried this in 3.6, 3.8, and 3.9 and I guess I see what you mean in terms of there always being some ASCII characters that have no glyph, generally those that don't normally have a visual representation. Exactly which ones those are vary somewhat from image to image and in some cases some of those characters have a glyph which is an empty box. Are you just suggesting that that should be more consistently the case? That every character have some glyph even if it is just a box or other character representing the fact that character has no visual representation? I don't think you would want that to be true in many cases though, for example: \n, \r, \f, \t, \b.
(0001677)
bert   
06-23-05 19:19   
Yes I'd like to have at least an outlined box for each glyph. Even for those CRs, LFs etc, because normally these are not rendered - the character scanner advances the position instead. It still happens in some circumstances to get a control character into your string, like I pressed enter and got a character of value 3 in the sourcecode and the compiler rightfully complains - but you don't *see* anything wrong.
(0001712)
masm   
07-02-05 02:47   
Unprintable characters trouble the compiler.
Some unprintable characters are not 'seen' as blank spaces and when adjacent
to a token, like a selector, they become part of it. This is hard to spot.
(0001713)
bert   
07-02-05 11:51   
masm: That is indeed one of the problems. However, there is one legitimate blank character (char value 160), which is the non-breakable space. Not sure how to deal with that. As it happens, Apple Mail uses that character for indentation, so if I copy code from a Mail it won't compile :(
(0002562)
hitoro   
08-28-05 12:58   
It looks like the issue I reported (0001342).

Some glyphs don't have a representation while they should. Check the typographic glyphs; most are gone (“”—–‘’œ…). I really miss them.




Viewing Issue Advanced Details
1342 [Squeak] TrueType minor always 06-12-05 11:40 09-30-13 23:21
hitoro  
tim  
normal  
assigned 3.8  
open  
none    
none  
Support for typographic punctuation is gone
It is not longer possible to insert bullets (•), dashes (–, —) and quotation marks (‘, ’, “, ”); these characters are displayed as hollow rectangles (TrueType fonts) or blank spaces (bitmap fonts). What puzzled me is that the guillemets are still there («»).
Running Squeak 3.8 6665, Carbon Mac VM. No problem with a 3.7 image.
Notes
(0001614)
hitoro   
06-12-05 11:41   
Hum, I didn't select Etoys in the list...
(0001616)
hitoro   
06-12-05 12:33   
It seems to be a problem of mapping the characters. For example, the character code of a bullet is 149 (Mac encoding) but in the Unicode table, the character code is 8226.




Viewing Issue Advanced Details
6570 [Squeak] Graphics minor N/A 07-22-07 01:39 09-30-13 22:59
wiz  
tim  
normal  
assigned  
open  
none    
none  
A Mother for font and font test problems
A place to collect font related reports
Notes
(0011101)
wiz   
09-09-07 03:22   
Overview:

Fonts are in trouble.

As I18n took place strikefonts have taken a second seat to ttcfonts.

Several authors have made changes w/o understanding fully what underlies fonts and their protocol. Making assumtions that turn out to be incorrect.

3dot9 deepened the problem by adding stuff both from 3.8 squeakland and dgd's smalland branch w/o adaquate checks or tests for integration compatablitity.

I've tried to patch things by making assumptions based on some of the broken code. And those assuptions have proven incorrect and incomplete. The patches caused bugs to pop up in other places.

bugs found so far:
1) derived fonts have gross and obvious glitches.
2) default font assumptions can lead to messages like #ascent to have infinite recursion
3) font arrays and fonts are getting confused and substituted for each other leading to dnu's and worse.
4) testing of the fonts are causing font defaults to be changed but not reset.

Fonts could use help and a good overall code review.

Yours in service, --Jerome Peace




Viewing Issue Advanced Details
7788 [Squeak] Monticello minor always 09-20-13 11:02 09-20-13 11:02
FrankShearar  
avi  
normal  
assigned trunk  
open  
none    
none  
MCConflict >> #chooseNewer doesn't always resolve conflicts
It looks like the logic's not exhaustive:

chooseNewer
    self isLocalNewer ifTrue: [ self chooseLocal ]
        ifFalse: [ self isRemoteNewer ifTrue: [ self chooseRemote ]]

Except, if self isLocalNewer not and: [self isRemoteNewer not] then you haven't chosen anything.
Notes
(0014449)
FrankShearar   
09-20-13 11:02   
This is not a theoretical problem: I've seen it breaking CI's update-image.st script.




Viewing Issue Advanced Details
7787 [Squeak] Monticello minor always 09-12-13 08:52 09-12-13 08:52
FrankShearar  
avi  
normal  
assigned trunk  
open  
none    
none  
MCClassDefinition >> #actualClass uses Smalltalk, not an environment
As above. However, note that definition-like things (this guy, ChangeRecord, ...) should perhaps not reference an Environment AT ALL, but simply changes. Then fileIn procedures that know a target Environment take care of resolving #realClass, #actualClass and similar things.
There are no notes attached to this issue.




Viewing Issue Advanced Details
7786 [Squeak] Etoys minor always 09-05-13 23:58 09-05-13 23:58
jmckeon  
 
normal  
new 4.4  
open  
none    
none  
Changing a user defined variable's value type raises an error
Add a variable to a player, click the variable menu and select "change value type".
If Preferences>>allowEToysCustomEvents is false, Vocabulary class>>typeChoices attempts to send remove:ifAbsent: to the IdentityDictionary returned from allStandardVocabularies.
Fix added to the inbox
There are no notes attached to this issue.




Viewing Issue Advanced Details
7785 [Squeak] VM minor always 08-12-13 18:19 08-28-13 18:04
lewis  
eem  
normal  
assigned  
fixed  
none    
none  
RePlugin patch for pcre from Debian bug report #710375
Reported here:
http://lists.squeakfoundation.org/pipermail/vm-dev/2013-August/013368.html [^]
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=710375 [^]

squeak-vm uses the system pcre library which does not provide the
prce_info anymore:
       int pcre_fullinfo(const pcre *code, const pcre_extra *extra,
            int what, void *where);

       The pcre_fullinfo() function returns information about a
compiled pat-
       tern. It replaces the pcre_info() function, which was removed
from the
       library at version 8.30, after more than 10 years of obsolescence.

A patch has been provided by a Debian maintainer, but may need to be reimplemented in the plugin slang.
Notes
(0014432)
lewis   
08-15-13 02:47   
RePlugin was written by Andrew C. Greenberg. It consists of a VM plugin in package RegexPlugin, some interface classes in package Regex-Base, and a test suite in package Regex-tests.

An overview is on the Swiki at http://wiki.squeak.org/squeak/558. [^]

The RePlugin distribution is on SqueakMap as package "Regular Expression Plugin". The most recent update is version 3.31, which is a SAR distribution containing the plugin, the image support code, the unit tests, and documention. The package is fully functional and all tests are green when running on a 32 bit VM (e.g. an interpreter VM from www.squeakvm.org/unix, or Cog if the plugin is present).

The RePlugin is now part of the VMMaker package, so the RegexPlugin package from the SqueakMap distribution is superceded by the RePlugin VMMaker-Plugins.

RePlugin also requires updates for 32/64 bit compilation. It crashes the VM when compiled in 64-bit mode.
(0014433)
lewis   
08-15-13 02:50   
The patch provided for Debian build resolves the linker errors by disabling a primitive. However, the primitive still requires a proper fix in VMMaker to use the new pcre_fullinfo() function rather than the obsolete pcre_info().
(0014434)
lewis   
08-18-13 15:43   
Source code for an early version of the PCRE is in platforms/Cross/plugins/RePlugin. The VM is compiled with this code, rather than using OS supplied libraries. The link error reported in the Debian bug report is probably a result of link-time confusion between the OS supplied library and the code in our platforms/Cross tree.

We should stop using a local (and obsolete) version of the PCRE, and begin linking directly to the platform supplied library when present. Unix/Linux systems are sure to provide a PCRE implementation, but I don't know the status with respect to Windows, iOS, RiscOS etc.
(0014435)
lewis   
08-18-13 15:45   
The platforms/win32 and platforms/iOS both provide RePlugin.c files that have been generated from the Smalltalk plugin, which is now maintained in VMMaker. These generated sources should be removed from the platforms trees.
(0014436)
lewis   
08-18-13 15:50   
Note - the original platforms source for PCRE in platforms/Cross/RePlugin contains the then-current implementations of the pcre_info() and pcre_fullinfo() functions. Documentation of the original pcre_info() function is not readily available, so use this local code as reference for how to update the RePlugin in VMMaker to use the pcre_fullinfo() function.
(0014438)
eem   
08-28-13 18:04   
Fixed in Cog and merged into VMMaker-eem.323. Also fixed arg count of primPCREExecfromto
and compilation warnings in rePluginFree: & rePluginMalloc:.




Viewing Issue Advanced Details
7784 [Squeak] SARInstaller crash always 08-08-13 19:34 08-08-13 19:34
tim  
 
normal  
new 4.4  
open  
none    
none  
SARInstaller>fileInMonticelloPackageNamed: sends unimplemented message #readStreamDo:
Stumbled on this as part of other work - looks like FileStream>readStreamDo: must have got deleted some time ago.
There are no notes attached to this issue.




Viewing Issue Advanced Details
4785 [Squeak] Kernel minor always 09-09-06 12:49 08-05-13 18:03
Krivanek  
FrankShearar  
normal  
resolved 3.10  
fixed  
none    
none  
[KernelImageOverride] Utilities class informUserDuring:
Utilities class >> informUserDuring:
uses ugly implementation with isMorphic message. Should call UIManager

UIManager default informUserDuring: aBlock

Unlike Utilities class >> informUser:during: this message is used in the kernel a lot.
Notes
(0014430)
FrankShearar   
08-05-13 18:03   
ar fixed this back in 2009.




Viewing Issue Advanced Details
4783 [Squeak] Kernel minor always 09-09-06 12:37 08-05-13 18:01
Krivanek  
FrankShearar  
normal  
resolved 3.10  
fixed  
none    
none  
[KernelImageOverride] Utilities class informUser:during:
Utilities class >> informUser:during:
uses ugly implementation with Smalltalk isMorphic and it should be replaced by UIManager method. Then also is not necesary to have this method in Utilities.

UIManager default informUser: aString during: aBlock

Then it probably should be removed from the kernel

Notes
(0014429)
FrankShearar   
08-05-13 18:01   
ar fixed this back in 2009.




Viewing Issue Advanced Details
4795 [Squeak] Kernel minor always 09-09-06 14:28 08-05-13 17:58
Krivanek  
FrankShearar  
normal  
resolved 3.10  
fixed  
none    
none  
[KernelImageOverride] SysntaxErrorNotification defaultAction
SysntaxErrorNotification >> defaultAction

original:

defaultAction
    ^ToolSet debugSyntaxError: self

override:

defaultAction

    UIManager default syntaxErrorNotificationDefaultAction: self


dependent on Tools. It should be override of Tools package. Mabye rising of unhandled error will be better solution than special UIManager message.
Notes
(0014428)
FrankShearar   
08-05-13 17:58   
I've split the class across Compiler and System by moving the #defaultAction to the System package. This way System overrides/monkey-patches Compiler.

System-fbs.579 & Compiler-fbs.265.




Viewing Issue Advanced Details
4816 [Squeak] Kernel minor always 09-09-06 16:41 08-05-13 17:42
Krivanek  
FrankShearar  
normal  
resolved  
fixed  
none    
none  
[KernelImageOverride] Locale class localeChanged
Locale class >> localeChanged


original:

localeChanged
    #(#ParagraphEditor #BitEditor #FormEditor #StandardSystemController )
        do: [:key | Smalltalk
                at: key
                ifPresent: [:class | class initialize]].
    StrikeFont localeChanged.
    PartsBin localeChanged.
    Project localeChanged.
    PaintBoxMorph localeChanged.
    ColorPickerMorph localeChanged.
    Preferences localeChanged

override:

localeChanged
    #()
        do: [:key | Smalltalk
                at: key
                ifPresent: [:class | class initialize]].
    StrikeFont localeChanged.
    Preferences localeChanged

Ugly code, we need refactoring with some registry of classes that need to process the change of locale.
Notes
(0014427)
FrankShearar   
08-05-13 17:42   
Fixed in System-fbs.556.




Viewing Issue Advanced Details
4817 [Squeak] Kernel minor always 09-09-06 16:43 08-05-13 17:40
Krivanek  
FrankShearar  
normal  
resolved 3.10  
fixed  
none    
none  
[KernelImageOverride] LanguageEnvironment class startUp
LanguageEnvironment class >> startUp

original:

startUp

    self clearDefault.
    Clipboard startUp.
    HandMorph startUp.

override:

startUp

    self clearDefault.
    Clipboard startUp.

Morphic dependent code
Notes
(0014426)
FrankShearar   
08-05-13 17:40   
I completely redid this in Multilingual-fbs.165.




Viewing Issue Advanced Details
7783 [Squeak] Installer feature always 08-05-13 14:59 08-05-13 14:59
FrankShearar  
 
normal  
new trunk  
open  
none    
none  
Support SmalltalkHub
We want something so that we can say

Installer stHub user: 'Foo' project: 'Bar'
There are no notes attached to this issue.




Viewing Issue Advanced Details
1554 [Squeak] Kernel minor always 07-26-05 19:39 07-28-13 14:57
KenCausey  
 
normal  
resolved trunk  
fixed  
none    
none  
[FIX] ClassVarsFix-petervr-v2 for compiler class var & global var shadowing issue
from preamble:

"Change Set: ClassVarsFix-petervr-v2
Date: 9 October 2003
Author: Peter van Rooijen

fixes the lookup of class variables.
previously, inherited class variables
did not shadow other shared variables.

v2 - minor improvements"!
ClassVarsFix-petervr-v2.cs.gz (1 KB) 07-26-05 19:39
Tests-ClassVarsFix.st.gz (1 KB) 07-26-05 19:43
Notes
(0001971)
KenCausey   
07-26-05 19:41   
"Peter van Rooijen" <squeak@vanrooijen.com>:

"I added some SUnit tests to demonstrate the bug and give credibility to the
fix.

Only two of the tests fail in an unfixed image. The rest serve as regression
tests.

All the tests pass after the fix is installed.

I added the tests as a file-out. I tried filing it into a change set, but
doing that lost the class comment."

(attaching Tests-ClassVarsFix.st.gz)
(0001972)
KenCausey   
07-26-05 19:44   
marcus@ira.uka.de:

"See the discussion:

http://lists.squeakfoundation.org/pipermail/squeak-dev/2003-October/068300.html [^]
"
(0001973)
KenCausey   
07-26-05 19:47   
I filed in the test into a 3.8-6665-basic image and 2 out of the 10 tests failed. I then filed in the fix changeset and ran the tests again and all 10 passed.
(0014425)
nicolas cellier   
07-28-13 14:54   
The tests have been loaded in Squeak4.5 Trunk http://source.squeak.org/trunk/KernelTests-nice.253.mcz [^]
The lookup workaround has been loaded in Trunk http://source.squeak.org/trunk/Kernel-nice.797.mcz [^]





Viewing Issue Advanced Details
4802 [Squeak] Kernel minor always 09-09-06 15:00 07-25-13 10:57
Krivanek  
 
normal  
new 3.10  
open  
none    
none  
[KernelImageOverride] SmalltalkImage fixObsoleteReferences
SmalltalkImage >> fixObsoleteReferences

The code
SystemNavigation default obsoleteBehaviors inspect.
was commented. Tools (inspector) dependet. Maybe the new special UIManager message for general object inspecting/exploring will be useful.
Notes
(0014424)
FrankShearar   
07-25-13 10:57   
I can see the problem - Object >> #inspect is defined in the Tools package while this method's in the System package, so if you had an image with System loaded but not Tools, this would fail.

But I don't see how to fix the problem.




Viewing Issue Advanced Details
4806 [Squeak] Kernel minor always 09-09-06 15:48 07-25-13 10:25
Krivanek  
FrankShearar  
normal  
resolved 3.10  
no change required  
none    
none  
[KernelImageOverride] ProgressInitiationException defaultAction
ProgressInitiationException >> defaultAction

original:

defaultAction
    Smalltalk isMorphic
        ifTrue: [self defaultMorphicAction]
        ifFalse: [self defaultMVCAction].

override:

defaultAction
    
    UIManager default progressInitiationExceptionDefaultAction: self

UI dependent code replaced with the new UIManager message.
Notes
(0014423)
FrankShearar   
07-25-13 10:25   
Fixed sometime in 2011.




Viewing Issue Advanced Details
4827 [Squeak] Kernel minor always 09-09-06 17:30 07-25-13 10:24
Krivanek  
FrankShearar  
normal  
resolved 3.10  
no change required  
none    
none  
[KernelImageOverride] FileExistsException defaultAction
FileExistsException >> defaultAction

original:

defaultAction
    "The default action taken if the exception is signaled."


    ^self readOnly
        ifTrue: [StandardFileStream readOnlyFileDoesNotExistUserHandling: self fileName]
        ifFalse: [StandardFileStream fileDoesNotExistUserHandling: self fileName]

override:

defaultAction
    "The default action taken if the exception is signaled."

    ^ UIManager default fileDoesNotExistsDefaultAction: self

Maybe the rising of unhandled error will be better solution for KI than special UIManager message
Notes
(0014422)
FrankShearar   
07-25-13 10:24   
Files-fbs.125 and System-fbs.563 address this by moving the #defaultAction to the System package.




Viewing Issue Advanced Details
4829 [Squeak] Kernel minor always 09-09-06 17:37 07-25-13 10:22
Krivanek  
FrankShearar  
normal  
resolved 3.10  
no change required  
none    
none  
[KernelImageOverride] FileDirectory rename:toBe:
FileDirectory >> rename:toBe:

original:

rename: oldFileName toBe: newFileName
    | selection oldName newName |
    "Rename the file of the given name to the new name. Fail if there is no file of the old name or if there is an existing file with the new name."
    "Modified for retry after GC ar 3/21/98 18:09"
    oldName := self fullNameFor: oldFileName.
    newName := self fullNameFor: newFileName.
    (StandardFileStream
        retryWithGC:[self primRename: oldName asVmPathName to: newName asVmPathName]
        until:[:result| result notNil]
        forFileNamed: oldName) ~~ nil ifTrue:[^self].
    (self fileExists: oldFileName) ifFalse:[
        ^self error:'Attempt to rename a non-existent file'.
    ].
    (self fileExists: newFileName) ifTrue:[
        selection := (PopUpMenu labels:
'delete old version
cancel')
                startUpWithCaption: 'Trying to rename a file to be
', newFileName , '
and it already exists.'.
        selection = 1 ifTrue:
            [self deleteFileNamed: newFileName.
            ^ self rename: oldFileName toBe: newFileName]].
    ^self error:'Failed to rename file'.

override:

rename: oldFileName toBe: newFileName
    | selection oldName newName |
    "Rename the file of the given name to the new name. Fail if there is no file of the old name or if there is an existing file with the new name."
    "Modified for retry after GC ar 3/21/98 18:09"
    oldName := self fullNameFor: oldFileName.
    newName := self fullNameFor: newFileName.
    (StandardFileStream
        retryWithGC:[self primRename: oldName asVmPathName to: newName asVmPathName]
        until:[:result| result notNil]
        forFileNamed: oldName) ~~ nil ifTrue:[^self].
    (self fileExists: oldFileName) ifFalse:[
        ^self error:'Attempt to rename a non-existent file'.
    ].
    (self fileExists: newFileName) ifTrue:[
        selection := UIManager default chooseFrom: #('delete old version' 'cancel') values: #(1 2) title: 'Trying to rename a file to be
', newFileName , '
and it already exists.'..
        selection = 1 ifTrue:
            [self deleteFileNamed: newFileName.
            ^ self rename: oldFileName toBe: newFileName]].
    ^self error:'Failed to rename file'.

UI dependent code replaced with UIManager message
Notes
(0014421)
FrankShearar   
07-25-13 10:22   
I replaced the UI reference with a resumable exception, ReplaceExistingFileException, in Files-fbs.125.




Viewing Issue Advanced Details
7782 [Squeak] CI minor always 07-25-13 10:17 07-25-13 10:17
FrankShearar  
FrankShearar  
normal  
assigned trunk  
open  
none    
none  
Intermittent build failures because
http://build.squeak.org/job/SqueakTrunk/472/testReport/junit/TraitsTests.Kernel/PureBehaviorTest/testUpdateWhenLocalMethodRemoved/ [^] shows a weird error.

Something goes wrong with the sourceStream of the Compiler. I have an idea it's something to do with a RemoteString trying to read out the changes file and borking. Sadly, I don't remember the exact details. Could it have been with a malformed timestamp?
Parser>>notify:at:
Parser>>offEnd:
Parser(Scanner)>>xSingleQuote
Parser(Scanner)>>scanToken
Parser>>advance
Parser>>init:cue:failBlock:
Parser>>parse:cue:noPattern:ifFail:
Compiler>>translate:noPattern:ifFail:
Compiler>>compile:in:classified:notifying:ifFail:
C2 class(ClassDescription)>>traitAddSelector:withMethod:
[] in C2 class(ClassDescription)>>installTraitMethodDict:
[] in Dictionary>>keysAndValuesDo:
Dictionary>>associationsDo:
Dictionary>>keysAndValuesDo:
C2 class(ClassDescription)>>installTraitMethodDict:
C2 class(ClassDescription)>>installTraitsFrom:
C2 class(ClassDescription)>>updateTraits
[] in Trait(TraitDescription)>>installTraitsFrom:
Array(SequenceableCollection)>>do:
Trait(TraitDescription)>>installTraitsFrom:
Trait(ClassDescription)>>updateTraits
[] in Trait(TraitDescription)>>installTraitsFrom:
Array(SequenceableCollection)>>do:
Trait(TraitDescription)>>installTraitsFrom:
Trait(ClassDescription)>>uses:
Trait class>>named:uses:category:env:
TraitsResource>>createTraitNamed:uses:
[] in TraitsResource>>setUp
BlockClosure>>ensure:
SystemChangeNotifier>>doSilently:
TraitsResource>>setUp
TraitsResource(TestResource)>>initialize
TraitsResource class(Behavior)>>new
TraitsResource class(TestResource class)>>current
TraitsResource class>>resetIfDirty
PureBehaviorTest(TraitsTestCase)>>tearDown
There are no notes attached to this issue.




Viewing Issue Advanced Details
7781 [Squeak] Tools minor always 07-24-13 21:16 07-24-13 21:16
FrankShearar  
 
normal  
new trunk  
open  
none    
none  
Weird render bug
I just noticed this in the dependency browser. Note the right end of the top line, and the left part of the next line. The "withStamp:" is my favourite, where we have half a word normal+blue, and the other half black+bold. The bug disappears as soon as I widen the codepane.

I can't reproduce the bug by narrowing the codepane though: the text correctly word-wraps.
weird-text-render-bug.png (27 KB) 07-24-13 21:16
There are no notes attached to this issue.




Viewing Issue Advanced Details
6894 [Squeak] Kernel major always 02-11-08 02:26 07-23-13 11:20
umejava  
 
normal  
feedback 3.10  
fixed  
none    
none  
StartUpList order is broken after the Delay patch installation
If you install DelayStartup changeSet in Squeak, LanguageEnvironment is placed after FileDirectory in StartUpList.
However, LanguageEnvironment should precede FileDirectory in start up process, because FileDirectory class >>startUp relies on encoded pathname which must be configured by LanguageEnvironment.
This order is dangerous because Squeak fails to start if you move the image to other encoded path platforms (eg. from Mac to Windows).

I submit a patch for fix this order.
3.8.2 & 3.10 has bad ordered list, because of the DelayStartup patch.
FixOrderOfRegisteringStartUpList-mu.1.cs (2 KB) 02-11-08 02:26
Notes
(0011757)
Keith_Hodges   
02-11-08 03:23   
"fix begin"
Installer mantis bug:6894 fix: 'FixOrderOfRegisteringStartUpList-mu.1.cs'.
"fix end"
(0014414)
tim   
07-22-13 02:56   
FileDirectory still precedes LanguageEnvironment in a 4.5 image, so if this is important, it's still broken
(0014419)
umejava   
07-23-13 01:45   
It became less important because recent Win32 VM uses UTF8 path encoding and LanguageEnvironment class>>defaultFileNameConverter was fixed for that (ar 6/3/2007).

But Latin2Environment class>>fileNameConverterClass still returns legacy path converter class, so it could still be a problem. (I think it is minor one, because Latin2Environment user is very rare. Class comment says "so far nobody seriously needed it").




Viewing Issue Advanced Details
4782 [Squeak] Kernel minor always 09-09-06 12:28 07-22-13 10:10
Krivanek  
FrankShearar  
normal  
resolved 3.10  
fixed  
none    
none  
[KernelImageOverride] Warning defaultAction
The current implementation of Warning>>defaultAction is dependent on ToolSet and it starts debugger. The kerenl image doesn't contain tools (including debugger) so the implementation in KI only rises unhandled error (UnhandledError signalForException: self). So it should be override of tools package or it should call special UIManager method. I prefert the first solution.
Notes
(0014417)
FrankShearar   
07-22-13 10:10   
The solution is to move #defaultAction into System somewhere. That breaks the Kernel->System dependency.

Kernel-fbs.793 and System-fbs.572 fix this problem.




Viewing Issue Advanced Details
6626 [Squeak] Tools minor always 08-16-07 16:08 07-22-13 02:44
Keith_Hodges  
cwp  
normal  
assigned 3.10  
open  
none    
none  
Fixes for Universes
Collect fixes for universes here.
UniversesMCAndProvidesPatch.1.cs (1 KB) 08-16-07 16:33
UniversesMCAndProvidesPatch.2.cs (1 KB) 08-16-07 16:45
UniversesMCAndProvidesPatch.3.cs (1 KB) 08-16-07 17:23
There are no notes attached to this issue.




Viewing Issue Advanced Details
3216 [Squeak] Morphic minor always 03-02-06 22:36 07-22-13 02:32
wiz  
 
normal  
new 3.9  
open  
none    
none  
Typing Cmd-k while over the world is frustratingly and confusingly context sensative.
In a fresh Squeak 7004.

Put the mouse of a clear spot on world desktop. Type Cmd-k
A workspace comes up.
Type it again. Another workspace.
Now move the cursor over one of the workspaces and move it back to its original spot.
Type Cmd-k. Instead of a workspace a font type menu pops up.
This is annoying.

I haven't looked at the code. But it would seem that leaving a window morph should clear the keyboard focus so that the font menu does not come up out of context.
Notes
(0004522)
wiz   
03-19-06 02:59   
Some clues and analysis.

There are two aspects to this annoyance.
Cmd-k means one thing when the world has the focus and another when TextMorph/Textmorph for edit view has focus.

A text morph in an active window gets focus on mouseEnter but does not release it on mouse exit.

It is not possible to tell by cursor position whether the world or a recently active textmorph has the focus.

The text morph retaining the focus has the benifit that typing will go into the last active paragraph. That is a GOOD thing IMHO.

So the problem will have to be solved or not by binding the opening of a workspace to some other gesture. Or something else that does not permanently affect focus.

Note that moving over a PLM from a TextMorph will change the focus. And moving from the PLM to the world will nil out the focus.

This seems inconsistant with the TextMorph retaining the focus. And I would consider that inconsistency a bug or at least a mal feature. It prevents the user from achieving a useful model of whats going on in their head. What happens all depends on what path the mouse has taken.

That's all for now.
(0014409)
tim   
07-22-13 02:32   
I agree it is poor UI practice.




Viewing Issue Advanced Details
7780 [Squeak] Monticello major always 07-21-13 11:18 07-21-13 11:18
FrankShearar  
avi  
high  
assigned 4.4  
open  
none    
none  
Monticello can't handle redirections
http://code.google.com/p/metacello/issues/detail?id=185 [^] describes bootstrapping problems for Metacello, because 4.4 tries to access the old SS3 URLs, which redirect to the new SS3 locations. 4.4 and 4.5 don't (AFAIK) handle HTTP 3xx messages, and bail.
There are no notes attached to this issue.




Viewing Issue Advanced Details
1300 [Squeak] Morphic minor always 06-02-05 17:11 07-21-13 03:23
KenCausey  
 
normal  
confirmed 3.9  
open  
none    
none  
ComicSanMS not working
ComicSansMS is listed in the font and style lists but I can't seem to get it to work in either 3.9-6648 or 3.8-6665. Is it perhaps removed from the image but still in the list accidentally?
Notes
(0014388)
tim   
07-21-13 00:08   
It doesn't actually cause an error report in 4.5-12641 but the font proffered sure as hell ain't actually Comic SansMS but looks quite like bolded BitStreamVeraSans to me.
(0014389)
tim   
07-21-13 00:19   
Oh and indeed a quick inspect of TextConstants shows that the TextStyle named ComicSansMS in fact has 5 BitStreamVeraSans fonts, all bolded in sizes 6 9 11 17 & 26. So that's why it looked like that.
What happened to good old comic-sans? How can I write comically insane emails about how I've found a disproof of {choose well-established science here} without it installed properly?
(0014401)
lewis   
07-21-13 03:23   
I believe that there may be copyright issues with ComicSansMS that prevent it being distributed in the image. Most likely the real ComicSansMS was replaced with a placeholder font for this reason. The font list should probably be updated to reflect this.

Release notes for Squeak 2.0 are at the bottom of this swiki page: http://wiki.squeak.org/squeak/5809. [^] Quoting from that page:

"NOTE: The Comic Sans font included in this release is copyright: © 1997 Microsoft Corporation. All rights reserved. Use is governed by the agreement found at
http://www.microsoft.com/typography/fontpack/eula.htm [^]
Copies of this font may not be distributed for profit either on a standalone basis or included as part of your own product. It is our intention to replace this font with a public domain font in the near future."




Viewing Issue Advanced Details
1792 [Squeak] Multilingual minor always 09-13-05 20:01 07-21-13 02:48
bert  
bert  
normal  
assigned 3.8  
open  
none    
none  
UTF8TextConverter incorrectly reads malformed multi-byte sequences
In an UTF8 multi-byte sequence, the second to last byte need to be of the form "10xxxxxx". This is not checked for by the UTF8TextConverter. It just reads those bytes. However, it must not interpret those bytes as multi-byte sequence, but rather start a new character there. Otherwise, valid characters are skipped.
Notes
(0014393)
tim   
07-21-13 02:48   
Does it still do this?




Viewing Issue Advanced Details
7779 [Squeak] Morphic minor always 07-16-13 23:12 07-16-13 23:12
tim  
 
normal  
new 4.4  
open  
none    
none  
TwoWayScrollPane is obsolete but still used as active
According to the comment:-

"TwoWayScrollPane is now obsolete. You should be able to use ScrollPane to do both vertical and horizontal scrolling.

As an example, see Morph>>inATwoWayScrollPane and change the first line to create a ScrollPane instead of a TwoWayScrollPane. It will still work."
And indeed it does. We should deprecate/remove/whatever this and mixup the vestigial usages.
There are no notes attached to this issue.




Viewing Issue Advanced Details
7778 [Squeak] Tools minor always 07-16-13 20:59 07-16-13 20:59
FrankShearar  
 
normal  
new trunk  
open  
none    
none  
ArchiveViewer open across saved/closed/reopened image fails
"Error: stream missing or closed" because, presumably, the FileStream closed during image shutdown. It would be really nice for it to quietly reopen the file, if possible.
There are no notes attached to this issue.




Viewing Issue Advanced Details
7777 [Squeak] Network minor always 07-12-13 22:15 07-12-13 22:15
tim  
 
normal  
new 4.4  
open  
none    
none  
HTTPSocket httpJpeg: & httpGif: use archaic api for image decoding
HTTPSocket methods httpGif: & httpJpeg: seem to use rather archaic messages to get the images decoded.

I suspect that it would be cleaner to replace
httpJpeg: url
    "Fetch the given URL, parse it using the JPEG reader, and return the resulting Form."

    | doc ggg |
    doc := self httpGet: url.
    doc binary; reset.
    (ggg := JPEGReadWriter new) setStream: doc.
    ^ ggg nextImage.

with something more like
httpJpeg: url
    "Fetch the given URL, parse it using the JPEG reader, and return the resulting Form."

    | doc |
    doc := self httpGet: url.
    doc binary; reset.
    (ImageReadWriter formFromStream: doc) nextImage.

for example
There are no notes attached to this issue.




Viewing Issue Advanced Details
7776 [Squeak] SUnit feature always 07-11-13 09:12 07-11-13 19:01
FrankShearar  
 
normal  
new trunk  
open  
none    
none  
Investigate outsourcing SUnit to SUnit 5.0
This would entail removing SUnit and all test packages from the base trunk image, and making #loadWellKnownPackages pull in SUnit from Jan Vrany's repo.
There are no notes attached to this issue.




Viewing Issue Advanced Details
5205 [Squeak] Kernel major always 10-09-06 05:13 06-22-13 00:23
wiz  
 
normal  
resolved 3.10  
open  
none    
none  
Versions, sources, and changes. Repairing the current system to eliminate limitations.
The problem:

Squeak periodically runs out of room in the source and change files.
The number of files are currently fixed at two.
The size of each file is limited at 32M each.
Changes can only be added to the second file.

While compressing changes and sources works for distibution, not having an image of squeak with the history of all changes from the current source severely hampers maintenence and repair.

Conclusion: Squeak needs to have a version source system that does not have these gross limitations.
So what to do about them.

See 0004369 for an enhancement that removes the file size limitation by using the adjunct class to compliled method to reference larger source and changes files.

I'm about to argue that this alone is not the best way to solve the problem stated above.

The essence of a good solution for me would allow a squeak to have several levels of versions. Each version level would have a source or changes file(s) connected to it. You could compress the lowest level of changes into the next higher version.

The other orthoganal aspect of the solution is rather than letting the file size get too large a source or change 'file' would actually be a series of modestly sized files. Part 1, part 2, part 3. etc.

Only the growth tip of the changes file changes. So this would allow the separate distribution of an image and (small) changetip with the option of downloading the unchanging sources once when necessary. We do this now by maintaining the sources separate from the changes file. This method would just be an extention of that.

The above is the needfully vague user story. The details need to be fleshed out in the implementatiion.

I understand the same mechanism that Klaus used to suggest the 512M files could be used to extend sources.

The main challenge would be working out a useable naming scheme for the files.

Squeak has a wonderful version numbering system already in place that can be used to generate levels.

The other necessary challenge is to build this scheme to be as friendly to the past method of doing sources and changes as possible. It will help greatly if old sources and changes are still referencable from within the new scheme of things.

I leave this problem here for now in hopes of feedback and support. I've have put the major label on it because it represents a major change and if it is to do the most good the sooner a solution is incorperated the more good it will do.

ExpandedSourceFileArray-part1-dtl.2.cs (20 KB) 12-27-09 18:59
ExpandedSourceFileArray-part2-dtl.2.cs (1 KB) 12-27-09 19:00
Notes
(0008677)
wiz   
12-13-06 10:53   
Hi Tim,
Thanks for assigning yourself to this.
The next good step to take would be to post whatever code you've got so far here.

I'll have some time over Xmas to persue my curiosity. And the more data I can give it the better it will serve me.

(0008867)
tim   
01-11-07 10:34   
Text of email I sent on jan 10 2007 hoping to spark some discussion of ways to proceed:-
    From: tim@rowledge.org
    Subject: Re: Version Histories (was Whats Happening with 3.10. etc.)
    Date: January 10, 2007 11:14:09 PM PST (CA)
    To: squeak-dev@lists.squeakfoundation.org

Here is my schema, such as it is thus far, for improving the source referencing. It's not complete. I need some suggestions for ways to tackle a few items.

The problem we face is that a lot needs to be changed in order to use anything other than indices into file; so many facilities rely upon it. Some serious refactoring would be needed in assorted changelist, version listing etc methods. There are complications in ImageSegment code too. RemoteString is pretty yucky. Class comments are also mixed up in file/index encoding assumptions. All the source compression, tempname-in-method etc code will need altering.

During the writing (and indeed installing later) of the code we need all our normal tools to keep working so we can stay sane while doing the writing.

The basic idea is to add a proper oop for a source reference object so that we can later implement classes that use a database, a web search, access multiple files, decompile, guess or whatever. Initially I propose simply using an integer with a simple encoding scheme (not the rather covoluted one currently in use - take a look at StandardSourceFileArray>fileIndexFromSourcePointer: and friends) and just reusing the files.

First possibly contentious idea
========================
Do this work in a 3.8.1 image to avoid the change in sources/changes files done during the 3.9 cycle and some issues with the introduction of Traits. I am *not* suggesting abandoning all the hard work in 3.9 and anyone implying that I did so will get a late night visitation. You Don't Want That.
*After* incorporating the improved source referencing, add the 3.9 packages but leave out the source condensing step(s). This would leave the SqueakV3.sources file untouched and could either leave us with a changes file that is simply appended to (and obviously quite big) or slightly reformatted (and still pretty big).

Step 1
Add a new source reference ivar to the method properties object that all methods now have. Well, except that method properties were added somewhere during 3.9 - so they'd have to be added early. Drat. Ideas on the minimum disruptive way to add this?

Step 2
Add new method creation methods that do not use the trailerBytes stuff. We are not using them yet...

Step 3
Change source access method(s) to check the value of the source reference in the methodProperties and use the 'old' access if it is nil - which of course it is for now. Also change endPC similarly.

Step 4
change #generate methods to refer to a global flag to say whether they use trailerbytes or not. Set the flag *before* that... DAMHIKT!

Step 5
A big do-it to flip the global flag, recompile all methods and thereby set the new shiny source pointers. This is where things can get very complicated. We have to decide what to do about the changes file and all those historical versions.
a) we could effectively condenseSources so that there is no need to worry about handling encrypted pointers to older versions. This would of course mean a new .sources file.
b) we could condenseChanges so that any methods in the changelog that are also in the old sources file have a correct back pointer, thus losing most but not all history.
c) we could try to be very clever and copy the entire history chain for each method across to a new changes file, keeping history.
d) we could be insane and try to make code that works out when a history pointer is 'old format' and still handle it and then just append new format sources to the current changes. I'm not going to write that one myself...
Ideas?

Step 6
change the #generate methods to ignore trailerbytes completely, drop the global flag and remove it
remove all the redundant method creation methods etc

Step 7
rework ImageSegment, source code compression, abandonSources, etc etc. Ideas?

There is a *lot* needing changing to do this well. I'm horrified how poorly factored and written some of this core code is and how it has just accreted more and more crap over the last few years. Yuck. Yuck. Bad taste in mouth.

tim
--
tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim [^]
Strange OpCodes: EFBI: Emulate Five-volt Battery Intermittently
(0009064)
wiz   
01-19-07 10:09   
Hi Tim,

In thinking about a transition stratagy here is what I've come up with so far.

Its a somewhat vauge stratagy but useful because it works within the framework that exists.

1) keep the oldest two source/change files limited to their current size.
2) Use some values of the prior pointer as an extention flag.
the prior pointer in the range p < n or p > max - n where n is some number 1 < n < about 10 would give you lots of flags.

The presence of these values in the pointer field tells you the distinction between old way to retreive things or new way.

Then just wrap a filter around the things that use the prior pointers.

if the pointer is a normal value do what has always been done.

If it is a special value use the extended scheme to find recent changes.

The advantage is it would give a chance to add the new stuff in while still using the old stuff. Which has been doing its job up until recently.

It would allow additional change file parts to take up the load of the overflow changes.

When you get to a point that you have all the changes stuff in the new format you can set n higher so that everything filters into the new scheme.

At some point you have a safe point at which to remove the old now vestigial code in a clean up phase.

There should be some way to get to a point where versions of code exist in both the old and new format at the same time.

And you could probably gen up some exhaustive test to make sure you get
both the old scheme and new scheme to give equivalent answers to queries for versions.

This is a slow cautious way to get from scheme a to scheme b with both of them existing side by side.

That's the current thinking.

Yours in service, --Jerome Peace
(0009065)
wiz   
01-19-07 10:13   
Reminder sent to: tim
(0013449)
lewis   
12-27-09 19:03   
Uploaded two changes sets that correspond to the changes added to Squeak trunk on 26-Dec-2009:
 ExpandedSourceFileArray-part1-dtl.2.cs
 ExpandedSourceFileArray-part2-dtl.2.cs

These changes take advantage of the new CompiledMethodTrailer to permit essentially unlimited expansion of the sources and changes files, and are fully backward compatible with the traditional StandardSourceFileArray.
(0013451)
wiz   
12-30-09 06:07   
Hi Mr. Lewis,

Thanks for addressing this issue.

 I agree that not having the limit of 32k on the source and changes files will improve things marginally.

 I am still disturbed by two (missing) things.

 I ask all who sumbit changes for a test that fails before the patch and passes after it. This does not have to be a catastrophic failure. Simple something that proves the patch changes something that needed changing. It might simply be a test for the presence of the new classes. It would be even better if something substantial could be proven with the tests. (Very short of playing with 32M+ files let alone 512M. Test like those fall into the realm of acceptance tests. I am looking more for sunit and regression tests here.) Beyond guidance they will guard against future changes reverting things. The change process tends to let things fall through the cracks.

 The second missing thing is removing the limitation of one change file per image. There should be a way to have a change file per version level. Whole numbers, one decimal, two decimals etc.

The point being that when you ship an image at a certain version level you can ship just the image and a small changes file associated with the image. Other level of changes would not be affected. If someone is getting a new image they would need all the version levels of changes that go with that image that the have not already downloaded.

 The change files mimic the version tree.

 My belief is that the 512M scheme is missing this vital component. Experience has shown me that large files are potential problems in their own right. A small corruption in one part can kerflarg a great deal of data. Smaller more modular files usually fare better.

 This scheme assumes there would be other tools in place to manage the small files. Different levels of consolidation and redundancy removal. I am not addressing that here because that could be addressed once the ability to have multiple change levels is in place.

 My comments are old and my thinking is old. I never did adapt to the presence of MC. Still I think the need to aim for small modular change files will help squeak in the long run. No matter how far MC has come.

 Thank you for taking the time to think about these remarks.

Yours in curiosity and service, --Jerome Peace




Viewing Issue Advanced Details
7771 [Squeak] Compiler minor always 06-20-13 09:16 06-20-13 14:43
FrankShearar  
 
normal  
new  
open  
none    
none  
Decompiling inlinable message sends as parameters fails
Foo>>decompilerBug
      self value: (true
          ifTrue: [^ true]
          ifFalse: [^ false])
Notes
(0014364)
KenCausey   
06-20-13 14:43   
Context http://lists.squeakfoundation.org/pipermail/squeak-dev/2013-June/171663.html [^]




Viewing Issue Advanced Details
7769 [Squeak] Tools feature always 06-18-13 14:55 06-18-13 14:55
FrankShearar  
FrankShearar  
normal  
assigned trunk  
open  
none    
none  
Add list of used traits to possible place to createMethod
Martin Dias reports on pharo-dev:

Hi

I informally reported this "feature requirement" today to Sebastian,
but I wanted to post it to all.

When the debugger is shown after a MNU, the developer can press the
button "Create method". A list of the superclasses is shown to the
developer, so he/she can choose in which class crate the method. In
addition to superclasses, it would be nice to show the traits that the
classes use, since developer might want to create the method there.

Cheers,
Martín
There are no notes attached to this issue.




Viewing Issue Advanced Details
7766 [Squeak] Tools minor always 05-31-13 14:59 05-31-13 14:59
FrankShearar  
 
normal  
new trunk  
open  
none    
none  
Changing a system category name does not mark the PackageInfo as dirty
It really should, given that that action removes all a package's classes!
There are no notes attached to this issue.




Viewing Issue Advanced Details
7765 [Squeak] System minor always 05-13-13 17:36 05-13-13 18:31
FrankShearar  
FrankShearar  
normal  
resolved trunk  
fixed  
none    
none  
Recategorise SmartRefStream conversion methods
alansTextPlusMorphbosfcebbmsopssrsggshtt0 belongs in *Morphic-Extras, for instance, because that's where TextPlusMorph lives.
Notes
(0014359)
FrankShearar   
05-13-13 18:31   
* System-fbs.528
* ST80-fbs.144
* Morphic-fbs.649
* Graphics-fbs.210
* Collections-fbs.519




Viewing Issue Advanced Details
7255 [Squeak] Kernel feature always 12-30-08 12:25 05-03-13 21:27
M8R  
FrankShearar  
normal  
resolved  
fixed  
none    
none  
Add an #ago message to Duration
Saying "10 minutes ago" is easier than "DateAndTime now - 10 minutes."

Duration>>ago

^ DateAndTime now - self
Duration-ago.st (0 KB) 01-01-09 16:03
Duration-fromNow.st (0 KB) 01-01-09 16:29
DurationTest-testAgo.st (0 KB) 01-01-09 16:30
DurationTest-testFromNow.st (0 KB) 01-01-09 16:30
Notes
(0012887)
wiz   
12-31-08 21:06   
Hi M8R,

To further your cause would you please:

Upload a fileout with the method.

And if you can write a sunit tests to that there is something that fails before and passes after the patch is added.

This could be as simple as

testAgo

self shouldnt: [ 10 minutes ago ] raise: Error .

In a suitably named subclass of TestCase.
Upload the test stuff separately from the fileout.

hth,

Yours in curiosity and service, --Jerome Peace
(0012888)
M8R   
01-01-09 16:33   
Above are the fileOuts of the methods. I also added a #fromNow message to complement #ago, so one can say "5 days fromNow" and it will return the appropriate DateAndTime object.

(0014284)
nicolas cellier   
01-05-13 01:23   
I like this suggestion.

I would have prefered ahead among suggestions from http://english.stackexchange.com/questions/24457/general-purpose-antonym-for-ago [^] but google translates 'two days ahead'->'deux jours avant' which I suddenly find quite ambiguous... Hence was a bit harder (unknown) for me

In french we would say 'il y a deux jours' for past and 'dans deux jours' for future, but prefixing is not Smalltalkish.
So the opinion of a bloody french might not really matters for such subject...
(0014357)
FrankShearar   
05-03-13 21:27   
Kernel-cmm.758 & KernelTests-fbs.249 in Trunk.




Viewing Issue Advanced Details
7748 [Squeak] CI minor always 03-02-13 10:34 05-03-13 12:43
FrankShearar  
FrankShearar  
normal  
resolved trunk  
fixed  
none    
none  
Does the ReleaseBuilder correctly specify the current Squeak version?
A couple of people have posted interesting things using "4.4 NNNN" where NNNN > 12327, the last 4.4 update.

Which ReleaseBuilder is actually running?
Notes
(0014356)
FrankShearar   
05-03-13 12:43   
ReleaseBuilder-fbs.96 removes a source of confusion: there is only one ReleaseBuilder now.




Viewing Issue Advanced Details
7749 [Squeak] Any feature always 03-02-13 11:28 05-03-13 12:42
FrankShearar  
FrankShearar  
normal  
assigned trunk  
open  
none    
none  
HeadlessUIManager or CommandLineUIManager
We've isolated most UI stuff behind a UIManager, but there's still a strong assumption of _GUI_ in there. This means that there's no support for handling errors in startup scripts: if something goes wrong, your symptom is a running image.
Notes
(0014355)
FrankShearar   
05-03-13 12:42   
https://github.com/frankshearar/squeak-ci/blob/master/CommandLineToolSet.st [^] contains a partial fix.




Viewing Issue Advanced Details
7754 [Squeak] Tools minor always 03-08-13 20:51 05-03-13 12:41
FrankShearar  
FrankShearar  
normal  
resolved trunk  
fixed  
none    
none  
Duplicate fixObsoleteReferences
These (rather long) methods are nearly identical in ReleaseBuilder, ScriptLoader, and SmalltalkImage.

SmalltalkImage is a bit more demanding re GC, and double-GCs before the large-chunk-of-sameness. Other than that, the only difference I can see is a logging statement printing to Transcript.

Oh, it's worse: ReleaseBuilder also has the same code, except that ReleaseBuilder inspects SystemNavigation default while the other two inspect SystemNavigation default obsoleteBehaviors.
Notes
(0014354)
FrankShearar   
05-03-13 12:41   
ReleaseBuilder-fbs.96 and ScriptLoader-fbs.337 remove the duplicates.




Viewing Issue Advanced Details
7764 [Squeak] Traits major always 05-01-13 13:20 05-03-13 12:39
FrankShearar  
FrankShearar  
normal  
resolved trunk  
fixed  
none    
none  
Cannot alias binary message names
Object subclass: MyObject
    uses: TMyTrait @ {#* -> #+}
    <etc>

upon accepting is turned into

Object subclass: MyObject
    uses: TMyTrait @ {#*->#+}
    <etc>

which does not parse (because you have a Symbol #*-> followed by rubbish; # is not valid in a Symbol without quotes).
Notes
(0014351)
FrankShearar   
05-02-13 09:09   
This is because an Association prints in a manner that can potentially not be evaluated. In particular, if the key is a binary selector, the printed form will be broken.
(0014352)
FrankShearar   
05-02-13 09:10   
* http://source.squeak.org/inbox/Collections-fbs.516.mcz [^]
* http://source.squeak.org/inbox/CollectionsTests-fbs.203.mcz [^]
(0014353)
FrankShearar   
05-03-13 12:39   
Collections-fbs.517.mcz in Trunk fixes this.




Viewing Issue Advanced Details
7752 [Squeak] Release Packaging minor always 03-06-13 17:04 04-30-13 08:49
pdebruic  
FrankShearar  
normal  
assigned  
open  
none    
none  
make a currentStable.zip and a latest.zip on the ftp server
Adding a currentStable.zip and latest.zip that inlcude the image, changes, and sources would make it easier to script the creation of the All-In-Ones.


They could go here:

ftp://ftp.squeak.org/current_stable/ [^]

and here:

ftp://ftp.squeak.org/current_development/ [^]

respectively
Notes
(0014336)
FrankShearar   
03-06-13 19:09   
ReleaseTrunk already produces a current-development artifact. Do you mean this ticket to say "produce an All-in-One artifact"?
(0014337)
FrankShearar   
03-06-13 20:03   
http://build.squeak.org/job/ReleaseSqueakTrunk/lastSuccessfulBuild/artifact/*zip*/archive.zip [^]

is what you're looking for, I think. Each run of this job also produces a named artifact (the contents of archive.zip): http://build.squeak.org/job/ReleaseSqueakTrunk/lastSuccessfulBuild/artifact/target/Squeak4.5-12511.zip [^] for instance.

This is a freshly updated trunk image.
(0014350)
FrankShearar   
04-30-13 08:49   
Paul, does the mentioned URL help?




Viewing Issue Advanced Details
7762 [Squeak] Tools minor always 04-30-13 08:48 04-30-13 08:48
FrankShearar  
 
normal  
new trunk  
open  
none    
none  
Can't debug quick methods
If a method #isQuick, you can't step into the method. This means you can't edit-and-continue methods that return constants, plain accessors, and similar methods.
There are no notes attached to this issue.




Viewing Issue Advanced Details
7760 [Squeak] VM crash always 04-13-13 13:22 04-18-13 01:21
lewis  
lewis  
normal  
assigned  
open  
none    
none  
FloatMathPlugin crashes the VM if compiled in 64 bit mode
FloatMathPluginTest pass when VM is compiled 32 bit, but fail when compiled 64 bit. testCos (and probably others) will crash the VM.
Tested on Linux with interpreter VM, but presumably effects all platforms.
Notes
(0014347)
lewis   
04-18-13 00:53   
The failure occurs in the support library, e.g. a segfault within the call to __ieee754_cos(). This is a gcc optimization bug, and turning off optimization makes it go away. This was identified in issue 7592 but it looks like we have reenabled too much of the optimization. Fix should go into config.cmake to set optimization to -O0, probably like this:

IF (CMAKE_COMPILER_IS_GNUCC AND CMAKE_SYSTEM_NAME STREQUAL "Linux")
  SET (LIBM_CFLAGS "${CMAKE_C_FLAGS} -O0")
ENDIF ()
(0014348)
lewis   
04-18-13 01:21   
To refine this a bit, on my SuSE Linux box the optimization -O0 and -O1 both work, and -O2 crashes with a segfault. So it may be a crashworthy compromise to set it as:

IF (CMAKE_COMPILER_IS_GNUCC AND CMAKE_SYSTEM_NAME STREQUAL "Linux")
  SET (LIBM_CFLAGS "${CMAKE_C_FLAGS} -O1")
ENDIF ()




Viewing Issue Advanced Details
7732 [Squeak] System minor always 01-30-13 12:33 03-22-13 13:58
FrankShearar  
FrankShearar  
normal  
assigned  
open  
none    
none  
!s in a startup script cause SyntaxErrors
Sample startup demonstrating the problem:#

FileStream stdout nextPutAll: '! is an exclamation mark'; flush.

which causes a SyntaxError whose content is:

FileStream stdout nextPutAll: Unmatched string quote ->'
Looks like something thinks it's in chunk format or something?
Notes
(0014343)
FrankShearar   
03-22-13 13:58   
The fix will involve touching CodeLoader.




Viewing Issue Advanced Details
7758 [Squeak] Any minor always 03-22-13 13:54 03-22-13 13:57
FrankShearar  
FrankShearar  
normal  
assigned trunk  
open  
none    
none  
On Windows, you cannot specify a startup script with an absolute path
I have a directory C:\Users\frank\squeak-ci. In that I run rake,
kicking off a build. That runs the following shell command -
C:/Users/frank/squeak-ci/target/Squeak-4.10.2-2612-src-32/Squeak4.10.2-2612.exe
 "C:/Users/frank/squeak-ci/target/TrunkImage.image"
C:/Users/frank/squeak-ci/update-image.st - from within
C:\Users\frank\squeak-ci\target, a dumping ground for various build
artifacts.

If I instead use ../update-image.st as the startup script, everything
works correctly. So a full path to the script fails, while a relative
path works.
Notes
(0014342)
FrankShearar   
03-22-13 13:57   
The fix will involve touching CodeLoader and the URI code.




Viewing Issue Advanced Details
7757 [Squeak] Multilingual major always 03-21-13 15:43 03-21-13 15:45
umejava  
 
normal  
new 4.4  
open  
none    
none  
NaturalLanguageTranslator class >> localeID: causes MNU
NaturalLanguageTranslator class >> localeID: causes MNU because #cachedTranslations is not implemented.

Probably NaturalLanguageTranslator class >> localeID: should delegate to InternalTranslator class >> localeID: for backward compatibility.

Currently we can not load legacy .translation files generated from older(4.3 before) LanguageEditor.
AbstractNaturalLanguageTranslatorLocaleIdFix-mu.1.cs (1 KB) 03-21-13 15:44
Notes
(0014340)
umejava   
03-21-13 15:45   
I've attached a proposed fix (AbstractNaturalLanguageTranslatorLocaleIdFix-mu.1.cs).




Viewing Issue Advanced Details
7756 [Squeak] Graphics minor always 03-16-13 17:34 03-18-13 16:56
Nicolai Hess  
 
normal  
new  
open  
none    
none  
InputSensor>>cursorPoint: uses primitive 91 (primitiveTestDisplayDepth)
Looking at the squeakvm source, there was a primitive for setting
the cursor position:
InputSensor>> cursorPoint: aPoint
    "Set aPoint to be the current cursor location."

    ^self primCursorLocPut: aPoint

And
InputSensor>>primCursorLocPut: aPoint
    "If the primitive fails, try again with a rounded point."

    <primitive: 91>
    ^ self primCursorLocPutAgain: aPoint rounded

Curiosly nowadays the primitive 91 is used for testDisplayDepth.
There is no primitive for setting the mouse cursor point.
There are no notes attached to this issue.




Viewing Issue Advanced Details
7753 [Squeak] Morphic minor always 03-08-13 12:20 03-08-13 12:20
Nicolai Hess  
 
normal  
new 4.3  
open  
none    
none  
NewColorPickerMorph cannot be used for recoloring a SketchMorph or GradientFill
NewColorPickerMorph can not be used to change colors re erase
colors from a SketchMorph.
The Menu entries
"erase pixels of color" and
"recolor pixels of color" raise a DNU.

Changing a GradientFill color from within the
fill style menu (for any morph) doesn't work as well.
There are no notes attached to this issue.




Viewing Issue Advanced Details
7750 [Squeak Website] major always 03-05-13 04:51 03-05-13 04:51
pdebruic  
 
normal  
new  
open  
none    
none  
No mention of Squeak 4.4 on squeak.org home page
Squeak 4.4 has been out > 1/6 of a year and the only links to downloads on the home page are to Squeak 4.3.


I understand you are making a new site but it seems like you could, in 10 minutes, at least swap out the 4.3 info for something about 4.4 and links to downloads until the new site is live.
There are no notes attached to this issue.




Viewing Issue Advanced Details
7747 [Squeak] CI minor always 03-01-13 12:30 03-01-13 12:30
FrankShearar  
FrankShearar  
normal  
assigned trunk  
open  
none    
none  
Make CI and Magma play nicely together
Magma uses custom resource setup within which it runs its tests. HDTestReport wants to run those tests directly so it can build its results.
There are no notes attached to this issue.




Viewing Issue Advanced Details
7738 [Squeak] Installer minor always 02-15-13 17:51 03-01-13 11:48
FrankShearar  
FrankShearar  
normal  
assigned trunk  
open  
none    
none  
Useless error message when loading an unknown package.
Installer ss3
    project: 'Nutcracker';
    addPackage: 'ConfigurationOfNutcracker';
    install.

results in "attempt to index non-existent element in an ordered collection".

Of course the script should say "addPackage: 'ConfigurationOfNutcracker-fbs.2.mcz'".

The error should at the least say "Unknown Monticello version 'ConfigurationOfNutcracker' from <url>"
There are no notes attached to this issue.




Viewing Issue Advanced Details
7745 [Squeak] Tools feature always 02-27-13 11:28 03-01-13 10:56
FrankShearar  
FrankShearar  
normal  
resolved  
fixed  
none    
none  
Allow patterns in #chooseFromClassOrTrait:from:
In a Browser, you can type the prefix of a class. It would be really useful if you could say "MC*Copy".
Notes
(0014325)
FrankShearar   
02-27-13 11:29   
Really, this means touching ListChooser >> #updateFilter and MenuMorph for Morphic, and PopupMenu for MVC.

(0014331)
FrankShearar   
03-01-13 10:56   
ToolBuilder-Morphic-fbs.88 in trunk




Viewing Issue Advanced Details
7744 [Squeak] Tools minor always 02-27-13 11:21 03-01-13 10:27
FrankShearar  
FrankShearar  
normal  
resolved trunk  
fixed  
none    
none  
Loading new classes causes Browser to lose your place
Open a Browser on some class, and then view a method.

Open up Monticello, and load something that adds a new class to your image.

Browser now only has the system category selected, and has unselected the class and method you were viewing.
Notes
(0014328)
FrankShearar   
03-01-13 10:27   
Tools-fbs.449 in trunk fixes this, by not doing anything when you select the system category you're already visiting.




Viewing Issue Advanced Details
7746 [Squeak] VM feature always 02-27-13 14:25 02-27-13 15:07
lewis  
lewis  
high  
assigned  
open  
none    
none  
Add primitives to support AndreasSystemProfiler.
The interpreter VM is missing the primitives required for support of AndreasSystemProfiler. The primitives are present in Cog and should be added to trunk.
Problem report:
http://jvuletich.org/pipermail/cuis_jvuletich.org/2013-February/000905.html [^]
http://lists.squeakfoundation.org/pipermail/vm-dev/2013-February/012220.html [^]
Notes
(0014327)
lewis   
02-27-13 15:07   
The four primitives to be added to trunk interpreter VM are:

  primitiveProfileStart
  primitiveProfileSemaphore
  primitiveProfileSample
  primitiveProfilePrimitive

Implementations are in the oscog VMMaker in class Interpreter




Viewing Issue Advanced Details
7726 [Squeak] Installer minor always 01-26-13 22:25 02-27-13 11:35
FrankShearar  
FrankShearar  
normal  
resolved trunk  
fixed  
none    
none  
Installer doesn't trim package names of whitespace
Installer squeakmap
  addPackage: 'OSProcess (4.4.11)';
  install

fails because 'OSProcess ' is not in the cached catalog.
Possibly it's sufficient to change the search condition in SMSqueakMap >> #packageWithName:ifAbsent: to strip whitespace?
Notes
(0014308)
FrankShearar   
01-28-13 19:27   
Installer-Core.fbs.361 and Tests-fbs.187 in trunk.
(0014326)
FrankShearar   
02-27-13 11:35   
Installer-Core-fbs.361 in Trunk looks like it did the job.




Viewing Issue Advanced Details
7743 [Squeak] Any tweak always 02-27-13 10:42 02-27-13 10:42
FrankShearar  
FrankShearar  
normal  
assigned trunk  
open  
none    
none  
String asPacked/fromPacked: is unused
MethodFinder is the only sender of these messages.

If nothing uses the protocol, it ought to be pulled out into a 45Deprecated package, and later removed.
There are no notes attached to this issue.




Viewing Issue Advanced Details
7742 [Squeak] Installer major always 02-26-13 09:08 02-26-13 09:16
FrankShearar  
FrankShearar  
normal  
assigned trunk  
open  
none    
none  
Installer matches package versions by prefix
Given a package-cache with files Collections-fbs.489.mcz, Collections-fbs.483.mcz and Collections-fbs.482.mcz, running

  Installer cache install: 'Collections-fbs.48'

will install Collections-fbs.489.mcz, the highest numbered package whose version name starts with 'Collections-fbs.48'.
Notes
(0014322)
FrankShearar   
02-26-13 09:16   
The root of the problem is InstallerMonticello >> #mcDetectFileBlock: which uses `pkg beginsWith:`.




Viewing Issue Advanced Details
6828 [Squeak] VM minor N/A 12-27-07 23:05 02-23-13 18:48
tim  
lewis  
normal  
assigned 3.9  
open  
none    
none  
make FileCopyPlugin work on 32/64 bit images and 32/64 bit unix VMs
From: lewis@mail.msen.com
November 18, 2007 4:18:45 PM PST (CA)
This is a set of support code patches that make FileCopyPlugin work on
32/64 bit images and 32/64 bit unix VMs, plus a unit test for verification.

FileCopyPluginTest-dtl.cs provides a unit test to verify operation of
the FileCopyPlugin. Interestingly, the FileCopyPlugin has never worked
correctly on Unix because it answered a primitiveFail after a successful
copy operation. That means that the primitive code was doing the copy,
and the fallback code would re-do it afterward.

The support code changes are in the following files:

- For all platforms (unix and Mac OS are impacted):
   platforms/Cross/plugins/FileCopyPlugin/FileCopyPlugin.h

- For Unix:
   platforms/unix/plugins/FileCopyPlugin/sqUnixFileCopyPlugin.c
   platforms/unix/vm/sqUnixCharConv.c
   platforms/unix/vm/sqPlatformSpecific.h

- Mac OS platform code will need an update also, but I did not try to do
 this (it should be simple, but I cannot test the result).

- Win32 and RiscOS do not appear to be impacted.

Dave

FileCopyPluginFixes.zip (5 KB) 12-27-07 23:05
Notes
(0011595)
tim   
12-27-07 23:49   
On 27-Dec-07, at 3:47 PM, tim Rowledge wrote:

Dave did the work to make the FileCopyPlugin work properly - and yes, I know it is vile, awful, tasteless and shouldn't exist, thank you, but until the file system is rewritten to a standard slightly better than that achievable by drunken macacque it is needed - and I don't know if the changes have been incorporated in the repository. Has anyone updated things?
(0011597)
johnmci   
12-28-07 00:31   
The unix file code just opens a new file, reads the old file, writes to the new file. This does not preserve file use attributes or create/mod dates, ACLs etc. Also for os-x HFS system you have HFS+ data, attributes, data/resource fork and a mess of other bits.

In os-x 10.4 there is a api now to copy file objects. I guess the question is now good do you want this to work? Note in Sophie we use FFI to copy files on the macintosh to preserve os-9 meta-data on media files so that quicktime will do the right thing.
(0011598)
tim   
12-28-07 01:17   
On any platform that has file ownership. permissions, creator types, metadata that affects what happens to the file, whatever, it should all be copied 'correctly' whatever that means.

The Squeak code to copy a file does none of that. On RISC OS for example that would mean the filetype going AWOL which then makes life annoying for anyone trying to read the file in a texteditor. On Macs the lack of file type metadata might mean the XCode app deciding it isn't really a C file. etc., etc.
(0014316)
tim   
02-23-13 06:38   
I would be *very* surprised if this were actually needed any more on *nix. It was only ever implemented as a quick hack to copy a file without losing the permissions & date that helped keep things straight for an early version of VMMaker. So far as I can see the unxi usage of VMMaker doesn't copy any files around and so it's hard to see it being worth keeping around.

For RISC OS it is essential for keeping the file meta-data correct - but then RISC OS does the proper sort of copy with a trivial system call, not the astonishing list of complicated flim-flammery unix seems to need. Similar reasons seem to exist on OS X.
(0014318)
lewis   
02-23-13 13:57   
The plugin is definitely not used on unix platforms, and should should be removed from the actual VM distributions for unix. Probably a good way to do that is just delete the platform support code for unix (platforms/unix/plugins/FileCopyPlugin) so that it does not get built, but leave the plugin in VMMaker itself.
(0014319)
tim   
02-23-13 18:48   
Yup. If Ian cares to pull the unix platform code for it, VMMaker will take care of the rest.
I wonder if the file system code will ever actually get improved enough to make it un-needed everywhere?




Viewing Issue Advanced Details
7739 [Spoon] block N/A 02-20-13 12:31 02-20-13 12:31
Saijanai  
 
normal  
new  
open  
none    
none  
want to be able to do things like GC timing tests
I'd like to be able to create and run benchmarks for the remote image.

Create new methods for existing classes.
Create new classes.
Create new instances of objects and run methods remotely.
Etc.
There are no notes attached to this issue.




Viewing Issue Advanced Details
7736 [Squeak] CI minor always 02-12-13 10:38 02-12-13 10:38
FrankShearar  
FrankShearar  
normal  
assigned trunk  
open  
none    
none  
The "no sources file" dialog breaks automation
If you try launch an image and the image can't find a sources file it pops up a modal dialog complaining about the missing file.

If you're running your image as a script, you don't see the dialog. You just see a hung process.
There are no notes attached to this issue.




Viewing Issue Advanced Details
7672 [Squeak] Browser minor always 09-09-11 21:04 02-12-13 09:42
FrankShearar  
FrankShearar  
normal  
assigned trunk  
open  
none    
none  
#selectedClassOrMetaClass can return nil, and its callers don't check for nils.
Using multiwindow browsers, open up a browser on a class Foo. Make a method, bar. Make a new window. Rename Foo. Go back to first window: MNU - nil doesn't understand #compiledMethodAt:ifAbsent: in #selectedMessage, because selectedClassOrMetaClass returns nil, because the formerly-selected class is no more.
Notes
(0014313)
FrankShearar   
02-12-13 09:42   
The Browser ought to catch the system notification of the class name change and update its state accordingly.




Viewing Issue Advanced Details
7722 [Squeak] Monticello minor always 01-21-13 21:26 02-12-13 09:39
FrankShearar  
FrankShearar  
normal  
resolved trunk  
fixed  
none    
none  
InstallerMonticello >> #project: should use FileDirectory slash
(mc respondsTo: #directory:) ifTrue: [ mc := mc copy directory: root ,'/', name ].

Not '/'. FileDirectory slash.
Notes
(0014312)
FrankShearar   
02-12-13 09:39   
Installer-Core-fbs.365 in Trunk




Viewing Issue Advanced Details
7725 [Squeak] Collections minor always 01-25-13 17:24 02-12-13 09:35
FrankShearar  
FrankShearar  
normal  
resolved trunk  
fixed  
none    
none  
String >> #asCamelCase needs tests
http://permalink.gmane.org/gmane.comp.lang.smalltalk.squeak.general/166142 [^]
Notes
(0014311)
FrankShearar   
02-12-13 09:35   
CollectionsTests-fbs.197 in Trunk




Viewing Issue Advanced Details
7735 [Squeak] Installer minor always 02-11-13 19:51 02-11-13 19:51
FrankShearar  
FrankShearar  
normal  
assigned trunk  
open  
none    
none  
Installer squeakmap ought to build SM cache if not already present
Otherwise, you need to perform a UI action before you can run any `Installer squeakmap` action.
There are no notes attached to this issue.




Viewing Issue Advanced Details
7728 [Squeak] Exceptions minor always 01-26-13 23:49 02-08-13 13:03
FrankShearar  
FrankShearar  
normal  
resolved trunk  
fixed  
none    
none  
Move FTPConnectionException to somewhere more appropriate
Exceptions-Kernel is not the right place.
Notes
(0014307)
FrankShearar   
01-26-13 23:50   
Maybe in System-Download? HTTPLoader (!) is the only thing that references it.
(0014310)
FrankShearar   
02-08-13 13:03   
Exceptions-fbs.44 and Network-fbs.139 in Trunk




Viewing Issue Advanced Details
7730 [Squeak] Tools minor always 01-29-13 10:36 02-08-13 13:00
FrankShearar  
FrankShearar  
normal  
resolved trunk  
fixed  
none    
none  
Browser's recently used class list shouldn't include currently viewed class
This is the RecentClasses list: when you build the menu, if the top entry is Foo and you're browsing Foo, just leave it off.
Notes
(0014309)
FrankShearar   
02-08-13 13:00   
Tools-fbs.446 in Trunk




Viewing Issue Advanced Details
7734 [Squeak] Tools minor always 02-06-13 11:09 02-06-13 11:09
FrankShearar  
 
normal  
new trunk  
open  
none    
none  
TimeProfileBrowser MNU on non-method lines
TimeProfileBrowser is a MessageSet that lists a bunch of messages for its performance data, as well as lines for the other output given by profiling: GC stats, marker lines like "** Leaves **" and so on.

Clicking these latter lines often raises an MNU because TimeProfileBrowser doesn't understand #shoutParserClass.
Presumably #selectedMessageName needs tweaking, because this method determines whether or not the contents pane is styled.
There are no notes attached to this issue.




Viewing Issue Advanced Details
7733 [Squeak] System major always 01-31-13 19:39 01-31-13 20:13
vaidasd  
 
normal  
new 4.4  
open  
none    
none  
If anti-virus is active, browsing Implementers is very slow.
If anti-virus is active, browsing Implementers is very slow.
Windows 7 64 bit, Cog Dec 12, 2012
bottleneck in method
CurrentReadOnlySourceFiles>>defaultAction
slow part is accessing changes file:
time to run: [SourceFiles second readOnlyCopy] is ~ 100 ms. Caching
is introduced here some time after 4.1. On XP 32 bit without antivirus
there is no issue.
http://lists.squeakfoundation.org/pipermail/squeak-dev/2013-January/168052.html [^]
There are no notes attached to this issue.




Viewing Issue Advanced Details
7731 [Squeak] Tools minor always 01-29-13 13:53 01-29-13 13:53
FrankShearar  
 
normal  
new trunk  
open  
none    
none  
Creating a class with an empty category
Object subclass: #NameOfSubclass1
    instanceVariableNames: ''
    classVariableNames: ''
    poolDictionaries: ''
    category: ''.

Creates an object in a category called ''. It should raise an error.

(Thanks to Sean P. DeNigris @ http://code.google.com/p/pharo/issues/detail?can=2&q=7354&colspec=ID%20Type%20Status%20Summary%20Milestone%20Difficulty&id=7354) [^]
There are no notes attached to this issue.




Viewing Issue Advanced Details
7729 [Squeak] Tools minor always 01-28-13 18:59 01-28-13 18:59
FrankShearar  
 
normal  
new trunk  
open  
none    
none  
SMLoaderPlus needs non-stretchy buttons
If you stretch one vertically, the buttons resize in an unsightly manner. See Browser's use of LayoutFrames to do it right.
There are no notes attached to this issue.




Viewing Issue Advanced Details
7709 [Squeak] System minor always 12-21-12 14:15 01-25-13 23:04
Lars  
FrankShearar  
normal  
resolved  
fixed  
none    
none  
Image Segments can't be written to file anymore
ImageSegment new
    copyFromRoots: (Array with: TestCase) sizeHint: 100;
    extract;
    writeToFile: 'TestCase';
    yourself
raises an error in writeToFile: aName because the standard nextPutAll: tactic has changed. The assumption is, that any file will be written with either aByteArray or some UTF8-String.

The forward solution of appending MultiByteFileStream>>nextPutAll: is attached.
MultiByteFileStream-nextPutAll.st (0 KB) 12-21-12 14:16
Notes
(0014272)
FrankShearar   
01-01-13 22:04   
In the Inbox as Multilingual-fbs.157 and Tests-fbs.177.
(0014297)
FrankShearar   
01-25-13 15:45   
In Trunk as Tests-fbs.186 and Multilingual-fbs.157.
(0014298)
Lars   
01-25-13 16:11   
Thanks for accepting the fix.
I'm not sure whether the testcase is ok. When stepping through the test case, it took a different path (maybe also different to the one it would take if not stepped through), and thus ended up never calling nextPutAll. I'd suggest creating a segment of another class, e.g. ScriptLoader, any class that is not referenced on the stack.
Best, Lars
(0014299)
FrankShearar   
01-25-13 16:14   
Hm, OK. I saw the test fail before applying the fix and pass afterwards.

Would you mind giving me a test that you think would be representative?
(0014300)
Lars   
01-25-13 16:18   
Just switch the exportet TestCase for ScriptLoader:

ImageSegment new
    copyFromRoots: (Array with: ScriptLoader) sizeHint: 100;
    extract;
    writeToFile: 'ScriptLoader';
    yourself

Oh, and while you're at it, you may want to delete the created file (ScriptLoader.seg) after success.
(0014301)
Lars   
01-25-13 16:19   
but only after access ScriptLoader ...
(0014302)
FrankShearar   
01-25-13 17:41   
I must be missing something. Both seem to trigger the bug in the same way, in that some bit somewhere doesn't understand #asUnicode. I can see in both cases that MultiByteFileStream >> #nextPutAll: on the call stack.

"but only after access ScriptLoader ..." <-- I also don't understand this.
(0014303)
Lars   
01-25-13 22:13   
Sorry for answering so late, but I got interrupted and had work ...

When I stepped through the test case, while exporting TestCase, the instance variable status was set to #inactive. Because of that, exporting always aborted early. I assumed, the status #inactive as opposed to the expected #active was due to my stepping through a subclass of TestCase.

If you saw it call nextPutAll, everything is fine. My bad, sorry.

The last comment, was because ImageSegments is meant to export classes into files, removing them from the Image. If you delete the file before reloading the class, the image might break, shouldn't it?
(0014304)
FrankShearar   
01-25-13 23:04   
Certainly if you delete them injudiciously you can get into a very nasty state, as I discovered!

OK, so I think we just leave the issue as is, unless you can think of anything else we might need?




Viewing Issue Advanced Details
7724 [Squeak] Environments minor always 01-25-13 17:10 01-25-13 18:45
FrankShearar  
FrankShearar  
normal  
assigned trunk  
open  
none    
none  
Environment>>bindingOf: needs Undeclared tests
Tests for:

"Environment>>bindingOf: must not answer undeclared bindings. E.g., in my case a binding in undeclared shadowed a perfectly fine class variable higher up in the class hierarchy."

http://lists.squeakfoundation.org/pipermail/squeak-dev/2013-January/167794.html [^]
There are no notes attached to this issue.




Viewing Issue Advanced Details
7720 [Squeak] VM minor always 01-19-13 01:37 01-23-13 09:07
nicolas cellier  
lewis  
normal  
assigned trunk  
open  
none    
none  
FFI silently accept a 64bits argument > LLONG_MAX instead of failing
1. Create a FFI call to a function taking a signed long long (64 bits) integer
2. Call the function with (1<<63)

A well behaved FFIPlugin should fail, because 1<<63 is greater than maximal representable signed long long (presumably 1<<63-1 in two complement).

But instead of failing, FFI interpret 1<<63 as a negative int, which is a bad feature.
This is caused by FFIPlugin>>#ffiPushSignedLongLongOop: which omit to test this case of LLONG_MAX overflow...

Note that COG version (ThreadedFFIPlugin>>#ffiPushSignedLongLongOop:in:) is correct because it uses #signed64BitValueOf:
Notes
(0014296)
nicolas cellier   
01-23-13 09:07   
Note that http://smalltalkhub.com/mc/nice/NiceVMExperiments/main/VMMaker.oscog-nice.275.mcz [^] contains an idea of correction for FFIPlugin>>ffiPushSignedLongLongOop:

signed/unsigned word agnostic could be:

((highWord bitAnd: 16r80000000) = 0 or: [negative and: [lowWord = 0 and: [(highWord
bitXor: 16r80000000) = 0]) ifFalse: [ ffi coercion failed ]




Viewing Issue Advanced Details
7723 [Squeak] Monticello minor always 01-21-13 22:39 01-21-13 22:39
FrankShearar  
FrankShearar  
normal  
assigned trunk  
open  
none    
none  
MCFileBasedRepository doesn't handle the case of a missing file
#versionReaderForFileNamed:do: just lets deeper layers throw a FileNotFoundException.

To provide a uniform error handling API, it should catch this and throw an MCError (see recent Inbox submission for this class definition).
versionReaderForFileNamed: aString do: aBlock
    ^ [self
        readStreamForFileNamed: aString
        do: [:s |
            (MCVersionReader readerClassForFileNamed: aString) ifNotNil:
                [:class | aBlock value: (class on: s fileName: aString)]]] on: FileDoesNotExistException do: [self error: 'File ', aString, ' does not exist'].
There are no notes attached to this issue.




Viewing Issue Advanced Details
7719 [Squeak] Tools minor always 01-17-13 14:11 01-21-13 10:37
Bob Arning  
lewis  
normal  
resolved 4.4  
fixed  
none    
none  
FileContentsBrowser erroneously adds to current change set
I'm not sure how many folks still use FileContentsBrowser, but there is a small issue:

browseStream: aStream named: aString

    | browser |
    Cursor wait showWhile: [ | package packageDict organizer |
        packageDict := Dictionary new.
        browser := self new.
        organizer := SystemOrganizer defaultList: Array new.
        package := (FilePackage new fullName: aString; fileInFrom: aStream).
        packageDict
            at: package packageName
            put: package.
        organizer
            classifyAll: package classes keys
            under: package packageName.
        (browser := self systemOrganizer: organizer)
            packages: packageDict].
    self
        openBrowserView: browser createViews
        label: 'File Contents Browser'.

which soon leads to SystemOrganizer

classify: element under: newCategory
    | oldCategory class |
    oldCategory := self categoryOfElement: element.
    super classify: element under: newCategory.
    class := Smalltalk at: element ifAbsent: [^ self].
    SystemChangeNotifier uniqueInstance
        class: class
        recategorizedFrom: oldCategory
        to: newCategory

which causes all known classes in the file being browsed to be added to the current change set as having a class definition change. Perhaps it makes sense to do the notification only if this SystemOrganizer is actually SystemOrganization.
Notes
(0014292)
FrankShearar   
01-20-13 15:15   
http://source.squeak.org/inbox/System-dtl.512.mcz [^] is a proposed fix.
(0014295)
FrankShearar   
01-21-13 10:37   
Fix moved to trunk.




Viewing Issue Advanced Details
7721 [Squeak] System minor always 01-20-13 15:12 01-20-13 16:50
FrankShearar  
 
normal  
new  
open  
none    
none  
An image whose changes file has been deleted cannot quit
Open some image. Delete its changes file. Try quit. Whether you choose "yes" or "no" to "Save changes before quitting?" you get a prim failure as the image tries to save its changes to a file that's not there anymore.

Correct behaviour: Try write the file, but if that fails, just quit.
Notes
(0014293)
KenCausey   
01-20-13 15:57   
I would think if you chose 'yes' to the question just quitting is perhaps not the best action. Minimally I think there needs to be a warning that it was not possible to save the changes and why. Even better would be an opportunity to file out the changes as a .cs or something like that.
(0014294)
FrankShearar   
01-20-13 16:50   
Agreed, in the "yes" case, but definitely not in the "no" case.




Viewing Issue Advanced Details
7718 [Squeak] Network tweak N/A 01-16-13 15:07 01-16-13 15:07
FrankShearar  
FrankShearar  
normal  
assigned trunk  
open  
none    
none  
HTTPSocket class >> #httpRequest:url:headers:content:response: should not parse URLs
We have a perfectly good URL parser in the URL class. We should use it.
There are no notes attached to this issue.




Viewing Issue Advanced Details
7717 [Squeak] Release Packaging minor always 01-15-13 13:25 01-15-13 13:25
FrankShearar  
FrankShearar  
normal  
assigned  
open  
none    
none  
ReleaseBuilder class >> #transferCurrentPackagesAsUser:password: must create an update map
An update stream needs an initial MCM explaining what packages are in the stream. This method's the obvious place to generate the configuration map.
There are no notes attached to this issue.




Viewing Issue Advanced Details
3493 [Squeak] Kernel minor always 04-21-06 22:48 01-08-13 21:44
nicolas cellier  
 
normal  
new 3.9  
open  
none    
none  
printing a float in base 16 is broken sometimes
See this example:

    "this should be the maximum floating point value in IEEE 754 double precision"
    (Number readFrom: ((String new: 100) writeStream
        nextPutAll: '2r1.';
        next: 52 put: $1;
        nextPutAll: 'e1023';
        contents)) printStringBase: 16.

"will print as 16r1.0e255"

    (Number readFrom: ((String new: 100) writeStream
        nextPutAll: '2r1.';
        next: 52 put: $1;
        nextPutAll: 'e1020';
        contents)) printStringBase: 16.

"will print as 16r2.0e255, twice the first number when it should be 1/8..."

Well, in base (2 raisedTo: Integer anyPositive), printString should be exact...
First number is exactly
    16rF.FFFFFFFFFFFF8e255
and last is exactly
    16r1.FFFFFFFFFFFFFe255
if exponent is written in base 10,
or same mantissa with exponent eFF in base 16...
Note that absPrintExactlyOn:base: will give correct answer.

Rounding should better not be used, because printed number would answer Infinity when read back... But if it where used correctly, then the answers would be:
    16r1.0e256
and
    16r2.0e255

Kernel-Numbers-PrintFloatBase16Patch.1.cs (3 KB) 04-22-06 00:07
FloatPrintBase16-M3493-Test.1.cs (2 KB) 09-24-07 23:04
FloatPrintStringBase2-M3493-Test.1.cs (1 KB) 09-25-07 01:04
FloatPrintStringBase2-M3493-Test.2.cs (1 KB) 08-31-08 00:07
Notes
(0004768)
nicolas cellier   
04-22-06 00:05   
I debugIt, and it is in Float>>absPrintOn:base:

Of course it is Infinity that is striking silently...
As usual, I would prefer an exception and a debugger opened to a silent bug...
Well, there is a protection exp=1023 ifTrue: [...], but 1 line too late...

So i propose a patch, hoping it does not break anything else...
But unfortunately it does not deal with this second bug (not mine):

    (Number readFrom: ((String new: 100) writeStream
        nextPutAll: '2r1.';
        next: 52 put: $1;
        nextPutAll: 'e1023';
        contents)) printStringBase: 2.

    "will answer 2r2.0e1024"

Ouch! tricky tc1 and tc2 logical conditions...
Correct answer would be 2r1.0e1024 if rounding is allowed (but then result cannot be read back, it would overflow and answer Infinity).
(0004772)
ducasse   
04-22-06 13:38   
Could we have some tests :)
(0012553)
nicolas cellier   
08-31-08 00:07   
FloatPrintStringBase2-M3493-Test.1.cs is incorrect.
use FloatPrintStringBase2-M3493-Test.2.cs instead.
(0014290)
nicolas cellier   
01-08-13 21:44   
In squeak 4.4, printStringBase: is correct, but the bad behaviour can still be triggered with these snippets:
 
String streamContents: [:str | (Number readFrom: ((String new: 100) writeStream
        nextPutAll: '2r1.';
        next: 52 put: $1;
        nextPutAll: 'e1023';
        contents)) absPrintOn: str base: 16].

String streamContents: [:str | (Number readFrom: ((String new: 100) writeStream
        nextPutAll: '2r1.';
        next: 52 put: $1;
        nextPutAll: 'e1023';
        contents)) absPrintOn: str base: 16].

String streamContents: [:str | (Number readFrom: ((String new: 100) writeStream
        nextPutAll: '2r1.';
        next: 52 put: $1;
        nextPutAll: 'e1023';
        contents)) absPrintOn: str base: 2].




Viewing Issue Advanced Details
7694 [Squeak] Graphics major always 07-12-12 11:48 01-05-13 22:00
caw  
andreas  
normal  
assigned  
open  
none    
none  
Buggy drawing of text by Pen class under OSX
OSX 10.7.4
Squeak 3.4 update #11860

Display restoreAfter:
[Pen new squareNib: 2; color: Color red; turn: 45;
        print: 'The owl and the pussycat went to sea in a beautiful pea green boat.' withFont: TextStyle defaultFont]

draws text at the correct angle, but the text is patterned
same for defaultNib:1

screen dump uploaded

any help appreciated!

thanks

Chris
squeak_pen.png (634 KB) 07-12-12 11:48
Notes
(0014228)
caw   
07-12-12 11:50   
deep apologies if this is not "major" - it's very major for me, as it screws up the onscreen display of text !

seriously - sorry if it's been assigned to far to high a level !! (Andreas Raab ? !)
(0014229)
KenCausey   
07-12-12 13:18   
No worries. We don't assign all that much value to the severity field and it is easily changed if it mattered. 'andreas' is indeed Andreas Raab but I suspect he is a little too busy to monitor the issues here right now. Sadly I have to admit this mantis is not very well monitored at all, the community has just never developed the consistent habit of using it.

If you have not already I highly recommend that you email the squeak-dev mailing list with this report and put the image up on imgur.com or some other image posting site so it is easily viewable. Also include a link to this issue and actually I guess they could look at the image here. But I think you might find more people actually looking at the image and becoming intrigued enough to look into it if is linked to directly in your email.

Thanks
(0014230)
lewis   
07-13-12 00:44   
I tried this on Linux and get the same results, so it is not platform dependent. I also tried on an old Squeak 3.6 image (also on Linux), and got similar results except that the default font is different, with Squeak 3.6 using a StrikeFont(NewYork10 12) and Squeak trunk using a StrikeFont(Bitmap DejaVu Sans 9 14). So I suspect that this is not so much a bug as an existing limitation of the Pen class when drawing these fonts.
(0014287)
nicolas cellier   
01-05-13 22:00   
See also the squeak-dev discussion which explains that the algorithm is just too much naive to work...
It did never work, and is even worse now with font anti-aliasing.
http://permalink.gmane.org/gmane.comp.lang.smalltalk.squeak.general/162853 [^]




Viewing Issue Advanced Details
7714 [Squeak] System minor always 01-02-13 22:54 01-03-13 17:20
FrankShearar  
 
normal  
new trunk  
open  
none    
none  
DataStream class >> #initialize references Smalltalk
This should use the/an environment.
Notes
(0014283)
FrankShearar   
01-03-13 17:20   
Proposed fix in System-fbs.510: "self environment allClassesDo:" instead of "Smalltalk do".




Viewing Issue Advanced Details
7703 [Squeak] Compiler minor always 08-21-12 06:59 01-03-13 09:51
kwl  
 
normal  
resolved 4.3  
fixed  
none    
none  
During fileIn, Parser>>notify:at: has Error: subscript is out of bounds: 73
Filing in, from source code which has typo in the last position (inadvertedly typed a > behind last valid expression).

When Parser wants to report, it has a problem with arguments for Text>>copyReplaceFrom:to:with:.
The typo can be seen in the first ByteString in the attached SqueakDebug.log.

.image: Squeak4.3.image latest update: #11860
VM: Squeak3.10.2 of 11 February 2010 [latest update: #9314] Win32 built on Jul 27 2010 20:35:19 Compiler: 2.95.2 19991024 (release)
SqueakDebug.log (16 KB) 08-21-12 06:59
Notes
(0014263)
FrankShearar   
12-18-12 12:23   
Is it possible for you to show the offending piece of code? Can you produce a minimal case that reproduces the issue?
(0014264)
kwl   
12-18-12 15:53   
FrankShearar asked: Is it possible for you to show the offending piece of code?

Sure, here comes the original (offending) source coded from the (attached) log file, it is decorated here for use by file-in with alt-G (in e.g. the File List tool):

!UndefinedObject methodsFor: 'FrankShearar'!
return: argv adaptToFloat: rcvr
 ^argv adaptToFloat: rcvr andSend: self>! !

FrankShearar asked: Can you produce a minimal case that reproduces the issue?

Sure, in the previous I just copied&pasted from the log file (the one attached to the original report), and then alt-G produced the same "Error: subscript is out of bounds: 73".
(0014265)
FrankShearar   
12-18-12 17:11   
I put the chunk in file (foo.st). In a Squeak 4.4 trunk image I filed in foo.st. I got a SyntaxError correctly highlighting the error.
(0014277)
nicolas cellier   
01-02-13 21:14   
fixed in 4.4 (various changes from Compiler-nice.222 to Compiler-nice.225)
(0014282)
kwl   
01-03-13 09:51   
Thanks for the good teamwork!




Viewing Issue Advanced Details
7605 [Squeak] VM crash always 02-03-11 18:21 01-02-13 21:29
leves  
lewis  
normal  
resolved trunk  
fixed  
none    
none  
VMs assume that Float have two slots and don't check it which may lead to problems
Currently Floats are variableWordSubclasses usually with two slots. But users can create them with any size. A possible typo is to use Float new instead of Float new: 2. If the VM assumes that the size of these objects is 2 without checking it, it leads to various issues. The following code crashes CogVM (r2349) immediately:

f := Float new.
Array new.
f at: 1 put: 0.

Cog overwrites the header of the Array created after the Float, then realizes the problem (last object overwritten) and crashes. SqueakVM is safe for this example, but some primitives are not. The following returns a random number (based on the contents of the memory) using SqueakVM:

Float new ln

It may also crash the VM, though the chance is small.
I'm pretty sure that performance is the reason to assume that Float's have two slots. To avoid sacrificing it, the best may be to update the image side code to always create Floats with two slots.
Notes
(0014045)
lewis   
02-04-11 00:53   
Agreed, better to handle in the image. Instances of Float are not normally created with #new or #new: so adding checks for this would make sense. Adding checks in #primitiveNew and #primitiveNewWithArg for the special case of class Float sounds not so good. Note a Float has two slots for both 32-bit and 64-bit image, so the check would be simple.
(0014046)
leves   
02-04-11 01:06   
Another option is overriding #basicNew and #basicNew:. Both of them could be implemented as ^super basicNew: 2. This way Float new wouldn't raise an error, but would return a valid Float object.
(0014278)
nicolas cellier   
01-02-13 21:29   
OK, I fixed it at image side in trunk 4.5 Kernel-nice.728 according to leves suggestion




Viewing Issue Advanced Details
7711 [Squeak] SqueakMap major always 12-27-12 13:34 01-01-13 21:31
FrankShearar  
gokr  
normal  
assigned  
open  
none    
none  
Cannot update install scripts
I made a mistake in the install script when releasing the Zippers package [1]. I tried to upload a new, corrected, version of the script [2]. Things look OK, in that I can see the file being uploaded. However, downloading the "new" version shows that SqueakMap has not overwritten the file.




[1] http://map.squeak.org/account/package/94f09ced-8eee-4c60-b894-64c07c44c5c5/editreleases [^]
[2] http://map.squeak.org/accountbyid/7d14beff-c6b5-40fe-b47b-625d54519641/files/install-Zippers-1.0.st [^]
The file SHOULD say

Installer ss3 install: 'ConfigurationOfZippers'.
(Smalltalk at: #ConfigurationOfZippers) load.

but says this:

Installer cache install: 'ConfigurationOfZippers'.
(Smalltalk at: #ConfigurationOfZippers) load.
Notes
(0014270)
FrankShearar   
12-27-12 20:34   
A workaround is to simply use the in-image Release Editor (right click a package in the SqueakMap Catalog).
(0014271)
FrankShearar   
01-01-13 21:31   
This bug report should now represent the fact that the _web_ part of SM doesn't update things correctly. Using the in-image editor works.




Viewing Issue Advanced Details
7713 [Squeak] Release Packaging minor always 01-01-13 21:25 01-01-13 21:25
FrankShearar  
FrankShearar  
normal  
assigned trunk  
open  
none    
none  
Updating from an update stream that has no mcms fails
MCMcmUpdater class >> #updateListFor: examines an update stream for updates (files of the form update-initials.NNNN.mcm). If it finds none, it returns an empty collection. That's fine. However, MCMcmUpdater class >> #updateFromRepositories: then returns nil.

Utilities class >> #updateFromServer reports this nil as (as far as the user can tell) an error, saying "Unable to retrieve updates from remote repository."

Technically true - there ARE no updates - but rather misleading.
There are no notes attached to this issue.




Viewing Issue Advanced Details
7712 [Squeak] Morphic minor always 12-28-12 18:53 12-28-12 19:28
garydunnhi  
 
normal  
new 4.4  
open  
none    
none  
Proposed change in setting text attributes
Yellow-click on selected text pops up a menu that includes

set font ... (k)
set style ... (K)
set alignment ... (u)

The first two options lead to different ways to set the font, but not to set what I consider style, that being attributes like bold and italic. Recommend that "set style" bring up the same menu as Brown FF on the halo. Even better, a modified version of the Brown FF menu that excludes alignment choices.
There are no notes attached to this issue.




Viewing Issue Advanced Details
7708 [Squeak] SqueakMap minor always 12-21-12 10:55 12-27-12 13:31
hirzel  
FrankShearar  
normal  
resolved 4.4  
fixed  
none    
none  
Zippers package is shown in SqueakMap for 4.4. but does not load
Frank Shearar's 'Zippers' package
http://ss3.gemstone.com/ss/Zippers.html [^]
is shown as a loadable SqueakMap entry for 4.4

However if I press 'Install' two dialog boxes
'The package has no published release for your Squeak version, try
releases for any Squeak version' appear.

After confirming to times with 'Yes' (= I still want to load it)

nothing seems to happen....
Notes
(0014269)
lewis   
12-21-12 14:04   
SqueakMap does not consider 'Squeak 4.4' and 'Squeak4.4' to be the same version, but it probably should do so. Remove spaces from the version string compare. Fixed in trunk with SMBase-dtl.131.

Note that in general it is best if the SqueakMap version names match the actuals, but allowing spaces seems harmless so this patch resolves the immediate problem.




Viewing Issue Advanced Details
7710 [Squeak] CI minor always 12-21-12 14:43 12-21-12 14:43
FrankShearar  
FrankShearar  
normal  
assigned  
open  
none    
none  
Builds do not record changes since the last build
Because we track the git repo of the scripts, we just see something like

    No changes

    Revision: 239bb0d6733d473b9fc39d99b33ce5dc1f7884dc
    origin/master

Which is utterly useless. Really what we want to see is the list of MC versions added since we last ran a build.
There are no notes attached to this issue.




Viewing Issue Advanced Details
4818 [Squeak] Kernel minor always 09-09-06 16:45 11-29-12 13:19
Krivanek  
 
normal  
feedback 3.10  
open  
none    
none  
[KernelImageOverride] InputSensor userInterruptWatcher
InputSensor >> userInterruptWatcher

original:

userInterruptWatcher
    "Wait for user interrupts and open a notifier on the active process when one occurs."

    [true] whileTrue: [
        InterruptSemaphore wait.
        Display deferUpdates: false.
        SoundService default shutDown.
        Smalltalk handleUserInterrupt]

override:

userInterruptWatcher
    "Wait for user interrupts and open a notifier on the active process when one occurs."

    [true] whileTrue: [
        InterruptSemaphore wait.
        Display deferUpdates: false.
        Smalltalk handleUserInterrupt]

Sound dependent code removed
Notes
(0014258)
lewis   
11-29-12 13:19   
The intent of this proposed change is not clear to me, but removing the SoundService shutdown would be a bad thing in general. If this is a package dependency issue, then something like "Smalltalk at: #SoundService ifPresent: ... " might be a better approach. This should be discussed on squeak-dev if this issue is worth pursuing.




Viewing Issue Advanced Details
7706 [Squeak] Tools minor always 08-30-12 20:36 08-30-12 20:36
FrankShearar  
 
normal  
new trunk  
open  
none    
none  
TestRunner doesn't remove from its test list TestCases that are deleted
Given a FooTest TestCase visible in a TestRunner. Remove FooTest from the system. See it visible (but unselected) in the list of tests. If you select it, TestRunner will fail everything with obsoleted TestCases.
There are no notes attached to this issue.




Viewing Issue Advanced Details
7704 [Squeak] Tools minor always 08-29-12 21:04 08-29-12 21:04
FrankShearar  
 
normal  
new trunk  
open  
none    
none  
MCSnapshotbrowser: cannot resize panes
Unlike a Browser, you can't make the lower CodeHolder's morph larger by shrinking the upper section of the UI.
There are no notes attached to this issue.




Viewing Issue Advanced Details
7702 [Squeak] Files minor always 08-16-12 19:48 08-16-12 19:48
FrankShearar  
 
normal  
new trunk  
open  
none    
none  
FileList2 doesn't refresh directory listings
If you're in a directory, "add new directory". You won't actually see the directory until you close that node in the tree list and reopen it.
There are no notes attached to this issue.




Viewing Issue Advanced Details
7681 [Squeak] Release Packaging minor always 11-21-11 01:54 08-16-12 14:57
mikevdg  
FrankShearar  
normal  
assigned 4.2  
open  
none    
none  
squeak.sh does not require bash.


In squeak.sh in the Squeak 4.2 all-in-one package, the hash-bang should use /bin/sh rather than /bin/bash. I don't actually have bash installed by default on the awesome Linux distro I use (Slitaz Linux).

Change:
#!/bin/bash
to:
#!/bin/sh
Notes
(0014251)
FrankShearar   
08-16-12 14:57   
The ticket refers to 4.2. I'll make sure that the desired change makes it into the 4.4 release.




Viewing Issue Advanced Details
7700 [Squeak] Tools minor always 07-26-12 09:36 08-16-12 14:54
FrankShearar  
FrankShearar  
normal  
assigned trunk  
open  
none    
none  
Some tests require user input
Some tests require author initials set, which is... not good from an automation perspective.

Perhaps TestRunner should, as part of its "run tests" setup, set the initials if not already set.
Notes
(0014250)
FrankShearar   
08-16-12 14:54   
... and if TestRunner does have to set the initials, it must _unset_ them afterwards.




Viewing Issue Advanced Details
7698 [Squeak] Tools minor always 07-18-12 21:35 08-16-12 14:54
FrankShearar  
FrankShearar  
normal  
assigned trunk  
open  
none    
none  
Debugger, hit "debug" and window resizes
Something goes wrong. Pink debugger pops up. I resize the window. I select an interesting looking part of the stack. The window reverts to its original size.

It shouldn't: even if it's a whole new SystemWindow, it's apparently/ostensibly the same window, and should keep its new size.
Notes
(0014248)
leves   
08-14-12 00:34   
The first one is likely to be the PreDebugWindow, while the second one is the real debugger. They look similar, but are not the same.
(0014249)
FrankShearar   
08-14-12 09:54   
You're right. It's still confusing, so still needs fixing :)




Viewing Issue Advanced Details
6830 [Squeak] Kernel major always 12-28-07 21:38 08-14-12 00:30
orgsow  
leves  
normal  
feedback 3.10  
reopened  
none    
none  
A mutex can wind up with a semaphore with more than 1 excessSignal
I am new to smalltalk and was playing around with processes to see how they work and I've encountered something that should never happen.

It may be related to this bug: http://bugs.squeak.org/view.php?id=6576 [^] since I am using Delay.

The semaphore in a mutex should never go above 1 excess signal.

This script here will cause that to happen if you put it into a Transcript window and "do it":

START

|p keepGoing i t resume suspend stop semcounts m |
m := Mutex new. p := Processor activeProcess.keepGoing := true.i := 0.t := Transcript.m critical: [t cr;cr;cr;cr;cr.].
m critical: [ t cr; show: 'init: ', Processor activeProcess oopString; cr].
semcounts := ''.
semcounts := 'init:', m excessSignals asString, ' ', semcounts.

resume := [
    m critical: [ t cr; show: 'resume: ', Processor activeProcess oopString; cr].
    semcounts := 'resume1:', m excessSignals asString, ' ', semcounts.
    (Delay forSeconds: 20) wait.
    m critical: [ t cr; show: 'resuming'; cr.
        p resume].
    semcounts := 'resume2:', m excessSignals asString, ' ', semcounts.
].
suspend := [
    m critical: [ t cr; show: 'pause: ', Processor activeProcess oopString; cr].
    (Delay forSeconds: 10) wait.
    m critical: [ t cr; show: 'pausing'; cr.
        p suspend].
    semcounts := 'suspend:', m excessSignals asString, ' ', semcounts.
].
stop := [
    m critical: [ t cr; show: 'stop: ', Processor activeProcess oopString; cr].
    (Delay forSeconds: 30) wait.
    m critical: [ t cr; show: 'stopping'; cr.
        keepGoing := false].
    semcounts := 'stop:', m excessSignals asString, ' ', semcounts.
].

resume fork.
suspend fork.
stop fork.

m critical: [ t cr; show: 'end: ', Processor activeProcess oopString; cr].
semcounts := 'end:', m excessSignals asString, ' ', semcounts.

[keepGoing] whileTrue: [ m critical: [t show: i; space].
     "Processor yield."
     i := i + 1].
semcounts := 'beforedone:', m excessSignals asString, ' ', semcounts.

(Delay forSeconds: 10) wait.

m critical: [ t cr; show: 'done.';cr.].
semcounts := 'done:', m excessSignals asString, ' ', semcounts.

Transcript show: semcounts asString.


END

The output of the last line is: done:2 beforedone:2 stop:1 resume2:1 suspend:1 resume1:0 end:1 init:1

I have ran a version of this that stores the mutex in the Smalltalk dictionary for reuse and if it's reused it hangs the system. Infact, that's why I originally started trying to figure out what was going on because it was hanging on the second run every time.

Also, notice the commented out "Processor yield." If you uncomment that then the program will function as expected (ie, excessSignals will not go over 1.) That may help diagnose the problem.

This happens in 3.9 and 3.10
I added 2 methods to the system to expose excessSignals. You need to fileIn the attatched change set to get them, or you can add them manually from here:


!Mutex methodsFor: '*miles-debug' stamp: 'mbg 12/28/2007 13:19'!
excessSignals
    ^semaphore excessSignals.! !


!Semaphore methodsFor: '*miles-debug' stamp: 'mbg 12/28/2007 13:19'!
excessSignals
    ^excessSignals.! !
miles-debug.1.cs (1 KB) 12-28-07 21:38
mutex_bug.st (2 KB) 12-28-07 21:42
Notes
(0014215)
andreas   
02-06-12 10:35   
Just stumbled over this. The example is a bit obscure but the problem is an old one, namely that suspend and resume of processes waiting on semaphores doesn't work properly. To wit:

| sema process |
sema := Semaphore new.
process := [sema critical:[]] fork.
(Delay forSeconds: 1) wait.
process suspend.
process resume.

When the process is suspended, it is taken off the semaphore's list, but when it is resumed it's not put back onto it (which would be very difficult to do) but the code in Semaphore critical will signal the semaphore regardless.

Basically, external process manipulation is always tricky and should be done with great care, or better, left only for the debugger.

(0014234)
laza   
07-14-12 11:12   
Basically I read this as "not fixable"
(0014247)
leves   
08-14-12 00:30   
I have an idea how to fix it, I wrote a mail about it once, but can't find it now. The idea is to add another variable to Process in order to hold a reference to the Semaphore it was waiting for while it's suspended. When the process is resumed, the process can #wait again for the same Semaphore. I started hacking the VM and got a partially working solution (the suspend/resume mechanism is quite spread out across many methods), but the code is probably gone due to a hard disk failure. It might still be available in the backups, but I don't have access to them right now.




Viewing Issue Advanced Details
7701 [Squeak] VM crash always 08-03-12 00:07 08-08-12 11:59
lewis  
lewis  
normal  
resolved  
fixed  
none    
none  
Pulse audio Scratch plugin causes seg fault on 64bit Ubuntu installation
Date: Thu, 2 Aug 2012 17:36:42 -0400
From: Amos Blanton <amos@scratch.mit.edu>
To: Squeak Virtual Machine Development Discussion <vm-dev@lists.squeakfoundation.org>
Subject: [Vm-dev] Pulse audio Scratch plugin causes seg fault on 64bit Ubuntu installation

To reproduce:

1. Execute Scratch using current VM and pulse plugin (on Ubuntu 12.04, 64
bit system):
Executing: /usr/lib/squeak/4.4.7-2357/squeakvm -encoding UTF-8
-vm-display-x11 -xshm -plugins
/usr/lib/scratch/plugins/:/usr/lib/squeak/4.4.7-2357/ -vm-sound-pulse
/usr/share/scratch/Scratch.image
(There is no pulse plugin in /usr/lib/scratch/plugins in my installation
package, so it must be using the one in /usr/lib/squeak/4.4.7-2357)

2. Click "Sounds" tab, click play icon next to meow. That results in:

Segmentation fault

10273532 [] in SoundPlayer class>playLoop
10262332 Semaphore>critical:
10262240 SoundPlayer class>playLoop
10273228 [] in SoundPlayer class>startPlayerProcessBufferSize:rate:stereo:
10273320 [] in BlockContext>newProcess
Aborted (core dumped)

Note that the same package on 32 bit systems does not produce the error
(playback and recording both work).

The issue is also described here:
https://bugs.launchpad.net/ubuntu/+source/squeak-vm/+bug/1009080 [^]

If someone can take a look and patch this, we'd very much appreciate it!
This is the last major (known) issue we've got with Scratch running on
Ubuntu.

-Amos
sqUnixSoundPulseAudio.c (32 KB) 08-03-12 11:55
audioIO_t-alignment.txt (1 KB) 08-03-12 11:56
platforms-unix-sound-pulse-sqUnixSoundPulse.c.tar (40 KB) 08-08-12 00:34
Notes
(0014239)
dmoc   
08-03-12 12:03   
I created the PA plugin but I'm not set-up for 64-bit and never done any 64-bit porting. That said, I've looked at the audioIO_t struct and factored in 64-bit type alignments (AFAIK). You can see the calc's in the attached audioIO_t-alignment.txt (paste into a spreadsheet if difficult to read). Based on this a dummy INT has been added to force the uint32 "rate" of pa_sample_spec to be also 8-byte aligned. I'd be grateful if someone geared up for 64-bit compiling would give it a go.

(0014240)
lewis   
08-07-12 01:24   
I am having trouble reproducing the crash because I cannot figure out how to get pulse audio activated on my SuSE Linux box and the Scratch kitty does "meow" just fine on my 64-bit VM. But I did load enough of Gnome to be able to build vm-sound-pulse in 64-bit mode. I get the following compiler warnings both with and without the alignment patch, so I expect there are some type declaration issues.

Scanning dependencies of target vm-sound-pulse
[100%] Building C object vm-sound-pulse/CMakeFiles/vm-sound-pulse.dir/home/lewis/squeak/Squeak3.10-dev/platforms/unix/vm-sound-pulse/sqUnixSoundPulseAudio.c.o
/home/lewis/squeak/Squeak3.10-dev/platforms/unix/vm-sound-pulse/sqUnixSoundPulseAudio.c: In function ‘sound_PlaySamplesFromAtLength’:
/home/lewis/squeak/Squeak3.10-dev/platforms/unix/vm-sound-pulse/sqUnixSoundPulseAudio.c:842:42: warning: cast to pointer from integer of different size
/home/lewis/squeak/Squeak3.10-dev/platforms/unix/vm-sound-pulse/sqUnixSoundPulseAudio.c: In function ‘sound_RecordSamplesIntoAtLength’:
/home/lewis/squeak/Squeak3.10-dev/platforms/unix/vm-sound-pulse/sqUnixSoundPulseAudio.c:1034:34: warning: cast to pointer from integer of different size
/home/lewis/squeak/Squeak3.10-dev/platforms/unix/vm-sound-pulse/sqUnixSoundPulseAudio.c: At top level:
/home/lewis/squeak/Squeak3.10-dev/platforms/unix/vm-sound-pulse/sqUnixSoundPulseAudio.c:1116:1: warning: initialization from incompatible pointer type
/home/lewis/squeak/Squeak3.10-dev/platforms/unix/vm-sound-pulse/sqUnixSoundPulseAudio.c:1116:1: warning: initialization from incompatible pointer type
/home/lewis/squeak/Squeak3.10-dev/platforms/unix/vm-sound-pulse/sqUnixSoundPulseAudio.c:1116:1: warning: initialization from incompatible pointer type
/home/lewis/squeak/Squeak3.10-dev/platforms/unix/vm-sound-pulse/sqUnixSoundPulseAudio.c:1116:1: warning: initialization from incompatible pointer type
Linking C shared module so.vm-sound-pulse
[100%] Built target vm-sound-pulse
(0014241)
lightnin   
08-07-12 01:51   
Partly because of the problems on 64 bit machines, the Scratch startup script in /usr/bin/scratch on the latest Debian Scratch package is setup to use the OSS sound plugin (within "padsp", a pulseaudio compatibility wrapper if pulse is present). You'll need to edit that script to use vm-sound-pulse, or just execute the startup command as follows (assuming Suse installation has similar locations / squeak vm revs)

/usr/lib/squeak/4.4.7-2357/squeakvm -encoding UTF-8 -vm-display-x11 -plugins /usr/lib/scratch/plugins/:/usr/lib/squeak/4.4.7-2357/ -vm-sound-pulse /usr/share/scratch/Scratch.image
(0014242)
lewis   
08-08-12 00:22   
I cannot test on my system but I am quite confident that the problem is caused by variable declarations that cause 8-byte pointers to be stored in 4-byte integer variables. I think that it can be fixed simply by changing function declarations in platforms/unix/vm-sound-pulse/sqUnixSoundPulseAudio.c to match the prototypes in Cross/plugins/SoundPlugin/SoundPlugin.h.

The VM crashes are the result of primitive calls in the plugin that pass 8-byte pointers to support code functions that treat them as 4-byte integers.
(0014243)
lewis   
08-08-12 00:37   
platforms-unix-sound-pulse-sqUnixSoundPulse.c.tar contains an update to sqUnixSoundPulse.c that should fix the type declaration problems. It does not include the structure alignment change, as this very likely will prove unnecessary.

This needs to be tested on Ubuntu with Scratch.
(0014244)
lewis   
08-08-12 11:59   
Patch included in trunk SVN 2581, tested and confirmed by Derek O'Connell
http://lists.squeakfoundation.org/pipermail/vm-dev/2012-August/011097.html [^]




Viewing Issue Advanced Details
7697 [Squeak] Tools minor always 07-18-12 20:14 07-26-12 06:57
FrankShearar  
FrankShearar  
normal  
resolved trunk  
fixed  
none    
none  
Deleting a method in a MessageSet doesn't highlight another method
If you're viewing implementors-of some stale method, you can't repeatedly alt-x to delete all the methods: you have to alt-x, down, up, alt-x. If there's only one method, you have to click the method.

It looks almost like another method's selected - the "newly selected" method is light blue - but a "really selected" method is dark blue.
Notes
(0014235)
FrankShearar   
07-19-12 13:39   
http://source.squeak.org/inbox/Tools-fbs.415.mcz [^] contains a possible fix.
(0014238)
FrankShearar   
07-26-12 06:57   
Committed to Trunk as Tools-fbs.415.




Viewing Issue Advanced Details
7699 [Squeak] Tools minor always 07-20-12 08:45 07-26-12 06:56
FrankShearar  
FrankShearar  
normal  
resolved trunk  
fixed  
none    
none  
Deleting a system category jumps list to the beginning
This breaks flow. Instead, just try select the same-index category in the new list, if possible.
Notes
(0014236)
FrankShearar   
07-20-12 09:33   
http://source.squeak.org/inbox/Tools-fbs.416.mcz [^] has a proposed fix.
(0014237)
FrankShearar   
07-26-12 06:56   
Committed to Trunk as Tools-fbs.417.




Viewing Issue Advanced Details
7693 [Squeak] Kernel minor always 07-10-12 01:18 07-10-12 02:41
jrm  
lewis  
normal  
resolved 4.2  
fixed  
none    
none  
DateAndTime readFrom: does not recognize $Z as a valid timezone designator.
Method readFrom: in Class DateAndTime needs modification in order to interpret $Z as a valid time zone designator.
Change set with modified method and associated test attached.
DateAndTime.1.cs (3 KB) 07-10-12 01:18
Notes
(0014227)
lewis   
07-10-12 02:41   
Patch adopted in Squeak trunk




Viewing Issue Advanced Details
7689 [Squeak] XML-Yaxo minor always 02-19-12 01:09 07-06-12 22:41
jrm  
 
normal  
new 4.1  
open  
none    
none  
XMLDOMParser drops information
Squeak 4.1 #9957
Inspect: XMLDOMParser parseDocumentFrom: (ReadStream on:
' <links>
      <link type="mediaselector">http://www.bbc.co.uk/mediaselector/4/mtis/stream/b006tm9y</link> [^]
    </links>')
---
elementsAndContents displays:
 <links>
<link type="mediaselector"/> </links>
The example is a snippet of XML from 'http://www.bbc.co.uk/radio/aod/availability/radio4extra.xml'. [^] The same result occurs when processing the entire file. I created this smaller example hoping I could debug the code, but I get lost in parseDocument.

If the example is modified to includ a #> after the the string <link, I get results more like what I expect. I ran the URI through an XML validator at http://validator.w3.org [^] and it passed.
Notes
(0014216)
jrm   
02-23-12 17:19   
The example in the description works as expected in Pharo-1.3-13315.
(0014226)
jrm   
07-06-12 22:41   
As of Squeak 4.3 #11860, this seems to be resolved.

I performed the test I described and got the results I expected.



Viewing Issue Advanced Details
7692 [Squeak] Documentation minor always 06-19-12 01:31 06-19-12 01:31
edward  
casey  
normal  
assigned trunk