Anonymous | Login | 03-02-2021 01:22 UTC |
Main | My View | View Issues | Change Log | Docs |
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 |
![]() |
||||||||||||
|
![]() |
|
(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" |
Mantis 1.0.8[^]
Copyright © 2000 - 2007 Mantis Group
63 total queries executed. 43 unique queries executed. |