Mantis Bugtracker
  

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0006980 [Squeak Packages] FFI major always 03-13-08 20:51 04-08-10 14:32
Reporter tbn View Status public  
Assigned To andreas
Priority normal Resolution open  
Status resolved  
Summary 0006980: Loading FFI kernel makes NetNameResolver unresponsive
Description Image: Squeak 3.10beta7159 and Squeak 3.9#7067
VM: Squeak 3.10.6 (from Aug 30, 2007) on Win Vista

Evaluate:
  NetNameResolver addressForName: 'www.squeaksource.com' timeout: 20

this returns a ByteArray with the IP.

After loading FFI 3.9.1 using Universe Browser the above code does not
return. (you can only break using cmd-dot)

This starts to happen directly after FFI-Kernel-ar-8.mcz is loaded
via install script from source.squeakfoundation.org/FFI
(with FFI-Kernel-ar7.mcz leads to the same problem)

When loading FFI-Kernel-ar6.mcz it works as expected - the IP is
instantly returned. So the problem seems to depend on the change
from version 6 to 7.

Tested on a Squeak3.9 and Squeak3.10 image (see above)



  


Additional Information
Attached Files  SystemDictionary-recreateSpecialObjectsArray-M6980.st [^] (4,152 bytes) 03-27-08 22:05

- Relationships
has duplicate 0007140resolved andreas Loading FFI renders sockets non-functional. 

- Notes
(0011918 - 1791 - 2208 - 2208 - 2208 - 2208 - 2208)
andreas
03-14-08 01:26

How does one recreate that problem? I got stuck when trying to "update list from network" with UPackage>>decodeFromXMLElement: so I can't investigate the problem (stack below).

UndefinedObject(Object)>>doesNotUnderstand: #contents
UPackage class>>getXMLPartNamed:from:
UPackage class>>decodeFromXMLElement:
[] in UPackage class>>decodePackagesFromXMLStream: {[:element | self decodeFromXMLElement: element]}
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OrderedCollection>>collect:
UPackage class>>decodePackagesFromXMLStream:
UStandardUniverse>>updatePackagesViaWWW
[] in UUniverseBrowser>>requestPackageList {[universe updatePackagesViaWWW]}
[] in Utilities class>>informUser:during: {[aBlock value]}
MVCMenuMorph>>displayAt:during:
Utilities class>>informUser:during:
UUniverseBrowser>>requestPackageList
PluggableButtonMorph>>performAction
[] in PluggableButtonMorph>>mouseUp: {[:m | (m containsPoint: evt cursorPoint) ifTrue: [m performAction]]}
Array(SequenceableCollection)>>do:
PluggableButtonMorph>>mouseUp:
PluggableButtonMorph(Morph)>>handleMouseUp:
MouseButtonEvent>>sentTo:
PluggableButtonMorph(Morph)>>handleEvent:
PluggableButtonMorph(Morph)>>handleFocusEvent:
[] in HandMorph>>sendFocusEvent:to:clear: {[ActiveHand := self. ActiveEvent := anEvent. result := focusHolder han...]}
[] in PasteUpMorph>>becomeActiveDuring: {[aBlock value]}
BlockContext>>on:do:
PasteUpMorph>>becomeActiveDuring:
HandMorph>>sendFocusEvent:to:clear:
HandMorph>>sendEvent:focus:clear:
HandMorph>>sendMouseEvent:
HandMorph>>handleEvent:
HandMorph>>processEvents
[] in WorldState>>doOneCycleNowFor: {[:h | ActiveHand := h. h processEvents. capturingGesture := capturingGest...]}
Array(SequenceableCollection)>>do:
WorldState>>handsDo:
 
(0011919 - 1131 - 1389 - 1785 - 1785 - 1785 - 1785)
tbn
03-14-08 07:31

Even if the help -> about tells me "Squeak 3.10beta7159" as version it's the gamma package I downloaded.

Please try: http://ftp.squeak.org/3.10alpha/Squeak3.10.gamma.7159.zip [^] and
make sure to use the image in a new directory.

Steps I've done and that worked to reproduce:
1. World menu "Open" -> "Universe Browser Basic"
2. Button "Update list from network"
3. Select "System" and "FFI version 3.9.1" in the tree
4. Select "Select package" and "Install selections"

If you have a problem with package universe browser again we should open
another issue.

However, the universe browser points to
http://map.squeak.org/accountbyid/cf58c358-46ee-465e-b6db-2740e9b32a53/files/InstallFFI3.st [^]

a simple script loading FFI-Kernel-ar-8.mcz first and then other packages.

To reproduce you can also just add source.squeakfoundation.org/FFI as
HTTP repo to Monticello and load FFI-Kernel-ar-8.mcz manually. After that
the
  NetNameResolver addressForName: 'www.squeaksource.com' timeout: 20

does not return anymore.

If you load FFI-Kernel-ar6.mcz manually it still works as before loading the
FFI Kernel.
 
(0011962 - 718 - 932 - 1136 - 1136 - 1136 - 1136)
tbn
03-27-08 21:27

Andreas commented at http://lists.squeakfoundation.org/pipermail/squeak-dev/2008-March/127208.html [^]

Yeah, I had forgotten about the problem. The issue comes from a call to
Smalltalk>>recreateSpecialObjectsArray (which is required for the FFI to
work correctly) and which accidentally nukes the external semaphore
table. The fix is simple: Replace the following line in
SystemDictionary>>recreateSpecialObjectsArray

    newArray at: 39 put: Array new.

by
    "Preserve external semaphores when recreating splObjs"
    newArray at: 39 put: (self specialObjectsArray at: 39).

Also, saving and restarting the image after loading the FFI is good
temporary workaround for this problem.

Cheers,
   - Andreas
 
(0012219 - 112 - 144 - 144 - 144 - 144 - 144)
Keith_Hodges
05-29-08 15:43

"fix begin"
Installer mantis bug: 6980 fix: 'SystemDictionary-recreateSpecialObjectsArray-M6980.st'.
"fix end"
 

- Issue History
Date Modified Username Field Change
03-13-08 20:51 tbn New Issue
03-13-08 20:51 tbn Status new => assigned
03-13-08 20:51 tbn Assigned To  => andreas
03-14-08 01:26 andreas Note Added: 0011918
03-14-08 07:31 tbn Note Added: 0011919
03-27-08 21:27 tbn Note Added: 0011962
03-27-08 22:05 tbn File Added: SystemDictionary-recreateSpecialObjectsArray-M6980.st
05-29-08 15:43 Keith_Hodges Note Added: 0012219
08-02-08 21:13 wiz Relationship added has duplicate 0007140
12-18-08 13:58 Keith_Hodges Status assigned => confirmed
12-18-08 13:58 Keith_Hodges Fixed in Version  => 3.10.2bc
01-09-09 23:31 Keith_Hodges Status confirmed => resolved
03-31-09 03:08 lewis Issue Monitored: lewis
04-08-10 14:32 laza Project Squeak => Squeak Packages


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