[squeak-dev] Re: Corrupt sources file

Levente Uzonyi leves at elte.hu
Wed Apr 7 00:34:47 UTC 2010


On Wed, 7 Apr 2010, Levente Uzonyi wrote:

> On Wed, 7 Apr 2010, Levente Uzonyi wrote:
>
>> On Tue, 6 Apr 2010, Andreas Raab wrote:
>> 
>>> On 4/6/2010 4:20 PM, Levente Uzonyi wrote:
>>>> I was about to remove the #expectedFailures from SMDependencyTest, since
>>>> it should pass now (but it fails if SqueakMap is not initialized
>>>> properly...). As a final check I decided to run the test it in the
>>>> latest beta, where it failed. When I tried to browse SMSqueakMap >>
>>>> #reload to see how it can be fixed, I got the note about the corrupted
>>>> sources file, so I think something went wrong during the latest
>>>> sources/changes merging.
>>> 
>>> Strange ... no problems here. I downloaded
>>>
>>>  http://ftp.squeak.org/trunk/4.1rc2/Squeak4.1-9885-beta.zip
>>> 
>>> from the website to verify and it worked fine.
>>> 
>>> Any chance that your extraction utility has been "smart" about replacing 
>>> CRs with CRLFs or something like that? Can you verify that 
>>> SqueakV41.sources is
>> 
>> No.
>> 
>>> exactly 25,878,239 bytes? Can someone else verify the problem? (if you do,
>> 
>> Yes.
>> 
>>> please include your platform so we know whether that's a platform issue or 
>>> not)
>> 
>> I could narrow down the issue a bit: It only happens if the vm is in a 
>> read-only directory (like C:\Program Files\Squeak), otherwise it works as 
>> expected. With with older images, both case works as expected.
>
> If I start the vm with administrator rights, then everything is fine.

