here insert explanation of what you were doing, suspect changes you've
made and so forth. 25 May 2010 1:03:21 pm VM: unix - x86_64 - linux - Squeak3.10.2 of '5 June 2008' [latest update: #7179] Image: Pharo-1.0 [Latest update: #10517] SecurityManager state: Restricted: false FileAccess: true SocketAccess: true Working Dir /var/www/seaside/register Trusted Dir /var/www/seaside/register/secure Untrusted Dir /var/www/seaside/register/My Squeak UndefinedObject(Object)>>doesNotUnderstand: #binary Receiver: nil Arguments and temporary variables: aMessage: binary exception: MessageNotUnderstood: receiver of "binary" is nil resumeValue: nil Receiver's instance variables: nil ReferenceStream(DataStream)>>setStream: Receiver: <<error during printing>> Arguments and temporary variables: aStream: nil Receiver's instance variables: byteStream: nil topCall: nil basePos: nil references: nil objects: nil currentReference: nil fwdRefEnds: nil blockers: nil skipping: nil insideASegment: nil ReferenceStream>>setStream: Receiver: <<error during printing>> Arguments and temporary variables: aStream: nil Receiver's instance variables: byteStream: nil topCall: nil basePos: nil references: nil objects: nil currentReference: nil fwdRefEnds: nil blockers: nil skipping: nil insideASegment: nil ReferenceStream class(DataStream class)>>on: Receiver: ReferenceStream Arguments and temporary variables: aStream: nil Receiver's instance variables: superclass: DataStream methodDict: a MethodDictionary(#beginInstance:size:->a CompiledMethod(117: Refe...etc... format: 150 instanceVariables: #('references' 'objects' 'currentReference' 'fwdRefEnds' 'bl...etc... organization: ('reading' beginReference: getCurrentReference maybeBeginReferenc...etc... subclasses: {SmartRefStream} name: #ReferenceStream classPool: a Dictionary(#RefTypes->an OrderedCollection(0 0 0 0 1 1 1 1 1 0 1 0...etc... sharedPools: nil environment: Smalltalk category: #'System-Object Storage' traitComposition: nil localSelectors: nil ReferenceStream class>>on: Receiver: ReferenceStream Arguments and temporary variables: aStream: nil Receiver's instance variables: superclass: DataStream methodDict: a MethodDictionary(#beginInstance:size:->a CompiledMethod(117: Refe...etc... format: 150 instanceVariables: #('references' 'objects' 'currentReference' 'fwdRefEnds' 'bl...etc... organization: ('reading' beginReference: getCurrentReference maybeBeginReferenc...etc... subclasses: {SmartRefStream} name: #ReferenceStream classPool: a Dictionary(#RefTypes->an OrderedCollection(0 0 0 0 1 1 1 1 1 0 1 0...etc... sharedPools: nil environment: Smalltalk category: #'System-Object Storage' traitComposition: nil localSelectors: nil ReferenceStream class(DataStream class)>>newFileNamed: Receiver: ReferenceStream Arguments and temporary variables: aString: '/var/www/seaside/register/PatagoniaBackup/register/esug2010.1' strm: nil Receiver's instance variables: superclass: DataStream methodDict: a MethodDictionary(#beginInstance:size:->a CompiledMethod(117: Refe...etc... format: 150 instanceVariables: #('references' 'objects' 'currentReference' 'fwdRefEnds' 'bl...etc... organization: ('reading' beginReference: getCurrentReference maybeBeginReferenc...etc... subclasses: {SmartRefStream} name: #ReferenceStream classPool: a Dictionary(#RefTypes->an OrderedCollection(0 0 0 0 1 1 1 1 1 0 1 0...etc... sharedPools: nil environment: Smalltalk category: #'System-Object Storage' traitComposition: nil localSelectors: nil ReferenceStream class>>newFileNamed:do: Receiver: ReferenceStream Arguments and temporary variables: aName: '/var/www/seaside/register/PatagoniaBackup/register/esug2010.1' aBlock: [closure] in [] in PatPatagoniaFileDatabase>>saveRepository file: nil Receiver's instance variables: superclass: DataStream methodDict: a MethodDictionary(#beginInstance:size:->a CompiledMethod(117: Refe...etc... format: 150 instanceVariables: #('references' 'objects' 'currentReference' 'fwdRefEnds' 'bl...etc... organization: ('reading' beginReference: getCurrentReference maybeBeginReferenc...etc... subclasses: {SmartRefStream} name: #ReferenceStream classPool: a Dictionary(#RefTypes->an OrderedCollection(0 0 0 0 1 1 1 1 1 0 1 0...etc... sharedPools: nil environment: Smalltalk category: #'System-Object Storage' traitComposition: nil localSelectors: nil [] in PatPatagoniaFileDatabase>>saveRepository Receiver: a PatPatagoniaFileDatabase Arguments and temporary variables: fileName: '/var/www/seaside/register/PatagoniaBackup/register/esug2010.1' Receiver's instance variables: conference: a PatConference entryPoint: 'register/esug2010' lock: a Semaphore(a Process in [] in Semaphore>>critical: a Process in [] in Se...etc... [] in Semaphore>>critical: Receiver: a Semaphore(a Process in [] in Semaphore>>critical: a Process in [] in Semaphore>>critical...etc... Arguments and temporary variables: <<error during printing> Receiver's instance variables: firstLink: a Process in [] in Semaphore>>critical: lastLink: a Process in [] in Semaphore>>critical: excessSignals: 0 BlockClosure>>ensure: Receiver: [closure] in Semaphore>>critical: Arguments and temporary variables: aBlock: [closure] in Semaphore>>critical: returnValue: nil b: nil Receiver's instance variables: outerContext: Semaphore>>critical: startpc: 38 numArgs: 0 Semaphore>>critical: Receiver: a Semaphore(a Process in [] in Semaphore>>critical: a Process in [] in Semaphore>>critical...etc... Arguments and temporary variables: <<error during printing> Receiver's instance variables: firstLink: a Process in [] in Semaphore>>critical: lastLink: a Process in [] in Semaphore>>critical: excessSignals: 0 PatPatagoniaFileDatabase>>saveRepository Receiver: a PatPatagoniaFileDatabase Arguments and temporary variables: Receiver's instance variables: conference: a PatConference entryPoint: 'register/esug2010' lock: a Semaphore(a Process in [] in Semaphore>>critical: a Process in [] in Se...etc... [] in PatPatagoniaFileDatabase>>takeSnapshot Receiver: a PatPatagoniaFileDatabase Arguments and temporary variables: Receiver's instance variables: conference: a PatConference entryPoint: 'register/esug2010' lock: a Semaphore(a Process in [] in Semaphore>>critical: a Process in [] in Se...etc... [] in BlockClosure>>newProcess Receiver: [closure] in PatPatagoniaFileDatabase>>takeSnapshot Arguments and temporary variables: Receiver's instance variables: outerContext: PatPatagoniaFileDatabase>>takeSnapshot startpc: 45 numArgs: 0 --- The full stack --- UndefinedObject(Object)>>doesNotUnderstand: #binary ReferenceStream(DataStream)>>setStream: ReferenceStream>>setStream: ReferenceStream class(DataStream class)>>on: ReferenceStream class>>on: ReferenceStream class(DataStream class)>>newFileNamed: ReferenceStream class>>newFileNamed:do: [] in PatPatagoniaFileDatabase>>saveRepository [] in Semaphore>>critical: BlockClosure>>ensure: Semaphore>>critical: PatPatagoniaFileDatabase>>saveRepository [] in PatPatagoniaFileDatabase>>takeSnapshot [] in BlockClosure>>newProcess _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
1. ReferenceStream newFileNamed:do: does not exist in base.
2. newFileNamed: can return nil, if it can't open a file stream, even after GC. 3. This usually implies too many file handles are open. 4. The best thing that can be done in core, is probably to raise an error in DataStream newFileNamed: if the opening of the underlying stream fails, but that won't really solve your problems. i.e., this is most probably an application error caused by not closing file streams so creating new ones fails. Cheers, Henry On May 25, 2010, at 1:03 54PM, [hidden email] wrote: > here insert explanation of what you were doing, suspect changes you've > made and so forth. > > 25 May 2010 1:03:21 pm > > VM: unix - x86_64 - linux - Squeak3.10.2 of '5 June 2008' [latest > update: #7179] > Image: Pharo-1.0 [Latest update: #10517] > > SecurityManager state: > Restricted: false > FileAccess: true > SocketAccess: true > Working Dir /var/www/seaside/register > Trusted Dir /var/www/seaside/register/secure > Untrusted Dir /var/www/seaside/register/My Squeak > > UndefinedObject(Object)>>doesNotUnderstand: #binary > Receiver: nil > Arguments and temporary variables: > aMessage: binary > exception: MessageNotUnderstood: receiver of "binary" is nil > resumeValue: nil > Receiver's instance variables: > nil > > ReferenceStream(DataStream)>>setStream: > Receiver: <<error during printing>> > Arguments and temporary variables: > aStream: nil > Receiver's instance variables: > byteStream: nil > topCall: nil > basePos: nil > references: nil > objects: nil > currentReference: nil > fwdRefEnds: nil > blockers: nil > skipping: nil > insideASegment: nil > > ReferenceStream>>setStream: > Receiver: <<error during printing>> > Arguments and temporary variables: > aStream: nil > Receiver's instance variables: > byteStream: nil > topCall: nil > basePos: nil > references: nil > objects: nil > currentReference: nil > fwdRefEnds: nil > blockers: nil > skipping: nil > insideASegment: nil > > ReferenceStream class(DataStream class)>>on: > Receiver: ReferenceStream > Arguments and temporary variables: > aStream: nil > Receiver's instance variables: > superclass: DataStream > methodDict: a MethodDictionary(#beginInstance:size:->a > CompiledMethod(117: Refe...etc... > format: 150 > instanceVariables: #('references' 'objects' 'currentReference' > 'fwdRefEnds' 'bl...etc... > organization: ('reading' beginReference: getCurrentReference > maybeBeginReferenc...etc... > subclasses: {SmartRefStream} > name: #ReferenceStream > classPool: a Dictionary(#RefTypes->an OrderedCollection(0 0 0 0 1 1 1 > 1 1 0 1 0...etc... > sharedPools: nil > environment: Smalltalk > category: #'System-Object Storage' > traitComposition: nil > localSelectors: nil > > ReferenceStream class>>on: > Receiver: ReferenceStream > Arguments and temporary variables: > aStream: nil > Receiver's instance variables: > superclass: DataStream > methodDict: a MethodDictionary(#beginInstance:size:->a > CompiledMethod(117: Refe...etc... > format: 150 > instanceVariables: #('references' 'objects' 'currentReference' > 'fwdRefEnds' 'bl...etc... > organization: ('reading' beginReference: getCurrentReference > maybeBeginReferenc...etc... > subclasses: {SmartRefStream} > name: #ReferenceStream > classPool: a Dictionary(#RefTypes->an OrderedCollection(0 0 0 0 1 1 1 > 1 1 0 1 0...etc... > sharedPools: nil > environment: Smalltalk > category: #'System-Object Storage' > traitComposition: nil > localSelectors: nil > > ReferenceStream class(DataStream class)>>newFileNamed: > Receiver: ReferenceStream > Arguments and temporary variables: > aString: > '/var/www/seaside/register/PatagoniaBackup/register/esug2010.1' > strm: nil > Receiver's instance variables: > superclass: DataStream > methodDict: a MethodDictionary(#beginInstance:size:->a > CompiledMethod(117: Refe...etc... > format: 150 > instanceVariables: #('references' 'objects' 'currentReference' > 'fwdRefEnds' 'bl...etc... > organization: ('reading' beginReference: getCurrentReference > maybeBeginReferenc...etc... > subclasses: {SmartRefStream} > name: #ReferenceStream > classPool: a Dictionary(#RefTypes->an OrderedCollection(0 0 0 0 1 1 1 > 1 1 0 1 0...etc... > sharedPools: nil > environment: Smalltalk > category: #'System-Object Storage' > traitComposition: nil > localSelectors: nil > > ReferenceStream class>>newFileNamed:do: > Receiver: ReferenceStream > Arguments and temporary variables: > aName: > '/var/www/seaside/register/PatagoniaBackup/register/esug2010.1' > aBlock: [closure] in [] in PatPatagoniaFileDatabase>>saveRepository > file: nil > Receiver's instance variables: > superclass: DataStream > methodDict: a MethodDictionary(#beginInstance:size:->a > CompiledMethod(117: Refe...etc... > format: 150 > instanceVariables: #('references' 'objects' 'currentReference' > 'fwdRefEnds' 'bl...etc... > organization: ('reading' beginReference: getCurrentReference > maybeBeginReferenc...etc... > subclasses: {SmartRefStream} > name: #ReferenceStream > classPool: a Dictionary(#RefTypes->an OrderedCollection(0 0 0 0 1 1 1 > 1 1 0 1 0...etc... > sharedPools: nil > environment: Smalltalk > category: #'System-Object Storage' > traitComposition: nil > localSelectors: nil > > [] in PatPatagoniaFileDatabase>>saveRepository > Receiver: a PatPatagoniaFileDatabase > Arguments and temporary variables: > fileName: > '/var/www/seaside/register/PatagoniaBackup/register/esug2010.1' > Receiver's instance variables: > conference: a PatConference > entryPoint: 'register/esug2010' > lock: a Semaphore(a Process in [] in Semaphore>>critical: a Process > in [] in Se...etc... > > [] in Semaphore>>critical: > Receiver: a Semaphore(a Process in [] in Semaphore>>critical: a Process > in [] in Semaphore>>critical...etc... > Arguments and temporary variables: > <<error during printing> > Receiver's instance variables: > firstLink: a Process in [] in Semaphore>>critical: > lastLink: a Process in [] in Semaphore>>critical: > excessSignals: 0 > > BlockClosure>>ensure: > Receiver: [closure] in Semaphore>>critical: > Arguments and temporary variables: > aBlock: [closure] in Semaphore>>critical: > returnValue: nil > b: nil > Receiver's instance variables: > outerContext: Semaphore>>critical: > startpc: 38 > numArgs: 0 > > Semaphore>>critical: > Receiver: a Semaphore(a Process in [] in Semaphore>>critical: a Process > in [] in Semaphore>>critical...etc... > Arguments and temporary variables: > <<error during printing> > Receiver's instance variables: > firstLink: a Process in [] in Semaphore>>critical: > lastLink: a Process in [] in Semaphore>>critical: > excessSignals: 0 > > PatPatagoniaFileDatabase>>saveRepository > Receiver: a PatPatagoniaFileDatabase > Arguments and temporary variables: > > Receiver's instance variables: > conference: a PatConference > entryPoint: 'register/esug2010' > lock: a Semaphore(a Process in [] in Semaphore>>critical: a Process > in [] in Se...etc... > > [] in PatPatagoniaFileDatabase>>takeSnapshot > Receiver: a PatPatagoniaFileDatabase > Arguments and temporary variables: > > Receiver's instance variables: > conference: a PatConference > entryPoint: 'register/esug2010' > lock: a Semaphore(a Process in [] in Semaphore>>critical: a Process > in [] in Se...etc... > > [] in BlockClosure>>newProcess > Receiver: [closure] in PatPatagoniaFileDatabase>>takeSnapshot > Arguments and temporary variables: > > Receiver's instance variables: > outerContext: PatPatagoniaFileDatabase>>takeSnapshot > startpc: 45 > numArgs: 0 > > > --- The full stack --- > UndefinedObject(Object)>>doesNotUnderstand: #binary > ReferenceStream(DataStream)>>setStream: > ReferenceStream>>setStream: > ReferenceStream class(DataStream class)>>on: > ReferenceStream class>>on: > ReferenceStream class(DataStream class)>>newFileNamed: > ReferenceStream class>>newFileNamed:do: > [] in PatPatagoniaFileDatabase>>saveRepository > [] in Semaphore>>critical: > BlockClosure>>ensure: > Semaphore>>critical: > PatPatagoniaFileDatabase>>saveRepository > [] in PatPatagoniaFileDatabase>>takeSnapshot > [] in BlockClosure>>newProcess > > _______________________________________________ > Pharo-project mailing list > [hidden email] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project > _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
In reply to this post by damien.pollet
PS: the title of this thread would be much better if you went a step down, ie:
"stream can be nil in DataStream setStream:". "UndefinedObject doesNotUnderstand: #binary" really tells nothing about what/where the error actually occurs. Cheers, Herny > > UndefinedObject(Object)>>doesNotUnderstand: #binary > ReferenceStream(DataStream)>>setStream: > ReferenceStream>>setStream: > ReferenceStream class(DataStream class)>>on: > ReferenceStream class>>on: > ReferenceStream class(DataStream class)>>newFileNamed: > ReferenceStream class>>newFileNamed:do: > [] in PatPatagoniaFileDatabase>>saveRepository > [] in Semaphore>>critical: > BlockClosure>>ensure: > Semaphore>>critical: > PatPatagoniaFileDatabase>>saveRepository > [] in PatPatagoniaFileDatabase>>takeSnapshot > [] in BlockClosure>>newProcess > > _______________________________________________ > Pharo-project mailing list > [hidden email] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project > _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
On Tue, May 25, 2010 at 13:37, Henrik Johansen
<[hidden email]> wrote: > PS: the title of this thread would be much better if you went a step down, ie: > "stream can be nil in DataStream setStream:". > > "UndefinedObject doesNotUnderstand: #binary" really tells nothing about what/where the error actually occurs. Sorry about that, I think I sent the stack trace from the image and it wasn't clear what would happen precisely from the UI. Now I don't remember exactly but that image had been confused about files in other places. Since then we rebuilt one from scratch and now it works. Thanks -- Damien Pollet type less, do more [ | ] http://people.untyped.org/damien.pollet _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
Free forum by Nabble | Edit this page |