Mantis Bugtracker
  

Viewing Issue Advanced Details Jump to Notes ] View Simple ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0006812 [Squeak] Collections minor always 12-14-07 20:41 04-18-10 22:05
Reporter nicolas cellier View Status public  
Assigned To andreas
Priority normal Resolution fixed Platform
Status closed   OS
Projection none   OS Version
ETA none Fixed in Version trunk Product Version 3.10
  Product Build
Summary 0006812: Inspecting a changing WeakSet will raise a Debugger
Description How to reproduce: evaluate:

  (Symbol classPool at: #SymbolTable) inspect.

Then scroll the inspector left pane and you should see a debugger coming after a few flashes, saying something like 'Error: subscript is out of bounds: 687'
Steps To Reproduce
Additional Information Inspector should not fail when the WeakSet changes.
However this also raise the question: why does it change?

This must be related to some short-lived Symbol created then reclaimed.
But why to create such short-lived Symbol?
Is it another bug?
Attached Files  WideCharacterSet-copy-Test-M3574-nice.1.cs [^] (646 bytes) 12-15-07 10:52
 WideCharacterSet-copy-Patch-M3574-nice.1.cs [^] (729 bytes) 12-15-07 10:52
 WeakSetInspector-M6812-nice-Test.1.cs [^] (1,057 bytes) 12-15-07 10:53
 WeakSetInspector-M6812-nice-Patch.1.cs [^] (690 bytes) 12-15-07 10:53

- Relationships

- Notes
(0011541 - 734 - 824 - 824 - 824 - 824 - 824)
nicolas cellier
12-15-07 10:26
edited on: 12-15-07 11:17

OK, got it.
It has nothing to do with short-lived Symbols, because these ones are created in another class variable (NewSymbols).

The problem is that (WeakArray species = WeakArray).

Thus, when WeakSetInspector>>#fieldList collect a list of non-nil slot indices, it gather results in a WeakArray.
This weakArray will contain only SmallInteger printString which will soon trigger a reclamation, and make the weakArray shrink.
This leads to a constantly changing list of indices for the WeakSetInspector.

Cure: change WeakArray species? Here i don't know all the implications... Need some guru advice and support.

Other workaround: hack WeakSetInspector>>#fieldList with a object array asArray or something like that...

 
(0011542 - 152 - 176 - 176 - 176 - 176 - 176)
nicolas cellier
12-15-07 10:55

Oops... I uploaded wrong cs (WideCharacterSet) please forget.

Use WeakSetInspector-M6812 test and patch.

Maybe category could be requalified Tools
 
(0011557 - 185 - 251 - 251 - 251 - 251 - 251)
Keith_Hodges
12-17-07 15:45
edited on: 12-17-07 17:07

"fix begin"
Installer mantis bug: 6812 fix: 'WeakSetInspector-M6812-nice-Patch.1.cs'.
"fix test"
Installer mantis bug: 6812 fix: 'WeakSetInspector-M6812-nice-Test.1.cs'.
"fix end"

 
(0013286 - 125 - 131 - 279 - 279 - 279 - 279)
nicolas cellier
08-24-09 20:46

Fixed in http://source.squeak.org/trunk/Tools-nice.116.mcz [^]
ToolsTests-nice.1 is in the trunk... but not automatically loaded
 

- Issue History
Date Modified Username Field Change
12-14-07 20:41 nicolas cellier New Issue
12-14-07 20:41 nicolas cellier Status new => assigned
12-14-07 20:41 nicolas cellier Assigned To  => KenCausey
12-14-07 22:27 KenCausey Assigned To KenCausey =>
12-14-07 22:27 KenCausey Status assigned => new
12-14-07 22:27 KenCausey Category Any => Collections
12-15-07 10:26 nicolas cellier Note Added: 0011541
12-15-07 10:52 nicolas cellier File Added: WideCharacterSet-copy-Test-M3574-nice.1.cs
12-15-07 10:52 nicolas cellier File Added: WideCharacterSet-copy-Patch-M3574-nice.1.cs
12-15-07 10:53 nicolas cellier File Added: WeakSetInspector-M6812-nice-Test.1.cs
12-15-07 10:53 nicolas cellier File Added: WeakSetInspector-M6812-nice-Patch.1.cs
12-15-07 10:55 nicolas cellier Note Added: 0011542
12-15-07 11:17 nicolas cellier Note Edited: 0011541
12-17-07 15:45 Keith_Hodges Note Added: 0011557
12-17-07 17:07 Keith_Hodges Note Edited: 0011557
01-10-09 02:00 Keith_Hodges Status new => pending
01-10-09 02:27 Keith_Hodges Status pending => testing
01-10-09 03:39 Keith_Hodges Status testing => resolved
01-10-09 03:39 Keith_Hodges Fixed in Version  => 3.11
01-10-09 03:39 Keith_Hodges Resolution open => fixed
01-10-09 03:39 Keith_Hodges Assigned To  => Keith_Hodges
01-10-09 03:41 Keith_Hodges Status resolved => testing
08-24-09 20:46 nicolas cellier Note Added: 0013286
10-03-09 19:33 Keith_Hodges Status testing => assigned
10-03-09 19:33 Keith_Hodges Assigned To Keith_Hodges => andreas
10-03-09 20:16 nicolas cellier Status assigned => resolved
10-03-09 20:16 nicolas cellier Fixed in Version 3.11 => trunk
04-18-10 22:05 andreas Status resolved => closed


Mantis 1.0.8[^]
Copyright © 2000 - 2007 Mantis Group
77 total queries executed.
40 unique queries executed.
Powered by Mantis Bugtracker