Mantis Bugtracker
  

Viewing Issue Simple Details Jump to Notes ] View Advanced ] 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  
Status closed   Product Version 3.10
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'
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