It's getting funny. Without administrator rights (vm in program files):
(SourceFiles at: 1) readOnlyCopy next: 100 ==>
'''Copyright (c) The individual, corporate, and institutional contributors who have collectively contr'

Without administrator rights (vm in a writeable directory):
(SourceFiles at: 1) readOnlyCopy next: 100 ==>
'''From Squeak4.1beta of 5 April 2010 [latest update: #9885] on 4 April 2010 at 4:16:30 pm''!
ely contr'

(Note that the above is correct, but wrong, the timestamp overwrote the 
license.)

With administrator rights (vm in program files):
(SourceFiles at: 1) readOnlyCopy next: 100 ==>
'''From Squeak4.1beta of 5 April 2010 [latest update: #9885] on 4 April 2010 at 4:16:30 pm''!
ely contr'

In all cases the sources file, the changes file and the image was in a 
writeable directory, so this must be some windows trickery.


Levente

>
>
> Levente
>
>> 
>> 
>> Levente
>> 
>>> 
>>> Cheers,
>>>  - Andreas
>>> 
>>>> On Sun, 4 Apr 2010, Andreas Raab wrote:
>>>> 
>>>>> Folks -
>>>>> 
>>>>> I've prepared rc2 for testing of the 4.1 release on Squeak.org:
>>>>> 
>>>>> http://ftp.squeak.org/trunk/4.1rc2/
>>>>> 
>>>>> If you look at the release schedule [1] you'll notice that we're
>>>>> slipping a little (which I had expected). The new release candidate
>>>>> includes the following changes:
>>>>> 
>>>>> * Condensed sources file. As previously mentioned, the new sources
>>>>> file is a strict superset of the 4.0 sources file and preserves
>>>>> version history between 4.1 and 4.0.
>>>>> 
>>>>> * Welcome notice(s). Please review in particular the welcome screen.
>>>>> I've attached the welcome note below for review and improvement. If
>>>>> you see anything that hasn't been mentioned but should, please let me
>>>>> know. I've also revived two workspaces that I found useful in the
>>>>> past, one about some of the less common UI elements and one about how
>>>>> to work with Squeak.
>>>>> 
>>>>> * An updated Windows VM (4.0.2) which fixes various issues with 4.0.1.
>>>>> 
>>>>> (Ian, if you could build an updated installer I'd appreciate that)
>>>>> 
>>>>> As it stands, we're currently missing updated Unix and Mac VMs (I know
>>>>> Ian has been working on it, so I'll ping him and John separately), we
>>>>> still don't have all tests green, and there are still a few open
>>>>> issues on Mantis [2].
>>>>> 
>>>>> If you can offer any help on any of these issues, you're extremely
>>>>> welcome. I'm still hopeful that we can ship 4.1 with minimal delay but
>>>>> in order to do that we need to address the pending issues, in
>>>>> particular the failing tests.
>>>>> 
>>>>> And of course, please keep testing. Load your packages, run them, make
>>>>> sure they work!
>>>>> 
>>>>> Cheers,
>>>>> - Andreas
>>>>> 
>>>>> [1]http://lists.squeakfoundation.org/pipermail/squeak-dev/2010-March/147166.html
>>>>> [2]http://bugs.squeak.org/view.php?id=7480
>>>>> 
>>>>> =======================================================================
>>>>> 
>>>>> Welcome to Squeak - a free, open Smalltalk system.
>>>>> 
>>>>> Squeak 4.1 combines the license change occuring in the 4.0 release
>>>>> with the development work that has been going on while the relicensing
>>>>> process took place. Here are the highlights of the changes that
>>>>> resulted in Squeak 4.1:
>>>>> 
>>>>> User Interface
>>>>> --------------
>>>>> We have adapted the 'face lift' look originally developed for
>>>>> Newspeak. For those of us who like colored windows (quite a few as it
>>>>> turns out) you can switch between uniform and colored windows in the
>>>>> 'Extras' menu under 'Window Colors'.
>>>>> 
>>>>> The new menu bar makes Squeak much easier to discover than before. The
>>>>> process of transitioning from the world menu is not complete yet,
>>>>> there are still items that can only be accessed from the world menu
>>>>> (i.e., by clicking on the desktop).
>>>>> 
>>>>> The search field integrated in the menu bar allows for direct
>>>>> navigation to classes and methods - simply type in a partial class or
>>>>> method name and see what happens.
>>>>> 
>>>>> A new set of inexpensive sub-pixel antialiased fonts derived from the
>>>>> DejaVu fonts ('Bitmap DejaVu' in the font chooser) has been added.
>>>>> True type font support has been upgraded to operate directly on files
>>>>> on disk without the need to load the entire file into memory.
>>>>> 
>>>>> A new set of text editors has been added, allowing to decouple the
>>>>> Morphic and MVC implementations for improved modularity. Morphic has
>>>>> now regular blinking insertion point cursors instead of the (virtually
>>>>> invisible) static cursor previously.
>>>>> 
>>>>> Compiler
>>>>> --------
>>>>> Squeak 4.1 includes the closure implementation from Cog as a
>>>>> prerequisite for full Cog adoption later. With this implementation
>>>>> Squeak finally has 'full' closures, allowing classic recursive
>>>>> examples like the following to work:
>>>>> 
>>>>> fac := [:n| n > 1 ifTrue:[n * (fac value: n-1)] ifFalse:[1]].
>>>>> fac value: 5.
>>>>> 
>>>>> Support for literal ByteArray syntax has been added. Byte arrays can
>>>>> now be written as #[1 2 3] instead of #(1 2 3) asByteArray avoiding
>>>>> the need for conversion.
>>>>> 
>>>>> Selectors including minus are now parsed correctly, for example 3 <- 4
>>>>> is now parsed as (3) <- (4) instead of (3) < (-4). White space is no
>>>>> longer allowed after an unary minus to denote a negative number literal.
>>>>> 
>>>>> Development
>>>>> -----------
>>>>> Syntax highlighting, based on Shout, is now included in all Squeak
>>>>> tools by default. For workspaces, it can be explicitly disabled in the
>>>>> window menu (entry 'syntax highlighting').
>>>>> 
>>>>> Sources and changes files are no longer limited to 32MB max size.
>>>>> ExpandedSourceFileArray provides an implementation for source files of
>>>>> arbitrary length, based on the CompiledMethodTrailer changes.
>>>>> 
>>>>> MessageTrace has been added, allowing senders and implementors to be
>>>>> viewed without opening new windows all the time. It utilizes a new
>>>>> AlternatePluggableListMorphOfMany, which allows quick and easy
>>>>> customization of the list. A quick adoption of DependencyBrowser has
>>>>> been added allowing to browse dependencies between packages.
>>>>> 
>>>>> Core Libraries
>>>>> --------------
>>>>> Sets can now store nil just as any other collection. The collection
>>>>> hierachy has been refactored to have both Set and Dictionary a
>>>>> subclass of HashedCollection instead of having Dictionary a subclass
>>>>> of Set. Squeak now uses a better distributed scaledIdentityHash for
>>>>> identity sets and dictionaries.
>>>>> 
>>>>> StandardFilestream now performs read-buffering, dramatically speading
>>>>> up some operations like "Object compileAll" (2x improvement) as well
>>>>> as various other operations (scanning change lists etc).
>>>>> 
>>>>> A new traits implementation has been added. The implementation is
>>>>> significantly smaller and simpler than the old version and can be
>>>>> unloaded and reloaded without loss of information (i.e., traits
>>>>> flattened during unload are restored during traits reloading).
>>>>> 
>>>>> A new extensible number parser hierharchy has been introduced
>>>>> NumberParser and its subclasses provide support for parsing and
>>>>> building numbers from strings and streams.
>>>>> 
>>>>> A new general cleanup protocol has been added. The cleanUp protocol
>>>>> takes an optional argument to indicate whether we're doing an
>>>>> aggressive cleanup (which involves deleting projects, change sets, and
>>>>> possibly other destructive actions) or a more gentle cleanup that's
>>>>> only supposed to clean out transient caches.
>>>>> 
>>>>> SystemDictionary and SmalltalkImage have been refactored. Smalltalk is
>>>>> now an instance of SmalltalkImage, representing a facade for
>>>>> system-wide queries and actions. SmalltalkImage contains a global
>>>>> environment, an instance of SystemDictionary, which the environment
>>>>> used by classes. Thus, SmalltalkImage current == Smalltalk, Object
>>>>> environment == Smalltalk globals.
>>>>> 
>>>>> Modularity
>>>>> ----------
>>>>> The following packages have been made reloadable: ReleaseBuilder,
>>>>> ScriptLoader, 311Deprecated, 39Deprecated, Universes, SMLoader,
>>>>> SMBase, Installer-Core, VersionNumberTests, VersionNumber,
>>>>> Services-Base, PreferenceBrowser, Nebraska, CollectionsTests,
>>>>> GraphicsTests, KernelTests, MorphicTests, MultilingualTests,
>>>>> NetworkTests, ToolsTests, TraitsTests, XML-Parser, Traits,
>>>>> SystemChangeNotification-Tests, FlexibleVocabularies, EToys,
>>>>> Protocols, Tests, SUnitGUI. To unload all of these, execute:
>>>>> 
>>>>> Smalltalk unloadAllKnownPackages.
>>>>> 
>>>>> 
>>>> 
>>>> 
>>> 
>>> 
>>> 
>> 
>> 
>
>



More information about the Squeak-dev mailing list