Intermittent AttachableFileStream error during 7:36 and 10:36 today

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

Intermittent AttachableFileStream error during 7:36 and 10:36 today

Bob Westergaard
 
Hi,

I have a rather bizarre intermittent failure that I'd see if anyone else can reproduce.

I've taken the following: 

Started it up and loaded the latest system updates and the OSProcess package (access OS functions).

I then did:

    CommandShell command: 'date'

This works as I'd expect it too.

However, what is interesting is that if I change the time on the machine to any time between 7:36AM and 10:36AM (PDT, I'm in San Jose, CA) for today (May 19th) this call fails with the stack below.  I'm quitting the image between time changes.

There was no failure for the same time period yesterday.  Nor does it appear to fail for any other time period today.

-- Bob

Stack follows:

19 May 2021 10:30:20.503624 am

VM: unix - Smalltalk
Image: Squeak5.3 [latest update: #19458]

SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir /scratch/bwesterg/squeak/Squeak5.3-19435-64bit-202003021730-Linux/shared
Trusted Dir /scratch/bwesterg/squeak/Squeak5.3-19435-64bit-202003021730-Linux/shared/secure
Untrusted Dir /scratch/bwesterg/squeak/Squeak5.3-19435-64bit-202003021730-Linux/shared/My Squeak

AioEventHandler(Object)>>notify:
Receiver: an AioEventHandler
Arguments and temporary variables:
aString: 'aio event forwarding not supported'
Receiver's instance variables:
dependents: nil
semaphore: nil
semaIndex: nil
handlerProc: nil
descriptor: nil

[] in AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
Receiver: an AioEventHandler
Arguments and temporary variables:
<<error during printing>
Receiver's instance variables:
dependents: nil
semaphore: nil
semaIndex: nil
handlerProc: nil
descriptor: nil

BlockClosure>>cull:
Receiver: [closure] in AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
Arguments and temporary variables:
firstArg: Warning: aio event forwarding not supported
Receiver's instance variables:
outerContext: AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
startpc: 154
numArgs: 1

[] in Context>>handleSignal:
Receiver: BlockClosure>>on:do:
Arguments and temporary variables:
<<error during printing>
Receiver's instance variables:
sender: AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
pc: 32
stackp: 3
method: (BlockClosure>>#on:do: "a CompiledMethod(1660548)")
closureOrNil: nil
receiver: [closure] in AioEventHandler>>initializeForExceptions:readEvents:writeEvents:...etc...

BlockClosure>>ensure:
Receiver: [closure] in Context>>handleSignal:
Arguments and temporary variables:
aBlock: [closure] in Context>>handleSignal:
complete: nil
returnValue: nil
Receiver's instance variables:
outerContext: Context>>handleSignal:
startpc: 174
numArgs: 0

Context>>handleSignal:
Receiver: BlockClosure>>on:do:
Arguments and temporary variables:
exception: Warning: aio event forwarding not supported
handlerActive: true
val: nil
Receiver's instance variables:
sender: AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
pc: 32
stackp: 3
method: (BlockClosure>>#on:do: "a CompiledMethod(1660548)")
closureOrNil: nil
receiver: [closure] in AioEventHandler>>initializeForExceptions:readEvents:writeEvents:...etc...

Warning(Exception)>>signal
Receiver: Warning: aio event forwarding not supported
Arguments and temporary variables:

Receiver's instance variables:
messageText: 'aio event forwarding not supported'
tag: nil
signalContext: Warning(Exception)>>signal
handlerContext: BlockClosure>>on:do:
outerContext: nil

Warning(Exception)>>signal:
Receiver: Warning: aio event forwarding not supported
Arguments and temporary variables:
signalerText: 'aio event forwarding not supported'
Receiver's instance variables:
messageText: 'aio event forwarding not supported'
tag: nil
signalContext: Warning(Exception)>>signal
handlerContext: BlockClosure>>on:do:
outerContext: nil

Warning class>>signal:
Receiver: Warning
Arguments and temporary variables:
signalerText: 'aio event forwarding not supported'
Receiver's instance variables:
superclass: Notification
methodDict: a MethodDictionary(#defaultAction->(Warning>>#defaultAction "a CompiledMethod...etc...
format: 65541
instanceVariables: nil
organization: ('priv handling' defaultAction)

subclasses: {Deprecation . ServiceCancelled . SAXWarning . UndeclaredVariableWarning...etc...
name: #Warning
classPool: nil
sharedPools: nil
environment: nil
category: #'Kernel-Exceptions'
suppressed: false
resetOnStartUp: false

AioEventHandler(Object)>>notify:
Receiver: an AioEventHandler
Arguments and temporary variables:
aString: 'aio event forwarding not supported'
Receiver's instance variables:
dependents: nil
semaphore: nil
semaIndex: nil
handlerProc: nil
descriptor: nil

AioEventHandler>>aioEnable:forSemaphore:externalObject:
Receiver: an AioEventHandler
Arguments and temporary variables:
ioDescriptor: nil
semaphoreIndex: 17
trueOrFalse: true
Receiver's instance variables:
dependents: nil
semaphore: nil
semaIndex: nil
handlerProc: nil
descriptor: nil

[] in AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
Receiver: an AioEventHandler
Arguments and temporary variables:
<<error during printing>
Receiver's instance variables:
dependents: nil
semaphore: nil
semaIndex: nil
handlerProc: nil
descriptor: nil

BlockClosure>>on:do:
Receiver: [closure] in AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
Arguments and temporary variables:
exceptionOrExceptionSet: Warning
handlerAction: [closure] in AioEventHandler>>initializeForExceptions:readEvents:writeEvents:...etc...
handlerActive: false
Receiver's instance variables:
outerContext: AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
startpc: 140
numArgs: 0

AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
Receiver: an AioEventHandler
Arguments and temporary variables:
exceptionEventFlag: true
readEventFlag: true
writeEventFlag: false
Receiver's instance variables:
dependents: nil
semaphore: nil
semaIndex: nil
handlerProc: nil
descriptor: nil

AioEventHandler>>forFileStream:exceptions:readEvents:writeEvents:
Receiver: an AioEventHandler
Arguments and temporary variables:
aFileStream: BufferedAsyncFileReadStream: 'pipeReader'
exceptionEventFlag: true
readEventFlag: true
writeEventFlag: false
Receiver's instance variables:
dependents: nil
semaphore: nil
semaIndex: nil
handlerProc: nil
descriptor: nil

AioEventHandler class>>forFileStream:exceptions:readEvents:writeEvents:
Receiver: AioEventHandler
Arguments and temporary variables:
aFileStream: BufferedAsyncFileReadStream: 'pipeReader'
exceptionEventFlag: true
readEventFlag: true
writeEventFlag: false
Receiver's instance variables:
superclass: Model
methodDict: a MethodDictionary(#aioDisable:->(AioEventHandler>>#aioDisable: "a CompiledMethod...etc...
format: 65541
instanceVariables: #('semaphore' 'semaIndex' 'handlerProc' 'descriptor')
organization: ('aio event forwarding' aioDisable: aioEnable:forSemaphore:externalObject:...etc...
subclasses: nil
name: #AioEventHandler
classPool: a Dictionary(#AioPluginPresent->true )
sharedPools: nil
environment: Smalltalk
category: #'OSProcess-AIO'

BufferedAsyncFileReadStream(AsyncFileReadStream)>>enableEventHandling
Receiver: BufferedAsyncFileReadStream: 'pipeReader'
Arguments and temporary variables:

Receiver's instance variables:


BufferedAsyncFileReadStream(AsyncFileReadStream)>>initialize
Receiver: BufferedAsyncFileReadStream: 'pipeReader'
Arguments and temporary variables:

Receiver's instance variables:


BufferedAsyncFileReadStream class(AttachableFileStream class)>>name:attachTo:writable:
Receiver: BufferedAsyncFileReadStream
Arguments and temporary variables:
aSymbolOrString: 'pipeReader'
anIOHandle: #[93 179 159 128 0 0 0 0 48 162 123 2 0 0 0 0 0 0 0 0 0 0 0 0]
readWriteFlag: false
Receiver's instance variables:
superclass: AsyncFileReadStream
methodDict: a MethodDictionary(#actAsExecutor->(BufferedAsyncFileReadStream>>#a...etc...
format: 65552
instanceVariables: #('nonBlockingMode' 'readBuffer' 'readSyncSemaphore' 'dataAv...etc...
organization: ('finalization' actAsExecutor)
('read ahead buffer' appendAllToBuffer:...etc...
subclasses: nil
name: #BufferedAsyncFileReadStream
classPool: nil
sharedPools: nil
environment: Smalltalk
category: #'OSProcess-Base'


--- The full stack ---
AioEventHandler(Object)>>notify:
[] in AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
BlockClosure>>cull:
[] in Context>>handleSignal:
BlockClosure>>ensure:
Context>>handleSignal:
Warning(Exception)>>signal
Warning(Exception)>>signal:
Warning class>>signal:
AioEventHandler(Object)>>notify:
AioEventHandler>>aioEnable:forSemaphore:externalObject:
[] in AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
BlockClosure>>on:do:
AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
AioEventHandler>>forFileStream:exceptions:readEvents:writeEvents:
AioEventHandler class>>forFileStream:exceptions:readEvents:writeEvents:
BufferedAsyncFileReadStream(AsyncFileReadStream)>>enableEventHandling
BufferedAsyncFileReadStream(AsyncFileReadStream)>>initialize
BufferedAsyncFileReadStream class(AttachableFileStream class)>>name:attachTo:writable:
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
AttachableFileStream>>asBufferedAsyncFileReadStream
ExternalPipe>>setBufferedReader
PipeableOSProcess(PipeJunction)>>enableOutputStreamTriggers
PipeableOSProcess>>enableEventTriggers
PipeableOSProcess(PipeJunction)>>prepareOutputForInternalReader
PipeableOSProcess>>prepareOutputForInternalReader
PipeableOSProcess(PipeJunction)>>prepareOutputFor:
ProxyPipeline>>fromString:shell:
ProxyPipeline class>>fromString:shell:
CommandShell>>pipelineCollectionFrom:
CommandShell>>evaluateOrMakePipelinesFrom:
CommandShell>>command:echo:
[] in CommandShell>>processCommand:echo:
[] in BlockClosure>>newProcess
Reply | Threaded
Open this post in threaded view
|

Re: Intermittent AttachableFileStream error during 7:36 and 10:36 today

David T. Lewis
 
Wos, that's a new one on me. What exactly are you changing on your
computer, are you changing the system time, or changing time zone?

Dave

On Wed, May 19, 2021 at 12:17:58PM -0700, Bob Westergaard wrote:

>  
> Hi,
>
> I have a rather bizarre intermittent failure that I'd see if anyone else
> can reproduce.
>
> I've taken the following:
>
> http://files.squeak.org/5.3/Squeak5.3-19435-64bit/Squeak5.3-19435-64bit-202003021730-Linux.zip
>
> Started it up and loaded the latest system updates and the OSProcess
> package (access OS functions).
>
> I then did:
>
>     CommandShell command: 'date'
>
> This works as I'd expect it too.
>
> However, what is interesting is that if I change the time on the machine to
> any time between 7:36AM and 10:36AM (PDT, I'm in San Jose, CA) for today
> (May 19th) this call fails with the stack below.  I'm quitting the image
> between time changes.
>
> There was no failure for the same time period yesterday.  Nor does it
> appear to fail for any other time period today.
>
> -- Bob
>
> Stack follows:
>
> 19 May 2021 10:30:20.503624 am
>
> VM: unix - Smalltalk
> Image: Squeak5.3 [latest update: #19458]
>
> SecurityManager state:
> Restricted: false
> FileAccess: true
> SocketAccess: true
> Working Dir
> /scratch/bwesterg/squeak/Squeak5.3-19435-64bit-202003021730-Linux/shared
> Trusted Dir
> /scratch/bwesterg/squeak/Squeak5.3-19435-64bit-202003021730-Linux/shared/secure
> Untrusted Dir
> /scratch/bwesterg/squeak/Squeak5.3-19435-64bit-202003021730-Linux/shared/My
> Squeak
>
> AioEventHandler(Object)>>notify:
> Receiver: an AioEventHandler
> Arguments and temporary variables:
> aString: 'aio event forwarding not supported'
> Receiver's instance variables:
> dependents: nil
> semaphore: nil
> semaIndex: nil
> handlerProc: nil
> descriptor: nil
>
> [] in AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> Receiver: an AioEventHandler
> Arguments and temporary variables:
> <<error during printing>
> Receiver's instance variables:
> dependents: nil
> semaphore: nil
> semaIndex: nil
> handlerProc: nil
> descriptor: nil
>
> BlockClosure>>cull:
> Receiver: [closure] in
> AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> Arguments and temporary variables:
> firstArg: Warning: aio event forwarding not supported
> Receiver's instance variables:
> outerContext:
> AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> startpc: 154
> numArgs: 1
>
> [] in Context>>handleSignal:
> Receiver: BlockClosure>>on:do:
> Arguments and temporary variables:
> <<error during printing>
> Receiver's instance variables:
> sender: AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> pc: 32
> stackp: 3
> method: (BlockClosure>>#on:do: "a CompiledMethod(1660548)")
> closureOrNil: nil
> receiver: [closure] in
> AioEventHandler>>initializeForExceptions:readEvents:writeEvents:...etc...
>
> BlockClosure>>ensure:
> Receiver: [closure] in Context>>handleSignal:
> Arguments and temporary variables:
> aBlock: [closure] in Context>>handleSignal:
> complete: nil
> returnValue: nil
> Receiver's instance variables:
> outerContext: Context>>handleSignal:
> startpc: 174
> numArgs: 0
>
> Context>>handleSignal:
> Receiver: BlockClosure>>on:do:
> Arguments and temporary variables:
> exception: Warning: aio event forwarding not supported
> handlerActive: true
> val: nil
> Receiver's instance variables:
> sender: AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> pc: 32
> stackp: 3
> method: (BlockClosure>>#on:do: "a CompiledMethod(1660548)")
> closureOrNil: nil
> receiver: [closure] in
> AioEventHandler>>initializeForExceptions:readEvents:writeEvents:...etc...
>
> Warning(Exception)>>signal
> Receiver: Warning: aio event forwarding not supported
> Arguments and temporary variables:
>
> Receiver's instance variables:
> messageText: 'aio event forwarding not supported'
> tag: nil
> signalContext: Warning(Exception)>>signal
> handlerContext: BlockClosure>>on:do:
> outerContext: nil
>
> Warning(Exception)>>signal:
> Receiver: Warning: aio event forwarding not supported
> Arguments and temporary variables:
> signalerText: 'aio event forwarding not supported'
> Receiver's instance variables:
> messageText: 'aio event forwarding not supported'
> tag: nil
> signalContext: Warning(Exception)>>signal
> handlerContext: BlockClosure>>on:do:
> outerContext: nil
>
> Warning class>>signal:
> Receiver: Warning
> Arguments and temporary variables:
> signalerText: 'aio event forwarding not supported'
> Receiver's instance variables:
> superclass: Notification
> methodDict: a MethodDictionary(#defaultAction->(Warning>>#defaultAction "a
> CompiledMethod...etc...
> format: 65541
> instanceVariables: nil
> organization: ('priv handling' defaultAction)
>
> subclasses: {Deprecation . ServiceCancelled . SAXWarning .
> UndeclaredVariableWarning...etc...
> name: #Warning
> classPool: nil
> sharedPools: nil
> environment: nil
> category: #'Kernel-Exceptions'
> suppressed: false
> resetOnStartUp: false
>
> AioEventHandler(Object)>>notify:
> Receiver: an AioEventHandler
> Arguments and temporary variables:
> aString: 'aio event forwarding not supported'
> Receiver's instance variables:
> dependents: nil
> semaphore: nil
> semaIndex: nil
> handlerProc: nil
> descriptor: nil
>
> AioEventHandler>>aioEnable:forSemaphore:externalObject:
> Receiver: an AioEventHandler
> Arguments and temporary variables:
> ioDescriptor: nil
> semaphoreIndex: 17
> trueOrFalse: true
> Receiver's instance variables:
> dependents: nil
> semaphore: nil
> semaIndex: nil
> handlerProc: nil
> descriptor: nil
>
> [] in AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> Receiver: an AioEventHandler
> Arguments and temporary variables:
> <<error during printing>
> Receiver's instance variables:
> dependents: nil
> semaphore: nil
> semaIndex: nil
> handlerProc: nil
> descriptor: nil
>
> BlockClosure>>on:do:
> Receiver: [closure] in
> AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> Arguments and temporary variables:
> exceptionOrExceptionSet: Warning
> handlerAction: [closure] in
> AioEventHandler>>initializeForExceptions:readEvents:writeEvents:...etc...
> handlerActive: false
> Receiver's instance variables:
> outerContext:
> AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> startpc: 140
> numArgs: 0
>
> AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> Receiver: an AioEventHandler
> Arguments and temporary variables:
> exceptionEventFlag: true
> readEventFlag: true
> writeEventFlag: false
> Receiver's instance variables:
> dependents: nil
> semaphore: nil
> semaIndex: nil
> handlerProc: nil
> descriptor: nil
>
> AioEventHandler>>forFileStream:exceptions:readEvents:writeEvents:
> Receiver: an AioEventHandler
> Arguments and temporary variables:
> aFileStream: BufferedAsyncFileReadStream: 'pipeReader'
> exceptionEventFlag: true
> readEventFlag: true
> writeEventFlag: false
> Receiver's instance variables:
> dependents: nil
> semaphore: nil
> semaIndex: nil
> handlerProc: nil
> descriptor: nil
>
> AioEventHandler class>>forFileStream:exceptions:readEvents:writeEvents:
> Receiver: AioEventHandler
> Arguments and temporary variables:
> aFileStream: BufferedAsyncFileReadStream: 'pipeReader'
> exceptionEventFlag: true
> readEventFlag: true
> writeEventFlag: false
> Receiver's instance variables:
> superclass: Model
> methodDict: a MethodDictionary(#aioDisable:->(AioEventHandler>>#aioDisable:
> "a CompiledMethod...etc...
> format: 65541
> instanceVariables: #('semaphore' 'semaIndex' 'handlerProc' 'descriptor')
> organization: ('aio event forwarding' aioDisable:
> aioEnable:forSemaphore:externalObject:...etc...
> subclasses: nil
> name: #AioEventHandler
> classPool: a Dictionary(#AioPluginPresent->true )
> sharedPools: nil
> environment: Smalltalk
> category: #'OSProcess-AIO'
>
> BufferedAsyncFileReadStream(AsyncFileReadStream)>>enableEventHandling
> Receiver: BufferedAsyncFileReadStream: 'pipeReader'
> Arguments and temporary variables:
>
> Receiver's instance variables:
>
>
> BufferedAsyncFileReadStream(AsyncFileReadStream)>>initialize
> Receiver: BufferedAsyncFileReadStream: 'pipeReader'
> Arguments and temporary variables:
>
> Receiver's instance variables:
>
>
> BufferedAsyncFileReadStream class(AttachableFileStream
> class)>>name:attachTo:writable:
> Receiver: BufferedAsyncFileReadStream
> Arguments and temporary variables:
> aSymbolOrString: 'pipeReader'
> anIOHandle: #[93 179 159 128 0 0 0 0 48 162 123 2 0 0 0 0 0 0 0 0 0 0 0 0]
> readWriteFlag: false
> Receiver's instance variables:
> superclass: AsyncFileReadStream
> methodDict: a
> MethodDictionary(#actAsExecutor->(BufferedAsyncFileReadStream>>#a...etc...
> format: 65552
> instanceVariables: #('nonBlockingMode' 'readBuffer' 'readSyncSemaphore'
> 'dataAv...etc...
> organization: ('finalization' actAsExecutor)
> ('read ahead buffer' appendAllToBuffer:...etc...
> subclasses: nil
> name: #BufferedAsyncFileReadStream
> classPool: nil
> sharedPools: nil
> environment: Smalltalk
> category: #'OSProcess-Base'
>
>
> --- The full stack ---
> AioEventHandler(Object)>>notify:
> [] in AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> BlockClosure>>cull:
> [] in Context>>handleSignal:
> BlockClosure>>ensure:
> Context>>handleSignal:
> Warning(Exception)>>signal
> Warning(Exception)>>signal:
> Warning class>>signal:
> AioEventHandler(Object)>>notify:
> AioEventHandler>>aioEnable:forSemaphore:externalObject:
> [] in AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> BlockClosure>>on:do:
> AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> AioEventHandler>>forFileStream:exceptions:readEvents:writeEvents:
> AioEventHandler class>>forFileStream:exceptions:readEvents:writeEvents:
> BufferedAsyncFileReadStream(AsyncFileReadStream)>>enableEventHandling
> BufferedAsyncFileReadStream(AsyncFileReadStream)>>initialize
> BufferedAsyncFileReadStream class(AttachableFileStream
> class)>>name:attachTo:writable:
>  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> AttachableFileStream>>asBufferedAsyncFileReadStream
> ExternalPipe>>setBufferedReader
> PipeableOSProcess(PipeJunction)>>enableOutputStreamTriggers
> PipeableOSProcess>>enableEventTriggers
> PipeableOSProcess(PipeJunction)>>prepareOutputForInternalReader
> PipeableOSProcess>>prepareOutputForInternalReader
> PipeableOSProcess(PipeJunction)>>prepareOutputFor:
> ProxyPipeline>>fromString:shell:
> ProxyPipeline class>>fromString:shell:
> CommandShell>>pipelineCollectionFrom:
> CommandShell>>evaluateOrMakePipelinesFrom:
> CommandShell>>command:echo:
> [] in CommandShell>>processCommand:echo:
> [] in BlockClosure>>newProcess

Reply | Threaded
Open this post in threaded view
|

Re: Intermittent AttachableFileStream error during 7:36 and 10:36 today

Bob Westergaard
 

Hi Dave,

I'm changing the system time before starting the image.

-- Bob 

On Wed, May 19, 2021 at 2:02 PM David T. Lewis <[hidden email]> wrote:
 
Wos, that's a new one on me. What exactly are you changing on your
computer, are you changing the system time, or changing time zone?

Dave

On Wed, May 19, 2021 at 12:17:58PM -0700, Bob Westergaard wrote:

> Hi,
>
> I have a rather bizarre intermittent failure that I'd see if anyone else
> can reproduce.
>
> I've taken the following:
>
> http://files.squeak.org/5.3/Squeak5.3-19435-64bit/Squeak5.3-19435-64bit-202003021730-Linux.zip
>
> Started it up and loaded the latest system updates and the OSProcess
> package (access OS functions).
>
> I then did:
>
>     CommandShell command: 'date'
>
> This works as I'd expect it too.
>
> However, what is interesting is that if I change the time on the machine to
> any time between 7:36AM and 10:36AM (PDT, I'm in San Jose, CA) for today
> (May 19th) this call fails with the stack below.  I'm quitting the image
> between time changes.
>
> There was no failure for the same time period yesterday.  Nor does it
> appear to fail for any other time period today.
>
> -- Bob
>
> Stack follows:
>
> 19 May 2021 10:30:20.503624 am
>
> VM: unix - Smalltalk
> Image: Squeak5.3 [latest update: #19458]
>
> SecurityManager state:
> Restricted: false
> FileAccess: true
> SocketAccess: true
> Working Dir
> /scratch/bwesterg/squeak/Squeak5.3-19435-64bit-202003021730-Linux/shared
> Trusted Dir
> /scratch/bwesterg/squeak/Squeak5.3-19435-64bit-202003021730-Linux/shared/secure
> Untrusted Dir
> /scratch/bwesterg/squeak/Squeak5.3-19435-64bit-202003021730-Linux/shared/My
> Squeak
>
> AioEventHandler(Object)>>notify:
> Receiver: an AioEventHandler
> Arguments and temporary variables:
> aString: 'aio event forwarding not supported'
> Receiver's instance variables:
> dependents: nil
> semaphore: nil
> semaIndex: nil
> handlerProc: nil
> descriptor: nil
>
> [] in AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> Receiver: an AioEventHandler
> Arguments and temporary variables:
> <<error during printing>
> Receiver's instance variables:
> dependents: nil
> semaphore: nil
> semaIndex: nil
> handlerProc: nil
> descriptor: nil
>
> BlockClosure>>cull:
> Receiver: [closure] in
> AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> Arguments and temporary variables:
> firstArg: Warning: aio event forwarding not supported
> Receiver's instance variables:
> outerContext:
> AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> startpc: 154
> numArgs: 1
>
> [] in Context>>handleSignal:
> Receiver: BlockClosure>>on:do:
> Arguments and temporary variables:
> <<error during printing>
> Receiver's instance variables:
> sender: AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> pc: 32
> stackp: 3
> method: (BlockClosure>>#on:do: "a CompiledMethod(1660548)")
> closureOrNil: nil
> receiver: [closure] in
> AioEventHandler>>initializeForExceptions:readEvents:writeEvents:...etc...
>
> BlockClosure>>ensure:
> Receiver: [closure] in Context>>handleSignal:
> Arguments and temporary variables:
> aBlock: [closure] in Context>>handleSignal:
> complete: nil
> returnValue: nil
> Receiver's instance variables:
> outerContext: Context>>handleSignal:
> startpc: 174
> numArgs: 0
>
> Context>>handleSignal:
> Receiver: BlockClosure>>on:do:
> Arguments and temporary variables:
> exception: Warning: aio event forwarding not supported
> handlerActive: true
> val: nil
> Receiver's instance variables:
> sender: AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> pc: 32
> stackp: 3
> method: (BlockClosure>>#on:do: "a CompiledMethod(1660548)")
> closureOrNil: nil
> receiver: [closure] in
> AioEventHandler>>initializeForExceptions:readEvents:writeEvents:...etc...
>
> Warning(Exception)>>signal
> Receiver: Warning: aio event forwarding not supported
> Arguments and temporary variables:
>
> Receiver's instance variables:
> messageText: 'aio event forwarding not supported'
> tag: nil
> signalContext: Warning(Exception)>>signal
> handlerContext: BlockClosure>>on:do:
> outerContext: nil
>
> Warning(Exception)>>signal:
> Receiver: Warning: aio event forwarding not supported
> Arguments and temporary variables:
> signalerText: 'aio event forwarding not supported'
> Receiver's instance variables:
> messageText: 'aio event forwarding not supported'
> tag: nil
> signalContext: Warning(Exception)>>signal
> handlerContext: BlockClosure>>on:do:
> outerContext: nil
>
> Warning class>>signal:
> Receiver: Warning
> Arguments and temporary variables:
> signalerText: 'aio event forwarding not supported'
> Receiver's instance variables:
> superclass: Notification
> methodDict: a MethodDictionary(#defaultAction->(Warning>>#defaultAction "a
> CompiledMethod...etc...
> format: 65541
> instanceVariables: nil
> organization: ('priv handling' defaultAction)
>
> subclasses: {Deprecation . ServiceCancelled . SAXWarning .
> UndeclaredVariableWarning...etc...
> name: #Warning
> classPool: nil
> sharedPools: nil
> environment: nil
> category: #'Kernel-Exceptions'
> suppressed: false
> resetOnStartUp: false
>
> AioEventHandler(Object)>>notify:
> Receiver: an AioEventHandler
> Arguments and temporary variables:
> aString: 'aio event forwarding not supported'
> Receiver's instance variables:
> dependents: nil
> semaphore: nil
> semaIndex: nil
> handlerProc: nil
> descriptor: nil
>
> AioEventHandler>>aioEnable:forSemaphore:externalObject:
> Receiver: an AioEventHandler
> Arguments and temporary variables:
> ioDescriptor: nil
> semaphoreIndex: 17
> trueOrFalse: true
> Receiver's instance variables:
> dependents: nil
> semaphore: nil
> semaIndex: nil
> handlerProc: nil
> descriptor: nil
>
> [] in AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> Receiver: an AioEventHandler
> Arguments and temporary variables:
> <<error during printing>
> Receiver's instance variables:
> dependents: nil
> semaphore: nil
> semaIndex: nil
> handlerProc: nil
> descriptor: nil
>
> BlockClosure>>on:do:
> Receiver: [closure] in
> AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> Arguments and temporary variables:
> exceptionOrExceptionSet: Warning
> handlerAction: [closure] in
> AioEventHandler>>initializeForExceptions:readEvents:writeEvents:...etc...
> handlerActive: false
> Receiver's instance variables:
> outerContext:
> AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> startpc: 140
> numArgs: 0
>
> AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> Receiver: an AioEventHandler
> Arguments and temporary variables:
> exceptionEventFlag: true
> readEventFlag: true
> writeEventFlag: false
> Receiver's instance variables:
> dependents: nil
> semaphore: nil
> semaIndex: nil
> handlerProc: nil
> descriptor: nil
>
> AioEventHandler>>forFileStream:exceptions:readEvents:writeEvents:
> Receiver: an AioEventHandler
> Arguments and temporary variables:
> aFileStream: BufferedAsyncFileReadStream: 'pipeReader'
> exceptionEventFlag: true
> readEventFlag: true
> writeEventFlag: false
> Receiver's instance variables:
> dependents: nil
> semaphore: nil
> semaIndex: nil
> handlerProc: nil
> descriptor: nil
>
> AioEventHandler class>>forFileStream:exceptions:readEvents:writeEvents:
> Receiver: AioEventHandler
> Arguments and temporary variables:
> aFileStream: BufferedAsyncFileReadStream: 'pipeReader'
> exceptionEventFlag: true
> readEventFlag: true
> writeEventFlag: false
> Receiver's instance variables:
> superclass: Model
> methodDict: a MethodDictionary(#aioDisable:->(AioEventHandler>>#aioDisable:
> "a CompiledMethod...etc...
> format: 65541
> instanceVariables: #('semaphore' 'semaIndex' 'handlerProc' 'descriptor')
> organization: ('aio event forwarding' aioDisable:
> aioEnable:forSemaphore:externalObject:...etc...
> subclasses: nil
> name: #AioEventHandler
> classPool: a Dictionary(#AioPluginPresent->true )
> sharedPools: nil
> environment: Smalltalk
> category: #'OSProcess-AIO'
>
> BufferedAsyncFileReadStream(AsyncFileReadStream)>>enableEventHandling
> Receiver: BufferedAsyncFileReadStream: 'pipeReader'
> Arguments and temporary variables:
>
> Receiver's instance variables:
>
>
> BufferedAsyncFileReadStream(AsyncFileReadStream)>>initialize
> Receiver: BufferedAsyncFileReadStream: 'pipeReader'
> Arguments and temporary variables:
>
> Receiver's instance variables:
>
>
> BufferedAsyncFileReadStream class(AttachableFileStream
> class)>>name:attachTo:writable:
> Receiver: BufferedAsyncFileReadStream
> Arguments and temporary variables:
> aSymbolOrString: 'pipeReader'
> anIOHandle: #[93 179 159 128 0 0 0 0 48 162 123 2 0 0 0 0 0 0 0 0 0 0 0 0]
> readWriteFlag: false
> Receiver's instance variables:
> superclass: AsyncFileReadStream
> methodDict: a
> MethodDictionary(#actAsExecutor->(BufferedAsyncFileReadStream>>#a...etc...
> format: 65552
> instanceVariables: #('nonBlockingMode' 'readBuffer' 'readSyncSemaphore'
> 'dataAv...etc...
> organization: ('finalization' actAsExecutor)
> ('read ahead buffer' appendAllToBuffer:...etc...
> subclasses: nil
> name: #BufferedAsyncFileReadStream
> classPool: nil
> sharedPools: nil
> environment: Smalltalk
> category: #'OSProcess-Base'
>
>
> --- The full stack ---
> AioEventHandler(Object)>>notify:
> [] in AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> BlockClosure>>cull:
> [] in Context>>handleSignal:
> BlockClosure>>ensure:
> Context>>handleSignal:
> Warning(Exception)>>signal
> Warning(Exception)>>signal:
> Warning class>>signal:
> AioEventHandler(Object)>>notify:
> AioEventHandler>>aioEnable:forSemaphore:externalObject:
> [] in AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> BlockClosure>>on:do:
> AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> AioEventHandler>>forFileStream:exceptions:readEvents:writeEvents:
> AioEventHandler class>>forFileStream:exceptions:readEvents:writeEvents:
> BufferedAsyncFileReadStream(AsyncFileReadStream)>>enableEventHandling
> BufferedAsyncFileReadStream(AsyncFileReadStream)>>initialize
> BufferedAsyncFileReadStream class(AttachableFileStream
> class)>>name:attachTo:writable:
>  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> AttachableFileStream>>asBufferedAsyncFileReadStream
> ExternalPipe>>setBufferedReader
> PipeableOSProcess(PipeJunction)>>enableOutputStreamTriggers
> PipeableOSProcess>>enableEventTriggers
> PipeableOSProcess(PipeJunction)>>prepareOutputForInternalReader
> PipeableOSProcess>>prepareOutputForInternalReader
> PipeableOSProcess(PipeJunction)>>prepareOutputFor:
> ProxyPipeline>>fromString:shell:
> ProxyPipeline class>>fromString:shell:
> CommandShell>>pipelineCollectionFrom:
> CommandShell>>evaluateOrMakePipelinesFrom:
> CommandShell>>command:echo:
> [] in CommandShell>>processCommand:echo:
> [] in BlockClosure>>newProcess

Reply | Threaded
Open this post in threaded view
|

Re: Intermittent AttachableFileStream error during 7:36 and 10:36 today

Bob Westergaard
 
I wonder if the file/pipe sessionID comparison with the getThisSessionID() that is failing in a primitive somewhere.    I guess I'll look at how that is created.

-- Bob

On Wed, May 19, 2021 at 2:06 PM Bob Westergaard <[hidden email]> wrote:

Hi Dave,

I'm changing the system time before starting the image.

-- Bob 

On Wed, May 19, 2021 at 2:02 PM David T. Lewis <[hidden email]> wrote:
 
Wos, that's a new one on me. What exactly are you changing on your
computer, are you changing the system time, or changing time zone?

Dave

On Wed, May 19, 2021 at 12:17:58PM -0700, Bob Westergaard wrote:

> Hi,
>
> I have a rather bizarre intermittent failure that I'd see if anyone else
> can reproduce.
>
> I've taken the following:
>
> http://files.squeak.org/5.3/Squeak5.3-19435-64bit/Squeak5.3-19435-64bit-202003021730-Linux.zip
>
> Started it up and loaded the latest system updates and the OSProcess
> package (access OS functions).
>
> I then did:
>
>     CommandShell command: 'date'
>
> This works as I'd expect it too.
>
> However, what is interesting is that if I change the time on the machine to
> any time between 7:36AM and 10:36AM (PDT, I'm in San Jose, CA) for today
> (May 19th) this call fails with the stack below.  I'm quitting the image
> between time changes.
>
> There was no failure for the same time period yesterday.  Nor does it
> appear to fail for any other time period today.
>
> -- Bob
>
> Stack follows:
>
> 19 May 2021 10:30:20.503624 am
>
> VM: unix - Smalltalk
> Image: Squeak5.3 [latest update: #19458]
>
> SecurityManager state:
> Restricted: false
> FileAccess: true
> SocketAccess: true
> Working Dir
> /scratch/bwesterg/squeak/Squeak5.3-19435-64bit-202003021730-Linux/shared
> Trusted Dir
> /scratch/bwesterg/squeak/Squeak5.3-19435-64bit-202003021730-Linux/shared/secure
> Untrusted Dir
> /scratch/bwesterg/squeak/Squeak5.3-19435-64bit-202003021730-Linux/shared/My
> Squeak
>
> AioEventHandler(Object)>>notify:
> Receiver: an AioEventHandler
> Arguments and temporary variables:
> aString: 'aio event forwarding not supported'
> Receiver's instance variables:
> dependents: nil
> semaphore: nil
> semaIndex: nil
> handlerProc: nil
> descriptor: nil
>
> [] in AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> Receiver: an AioEventHandler
> Arguments and temporary variables:
> <<error during printing>
> Receiver's instance variables:
> dependents: nil
> semaphore: nil
> semaIndex: nil
> handlerProc: nil
> descriptor: nil
>
> BlockClosure>>cull:
> Receiver: [closure] in
> AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> Arguments and temporary variables:
> firstArg: Warning: aio event forwarding not supported
> Receiver's instance variables:
> outerContext:
> AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> startpc: 154
> numArgs: 1
>
> [] in Context>>handleSignal:
> Receiver: BlockClosure>>on:do:
> Arguments and temporary variables:
> <<error during printing>
> Receiver's instance variables:
> sender: AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> pc: 32
> stackp: 3
> method: (BlockClosure>>#on:do: "a CompiledMethod(1660548)")
> closureOrNil: nil
> receiver: [closure] in
> AioEventHandler>>initializeForExceptions:readEvents:writeEvents:...etc...
>
> BlockClosure>>ensure:
> Receiver: [closure] in Context>>handleSignal:
> Arguments and temporary variables:
> aBlock: [closure] in Context>>handleSignal:
> complete: nil
> returnValue: nil
> Receiver's instance variables:
> outerContext: Context>>handleSignal:
> startpc: 174
> numArgs: 0
>
> Context>>handleSignal:
> Receiver: BlockClosure>>on:do:
> Arguments and temporary variables:
> exception: Warning: aio event forwarding not supported
> handlerActive: true
> val: nil
> Receiver's instance variables:
> sender: AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> pc: 32
> stackp: 3
> method: (BlockClosure>>#on:do: "a CompiledMethod(1660548)")
> closureOrNil: nil
> receiver: [closure] in
> AioEventHandler>>initializeForExceptions:readEvents:writeEvents:...etc...
>
> Warning(Exception)>>signal
> Receiver: Warning: aio event forwarding not supported
> Arguments and temporary variables:
>
> Receiver's instance variables:
> messageText: 'aio event forwarding not supported'
> tag: nil
> signalContext: Warning(Exception)>>signal
> handlerContext: BlockClosure>>on:do:
> outerContext: nil
>
> Warning(Exception)>>signal:
> Receiver: Warning: aio event forwarding not supported
> Arguments and temporary variables:
> signalerText: 'aio event forwarding not supported'
> Receiver's instance variables:
> messageText: 'aio event forwarding not supported'
> tag: nil
> signalContext: Warning(Exception)>>signal
> handlerContext: BlockClosure>>on:do:
> outerContext: nil
>
> Warning class>>signal:
> Receiver: Warning
> Arguments and temporary variables:
> signalerText: 'aio event forwarding not supported'
> Receiver's instance variables:
> superclass: Notification
> methodDict: a MethodDictionary(#defaultAction->(Warning>>#defaultAction "a
> CompiledMethod...etc...
> format: 65541
> instanceVariables: nil
> organization: ('priv handling' defaultAction)
>
> subclasses: {Deprecation . ServiceCancelled . SAXWarning .
> UndeclaredVariableWarning...etc...
> name: #Warning
> classPool: nil
> sharedPools: nil
> environment: nil
> category: #'Kernel-Exceptions'
> suppressed: false
> resetOnStartUp: false
>
> AioEventHandler(Object)>>notify:
> Receiver: an AioEventHandler
> Arguments and temporary variables:
> aString: 'aio event forwarding not supported'
> Receiver's instance variables:
> dependents: nil
> semaphore: nil
> semaIndex: nil
> handlerProc: nil
> descriptor: nil
>
> AioEventHandler>>aioEnable:forSemaphore:externalObject:
> Receiver: an AioEventHandler
> Arguments and temporary variables:
> ioDescriptor: nil
> semaphoreIndex: 17
> trueOrFalse: true
> Receiver's instance variables:
> dependents: nil
> semaphore: nil
> semaIndex: nil
> handlerProc: nil
> descriptor: nil
>
> [] in AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> Receiver: an AioEventHandler
> Arguments and temporary variables:
> <<error during printing>
> Receiver's instance variables:
> dependents: nil
> semaphore: nil
> semaIndex: nil
> handlerProc: nil
> descriptor: nil
>
> BlockClosure>>on:do:
> Receiver: [closure] in
> AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> Arguments and temporary variables:
> exceptionOrExceptionSet: Warning
> handlerAction: [closure] in
> AioEventHandler>>initializeForExceptions:readEvents:writeEvents:...etc...
> handlerActive: false
> Receiver's instance variables:
> outerContext:
> AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> startpc: 140
> numArgs: 0
>
> AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> Receiver: an AioEventHandler
> Arguments and temporary variables:
> exceptionEventFlag: true
> readEventFlag: true
> writeEventFlag: false
> Receiver's instance variables:
> dependents: nil
> semaphore: nil
> semaIndex: nil
> handlerProc: nil
> descriptor: nil
>
> AioEventHandler>>forFileStream:exceptions:readEvents:writeEvents:
> Receiver: an AioEventHandler
> Arguments and temporary variables:
> aFileStream: BufferedAsyncFileReadStream: 'pipeReader'
> exceptionEventFlag: true
> readEventFlag: true
> writeEventFlag: false
> Receiver's instance variables:
> dependents: nil
> semaphore: nil
> semaIndex: nil
> handlerProc: nil
> descriptor: nil
>
> AioEventHandler class>>forFileStream:exceptions:readEvents:writeEvents:
> Receiver: AioEventHandler
> Arguments and temporary variables:
> aFileStream: BufferedAsyncFileReadStream: 'pipeReader'
> exceptionEventFlag: true
> readEventFlag: true
> writeEventFlag: false
> Receiver's instance variables:
> superclass: Model
> methodDict: a MethodDictionary(#aioDisable:->(AioEventHandler>>#aioDisable:
> "a CompiledMethod...etc...
> format: 65541
> instanceVariables: #('semaphore' 'semaIndex' 'handlerProc' 'descriptor')
> organization: ('aio event forwarding' aioDisable:
> aioEnable:forSemaphore:externalObject:...etc...
> subclasses: nil
> name: #AioEventHandler
> classPool: a Dictionary(#AioPluginPresent->true )
> sharedPools: nil
> environment: Smalltalk
> category: #'OSProcess-AIO'
>
> BufferedAsyncFileReadStream(AsyncFileReadStream)>>enableEventHandling
> Receiver: BufferedAsyncFileReadStream: 'pipeReader'
> Arguments and temporary variables:
>
> Receiver's instance variables:
>
>
> BufferedAsyncFileReadStream(AsyncFileReadStream)>>initialize
> Receiver: BufferedAsyncFileReadStream: 'pipeReader'
> Arguments and temporary variables:
>
> Receiver's instance variables:
>
>
> BufferedAsyncFileReadStream class(AttachableFileStream
> class)>>name:attachTo:writable:
> Receiver: BufferedAsyncFileReadStream
> Arguments and temporary variables:
> aSymbolOrString: 'pipeReader'
> anIOHandle: #[93 179 159 128 0 0 0 0 48 162 123 2 0 0 0 0 0 0 0 0 0 0 0 0]
> readWriteFlag: false
> Receiver's instance variables:
> superclass: AsyncFileReadStream
> methodDict: a
> MethodDictionary(#actAsExecutor->(BufferedAsyncFileReadStream>>#a...etc...
> format: 65552
> instanceVariables: #('nonBlockingMode' 'readBuffer' 'readSyncSemaphore'
> 'dataAv...etc...
> organization: ('finalization' actAsExecutor)
> ('read ahead buffer' appendAllToBuffer:...etc...
> subclasses: nil
> name: #BufferedAsyncFileReadStream
> classPool: nil
> sharedPools: nil
> environment: Smalltalk
> category: #'OSProcess-Base'
>
>
> --- The full stack ---
> AioEventHandler(Object)>>notify:
> [] in AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> BlockClosure>>cull:
> [] in Context>>handleSignal:
> BlockClosure>>ensure:
> Context>>handleSignal:
> Warning(Exception)>>signal
> Warning(Exception)>>signal:
> Warning class>>signal:
> AioEventHandler(Object)>>notify:
> AioEventHandler>>aioEnable:forSemaphore:externalObject:
> [] in AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> BlockClosure>>on:do:
> AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> AioEventHandler>>forFileStream:exceptions:readEvents:writeEvents:
> AioEventHandler class>>forFileStream:exceptions:readEvents:writeEvents:
> BufferedAsyncFileReadStream(AsyncFileReadStream)>>enableEventHandling
> BufferedAsyncFileReadStream(AsyncFileReadStream)>>initialize
> BufferedAsyncFileReadStream class(AttachableFileStream
> class)>>name:attachTo:writable:
>  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> AttachableFileStream>>asBufferedAsyncFileReadStream
> ExternalPipe>>setBufferedReader
> PipeableOSProcess(PipeJunction)>>enableOutputStreamTriggers
> PipeableOSProcess>>enableEventTriggers
> PipeableOSProcess(PipeJunction)>>prepareOutputForInternalReader
> PipeableOSProcess>>prepareOutputForInternalReader
> PipeableOSProcess(PipeJunction)>>prepareOutputFor:
> ProxyPipeline>>fromString:shell:
> ProxyPipeline class>>fromString:shell:
> CommandShell>>pipelineCollectionFrom:
> CommandShell>>evaluateOrMakePipelinesFrom:
> CommandShell>>command:echo:
> [] in CommandShell>>processCommand:echo:
> [] in BlockClosure>>newProcess

Reply | Threaded
Open this post in threaded view
|

Re: Intermittent AttachableFileStream error during 7:36 and 10:36 today

Bob Westergaard
 
I'm pretty sure that is it.  I added some logging code to primitiveTestEndOfFileFlag() and the session ids do not compare.  I see (in a not very recent) VMMaker image that #ioMSecs is used to create the global session id.  Maybe there is some overflow/underflow with the primitive type used for this field?

-- Bob

On Wed, May 19, 2021 at 2:17 PM Bob Westergaard <[hidden email]> wrote:
I wonder if the file/pipe sessionID comparison with the getThisSessionID() that is failing in a primitive somewhere.    I guess I'll look at how that is created.

-- Bob

On Wed, May 19, 2021 at 2:06 PM Bob Westergaard <[hidden email]> wrote:

Hi Dave,

I'm changing the system time before starting the image.

-- Bob 

On Wed, May 19, 2021 at 2:02 PM David T. Lewis <[hidden email]> wrote:
 
Wos, that's a new one on me. What exactly are you changing on your
computer, are you changing the system time, or changing time zone?

Dave

On Wed, May 19, 2021 at 12:17:58PM -0700, Bob Westergaard wrote:

> Hi,
>
> I have a rather bizarre intermittent failure that I'd see if anyone else
> can reproduce.
>
> I've taken the following:
>
> http://files.squeak.org/5.3/Squeak5.3-19435-64bit/Squeak5.3-19435-64bit-202003021730-Linux.zip
>
> Started it up and loaded the latest system updates and the OSProcess
> package (access OS functions).
>
> I then did:
>
>     CommandShell command: 'date'
>
> This works as I'd expect it too.
>
> However, what is interesting is that if I change the time on the machine to
> any time between 7:36AM and 10:36AM (PDT, I'm in San Jose, CA) for today
> (May 19th) this call fails with the stack below.  I'm quitting the image
> between time changes.
>
> There was no failure for the same time period yesterday.  Nor does it
> appear to fail for any other time period today.
>
> -- Bob
>
> Stack follows:
>
> 19 May 2021 10:30:20.503624 am
>
> VM: unix - Smalltalk
> Image: Squeak5.3 [latest update: #19458]
>
> SecurityManager state:
> Restricted: false
> FileAccess: true
> SocketAccess: true
> Working Dir
> /scratch/bwesterg/squeak/Squeak5.3-19435-64bit-202003021730-Linux/shared
> Trusted Dir
> /scratch/bwesterg/squeak/Squeak5.3-19435-64bit-202003021730-Linux/shared/secure
> Untrusted Dir
> /scratch/bwesterg/squeak/Squeak5.3-19435-64bit-202003021730-Linux/shared/My
> Squeak
>
> AioEventHandler(Object)>>notify:
> Receiver: an AioEventHandler
> Arguments and temporary variables:
> aString: 'aio event forwarding not supported'
> Receiver's instance variables:
> dependents: nil
> semaphore: nil
> semaIndex: nil
> handlerProc: nil
> descriptor: nil
>
> [] in AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> Receiver: an AioEventHandler
> Arguments and temporary variables:
> <<error during printing>
> Receiver's instance variables:
> dependents: nil
> semaphore: nil
> semaIndex: nil
> handlerProc: nil
> descriptor: nil
>
> BlockClosure>>cull:
> Receiver: [closure] in
> AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> Arguments and temporary variables:
> firstArg: Warning: aio event forwarding not supported
> Receiver's instance variables:
> outerContext:
> AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> startpc: 154
> numArgs: 1
>
> [] in Context>>handleSignal:
> Receiver: BlockClosure>>on:do:
> Arguments and temporary variables:
> <<error during printing>
> Receiver's instance variables:
> sender: AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> pc: 32
> stackp: 3
> method: (BlockClosure>>#on:do: "a CompiledMethod(1660548)")
> closureOrNil: nil
> receiver: [closure] in
> AioEventHandler>>initializeForExceptions:readEvents:writeEvents:...etc...
>
> BlockClosure>>ensure:
> Receiver: [closure] in Context>>handleSignal:
> Arguments and temporary variables:
> aBlock: [closure] in Context>>handleSignal:
> complete: nil
> returnValue: nil
> Receiver's instance variables:
> outerContext: Context>>handleSignal:
> startpc: 174
> numArgs: 0
>
> Context>>handleSignal:
> Receiver: BlockClosure>>on:do:
> Arguments and temporary variables:
> exception: Warning: aio event forwarding not supported
> handlerActive: true
> val: nil
> Receiver's instance variables:
> sender: AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> pc: 32
> stackp: 3
> method: (BlockClosure>>#on:do: "a CompiledMethod(1660548)")
> closureOrNil: nil
> receiver: [closure] in
> AioEventHandler>>initializeForExceptions:readEvents:writeEvents:...etc...
>
> Warning(Exception)>>signal
> Receiver: Warning: aio event forwarding not supported
> Arguments and temporary variables:
>
> Receiver's instance variables:
> messageText: 'aio event forwarding not supported'
> tag: nil
> signalContext: Warning(Exception)>>signal
> handlerContext: BlockClosure>>on:do:
> outerContext: nil
>
> Warning(Exception)>>signal:
> Receiver: Warning: aio event forwarding not supported
> Arguments and temporary variables:
> signalerText: 'aio event forwarding not supported'
> Receiver's instance variables:
> messageText: 'aio event forwarding not supported'
> tag: nil
> signalContext: Warning(Exception)>>signal
> handlerContext: BlockClosure>>on:do:
> outerContext: nil
>
> Warning class>>signal:
> Receiver: Warning
> Arguments and temporary variables:
> signalerText: 'aio event forwarding not supported'
> Receiver's instance variables:
> superclass: Notification
> methodDict: a MethodDictionary(#defaultAction->(Warning>>#defaultAction "a
> CompiledMethod...etc...
> format: 65541
> instanceVariables: nil
> organization: ('priv handling' defaultAction)
>
> subclasses: {Deprecation . ServiceCancelled . SAXWarning .
> UndeclaredVariableWarning...etc...
> name: #Warning
> classPool: nil
> sharedPools: nil
> environment: nil
> category: #'Kernel-Exceptions'
> suppressed: false
> resetOnStartUp: false
>
> AioEventHandler(Object)>>notify:
> Receiver: an AioEventHandler
> Arguments and temporary variables:
> aString: 'aio event forwarding not supported'
> Receiver's instance variables:
> dependents: nil
> semaphore: nil
> semaIndex: nil
> handlerProc: nil
> descriptor: nil
>
> AioEventHandler>>aioEnable:forSemaphore:externalObject:
> Receiver: an AioEventHandler
> Arguments and temporary variables:
> ioDescriptor: nil
> semaphoreIndex: 17
> trueOrFalse: true
> Receiver's instance variables:
> dependents: nil
> semaphore: nil
> semaIndex: nil
> handlerProc: nil
> descriptor: nil
>
> [] in AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> Receiver: an AioEventHandler
> Arguments and temporary variables:
> <<error during printing>
> Receiver's instance variables:
> dependents: nil
> semaphore: nil
> semaIndex: nil
> handlerProc: nil
> descriptor: nil
>
> BlockClosure>>on:do:
> Receiver: [closure] in
> AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> Arguments and temporary variables:
> exceptionOrExceptionSet: Warning
> handlerAction: [closure] in
> AioEventHandler>>initializeForExceptions:readEvents:writeEvents:...etc...
> handlerActive: false
> Receiver's instance variables:
> outerContext:
> AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> startpc: 140
> numArgs: 0
>
> AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> Receiver: an AioEventHandler
> Arguments and temporary variables:
> exceptionEventFlag: true
> readEventFlag: true
> writeEventFlag: false
> Receiver's instance variables:
> dependents: nil
> semaphore: nil
> semaIndex: nil
> handlerProc: nil
> descriptor: nil
>
> AioEventHandler>>forFileStream:exceptions:readEvents:writeEvents:
> Receiver: an AioEventHandler
> Arguments and temporary variables:
> aFileStream: BufferedAsyncFileReadStream: 'pipeReader'
> exceptionEventFlag: true
> readEventFlag: true
> writeEventFlag: false
> Receiver's instance variables:
> dependents: nil
> semaphore: nil
> semaIndex: nil
> handlerProc: nil
> descriptor: nil
>
> AioEventHandler class>>forFileStream:exceptions:readEvents:writeEvents:
> Receiver: AioEventHandler
> Arguments and temporary variables:
> aFileStream: BufferedAsyncFileReadStream: 'pipeReader'
> exceptionEventFlag: true
> readEventFlag: true
> writeEventFlag: false
> Receiver's instance variables:
> superclass: Model
> methodDict: a MethodDictionary(#aioDisable:->(AioEventHandler>>#aioDisable:
> "a CompiledMethod...etc...
> format: 65541
> instanceVariables: #('semaphore' 'semaIndex' 'handlerProc' 'descriptor')
> organization: ('aio event forwarding' aioDisable:
> aioEnable:forSemaphore:externalObject:...etc...
> subclasses: nil
> name: #AioEventHandler
> classPool: a Dictionary(#AioPluginPresent->true )
> sharedPools: nil
> environment: Smalltalk
> category: #'OSProcess-AIO'
>
> BufferedAsyncFileReadStream(AsyncFileReadStream)>>enableEventHandling
> Receiver: BufferedAsyncFileReadStream: 'pipeReader'
> Arguments and temporary variables:
>
> Receiver's instance variables:
>
>
> BufferedAsyncFileReadStream(AsyncFileReadStream)>>initialize
> Receiver: BufferedAsyncFileReadStream: 'pipeReader'
> Arguments and temporary variables:
>
> Receiver's instance variables:
>
>
> BufferedAsyncFileReadStream class(AttachableFileStream
> class)>>name:attachTo:writable:
> Receiver: BufferedAsyncFileReadStream
> Arguments and temporary variables:
> aSymbolOrString: 'pipeReader'
> anIOHandle: #[93 179 159 128 0 0 0 0 48 162 123 2 0 0 0 0 0 0 0 0 0 0 0 0]
> readWriteFlag: false
> Receiver's instance variables:
> superclass: AsyncFileReadStream
> methodDict: a
> MethodDictionary(#actAsExecutor->(BufferedAsyncFileReadStream>>#a...etc...
> format: 65552
> instanceVariables: #('nonBlockingMode' 'readBuffer' 'readSyncSemaphore'
> 'dataAv...etc...
> organization: ('finalization' actAsExecutor)
> ('read ahead buffer' appendAllToBuffer:...etc...
> subclasses: nil
> name: #BufferedAsyncFileReadStream
> classPool: nil
> sharedPools: nil
> environment: Smalltalk
> category: #'OSProcess-Base'
>
>
> --- The full stack ---
> AioEventHandler(Object)>>notify:
> [] in AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> BlockClosure>>cull:
> [] in Context>>handleSignal:
> BlockClosure>>ensure:
> Context>>handleSignal:
> Warning(Exception)>>signal
> Warning(Exception)>>signal:
> Warning class>>signal:
> AioEventHandler(Object)>>notify:
> AioEventHandler>>aioEnable:forSemaphore:externalObject:
> [] in AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> BlockClosure>>on:do:
> AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> AioEventHandler>>forFileStream:exceptions:readEvents:writeEvents:
> AioEventHandler class>>forFileStream:exceptions:readEvents:writeEvents:
> BufferedAsyncFileReadStream(AsyncFileReadStream)>>enableEventHandling
> BufferedAsyncFileReadStream(AsyncFileReadStream)>>initialize
> BufferedAsyncFileReadStream class(AttachableFileStream
> class)>>name:attachTo:writable:
>  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> AttachableFileStream>>asBufferedAsyncFileReadStream
> ExternalPipe>>setBufferedReader
> PipeableOSProcess(PipeJunction)>>enableOutputStreamTriggers
> PipeableOSProcess>>enableEventTriggers
> PipeableOSProcess(PipeJunction)>>prepareOutputForInternalReader
> PipeableOSProcess>>prepareOutputForInternalReader
> PipeableOSProcess(PipeJunction)>>prepareOutputFor:
> ProxyPipeline>>fromString:shell:
> ProxyPipeline class>>fromString:shell:
> CommandShell>>pipelineCollectionFrom:
> CommandShell>>evaluateOrMakePipelinesFrom:
> CommandShell>>command:echo:
> [] in CommandShell>>processCommand:echo:
> [] in BlockClosure>>newProcess

Reply | Threaded
Open this post in threaded view
|

Re: Intermittent AttachableFileStream error during 7:36 and 10:36 today

Andrei Chis
 
Maybe not related at all, but in a different context we were getting
random failures when redirecting output from os commands to the stdio
depending on the value of #ioMSecs caused by an inconsistency in how
globalSessionID was computed
(https://github.com/pharo-project/opensmalltalk-vm/issues/233)

On Wed, May 19, 2021 at 11:28 PM Bob Westergaard <[hidden email]> wrote:

>
>
> I'm pretty sure that is it.  I added some logging code to primitiveTestEndOfFileFlag() and the session ids do not compare.  I see (in a not very recent) VMMaker image that #ioMSecs is used to create the global session id.  Maybe there is some overflow/underflow with the primitive type used for this field?
>
> -- Bob
>
> On Wed, May 19, 2021 at 2:17 PM Bob Westergaard <[hidden email]> wrote:
>>
>> I wonder if the file/pipe sessionID comparison with the getThisSessionID() that is failing in a primitive somewhere.    I guess I'll look at how that is created.
>>
>> -- Bob
>>
>> On Wed, May 19, 2021 at 2:06 PM Bob Westergaard <[hidden email]> wrote:
>>>
>>>
>>> Hi Dave,
>>>
>>> I'm changing the system time before starting the image.
>>>
>>> -- Bob
>>>
>>> On Wed, May 19, 2021 at 2:02 PM David T. Lewis <[hidden email]> wrote:
>>>>
>>>>
>>>> Wos, that's a new one on me. What exactly are you changing on your
>>>> computer, are you changing the system time, or changing time zone?
>>>>
>>>> Dave
>>>>
>>>> On Wed, May 19, 2021 at 12:17:58PM -0700, Bob Westergaard wrote:
>>>> >
>>>> > Hi,
>>>> >
>>>> > I have a rather bizarre intermittent failure that I'd see if anyone else
>>>> > can reproduce.
>>>> >
>>>> > I've taken the following:
>>>> >
>>>> > http://files.squeak.org/5.3/Squeak5.3-19435-64bit/Squeak5.3-19435-64bit-202003021730-Linux.zip
>>>> >
>>>> > Started it up and loaded the latest system updates and the OSProcess
>>>> > package (access OS functions).
>>>> >
>>>> > I then did:
>>>> >
>>>> >     CommandShell command: 'date'
>>>> >
>>>> > This works as I'd expect it too.
>>>> >
>>>> > However, what is interesting is that if I change the time on the machine to
>>>> > any time between 7:36AM and 10:36AM (PDT, I'm in San Jose, CA) for today
>>>> > (May 19th) this call fails with the stack below.  I'm quitting the image
>>>> > between time changes.
>>>> >
>>>> > There was no failure for the same time period yesterday.  Nor does it
>>>> > appear to fail for any other time period today.
>>>> >
>>>> > -- Bob
>>>> >
>>>> > Stack follows:
>>>> >
>>>> > 19 May 2021 10:30:20.503624 am
>>>> >
>>>> > VM: unix - Smalltalk
>>>> > Image: Squeak5.3 [latest update: #19458]
>>>> >
>>>> > SecurityManager state:
>>>> > Restricted: false
>>>> > FileAccess: true
>>>> > SocketAccess: true
>>>> > Working Dir
>>>> > /scratch/bwesterg/squeak/Squeak5.3-19435-64bit-202003021730-Linux/shared
>>>> > Trusted Dir
>>>> > /scratch/bwesterg/squeak/Squeak5.3-19435-64bit-202003021730-Linux/shared/secure
>>>> > Untrusted Dir
>>>> > /scratch/bwesterg/squeak/Squeak5.3-19435-64bit-202003021730-Linux/shared/My
>>>> > Squeak
>>>> >
>>>> > AioEventHandler(Object)>>notify:
>>>> > Receiver: an AioEventHandler
>>>> > Arguments and temporary variables:
>>>> > aString: 'aio event forwarding not supported'
>>>> > Receiver's instance variables:
>>>> > dependents: nil
>>>> > semaphore: nil
>>>> > semaIndex: nil
>>>> > handlerProc: nil
>>>> > descriptor: nil
>>>> >
>>>> > [] in AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
>>>> > Receiver: an AioEventHandler
>>>> > Arguments and temporary variables:
>>>> > <<error during printing>
>>>> > Receiver's instance variables:
>>>> > dependents: nil
>>>> > semaphore: nil
>>>> > semaIndex: nil
>>>> > handlerProc: nil
>>>> > descriptor: nil
>>>> >
>>>> > BlockClosure>>cull:
>>>> > Receiver: [closure] in
>>>> > AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
>>>> > Arguments and temporary variables:
>>>> > firstArg: Warning: aio event forwarding not supported
>>>> > Receiver's instance variables:
>>>> > outerContext:
>>>> > AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
>>>> > startpc: 154
>>>> > numArgs: 1
>>>> >
>>>> > [] in Context>>handleSignal:
>>>> > Receiver: BlockClosure>>on:do:
>>>> > Arguments and temporary variables:
>>>> > <<error during printing>
>>>> > Receiver's instance variables:
>>>> > sender: AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
>>>> > pc: 32
>>>> > stackp: 3
>>>> > method: (BlockClosure>>#on:do: "a CompiledMethod(1660548)")
>>>> > closureOrNil: nil
>>>> > receiver: [closure] in
>>>> > AioEventHandler>>initializeForExceptions:readEvents:writeEvents:...etc...
>>>> >
>>>> > BlockClosure>>ensure:
>>>> > Receiver: [closure] in Context>>handleSignal:
>>>> > Arguments and temporary variables:
>>>> > aBlock: [closure] in Context>>handleSignal:
>>>> > complete: nil
>>>> > returnValue: nil
>>>> > Receiver's instance variables:
>>>> > outerContext: Context>>handleSignal:
>>>> > startpc: 174
>>>> > numArgs: 0
>>>> >
>>>> > Context>>handleSignal:
>>>> > Receiver: BlockClosure>>on:do:
>>>> > Arguments and temporary variables:
>>>> > exception: Warning: aio event forwarding not supported
>>>> > handlerActive: true
>>>> > val: nil
>>>> > Receiver's instance variables:
>>>> > sender: AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
>>>> > pc: 32
>>>> > stackp: 3
>>>> > method: (BlockClosure>>#on:do: "a CompiledMethod(1660548)")
>>>> > closureOrNil: nil
>>>> > receiver: [closure] in
>>>> > AioEventHandler>>initializeForExceptions:readEvents:writeEvents:...etc...
>>>> >
>>>> > Warning(Exception)>>signal
>>>> > Receiver: Warning: aio event forwarding not supported
>>>> > Arguments and temporary variables:
>>>> >
>>>> > Receiver's instance variables:
>>>> > messageText: 'aio event forwarding not supported'
>>>> > tag: nil
>>>> > signalContext: Warning(Exception)>>signal
>>>> > handlerContext: BlockClosure>>on:do:
>>>> > outerContext: nil
>>>> >
>>>> > Warning(Exception)>>signal:
>>>> > Receiver: Warning: aio event forwarding not supported
>>>> > Arguments and temporary variables:
>>>> > signalerText: 'aio event forwarding not supported'
>>>> > Receiver's instance variables:
>>>> > messageText: 'aio event forwarding not supported'
>>>> > tag: nil
>>>> > signalContext: Warning(Exception)>>signal
>>>> > handlerContext: BlockClosure>>on:do:
>>>> > outerContext: nil
>>>> >
>>>> > Warning class>>signal:
>>>> > Receiver: Warning
>>>> > Arguments and temporary variables:
>>>> > signalerText: 'aio event forwarding not supported'
>>>> > Receiver's instance variables:
>>>> > superclass: Notification
>>>> > methodDict: a MethodDictionary(#defaultAction->(Warning>>#defaultAction "a
>>>> > CompiledMethod...etc...
>>>> > format: 65541
>>>> > instanceVariables: nil
>>>> > organization: ('priv handling' defaultAction)
>>>> >
>>>> > subclasses: {Deprecation . ServiceCancelled . SAXWarning .
>>>> > UndeclaredVariableWarning...etc...
>>>> > name: #Warning
>>>> > classPool: nil
>>>> > sharedPools: nil
>>>> > environment: nil
>>>> > category: #'Kernel-Exceptions'
>>>> > suppressed: false
>>>> > resetOnStartUp: false
>>>> >
>>>> > AioEventHandler(Object)>>notify:
>>>> > Receiver: an AioEventHandler
>>>> > Arguments and temporary variables:
>>>> > aString: 'aio event forwarding not supported'
>>>> > Receiver's instance variables:
>>>> > dependents: nil
>>>> > semaphore: nil
>>>> > semaIndex: nil
>>>> > handlerProc: nil
>>>> > descriptor: nil
>>>> >
>>>> > AioEventHandler>>aioEnable:forSemaphore:externalObject:
>>>> > Receiver: an AioEventHandler
>>>> > Arguments and temporary variables:
>>>> > ioDescriptor: nil
>>>> > semaphoreIndex: 17
>>>> > trueOrFalse: true
>>>> > Receiver's instance variables:
>>>> > dependents: nil
>>>> > semaphore: nil
>>>> > semaIndex: nil
>>>> > handlerProc: nil
>>>> > descriptor: nil
>>>> >
>>>> > [] in AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
>>>> > Receiver: an AioEventHandler
>>>> > Arguments and temporary variables:
>>>> > <<error during printing>
>>>> > Receiver's instance variables:
>>>> > dependents: nil
>>>> > semaphore: nil
>>>> > semaIndex: nil
>>>> > handlerProc: nil
>>>> > descriptor: nil
>>>> >
>>>> > BlockClosure>>on:do:
>>>> > Receiver: [closure] in
>>>> > AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
>>>> > Arguments and temporary variables:
>>>> > exceptionOrExceptionSet: Warning
>>>> > handlerAction: [closure] in
>>>> > AioEventHandler>>initializeForExceptions:readEvents:writeEvents:...etc...
>>>> > handlerActive: false
>>>> > Receiver's instance variables:
>>>> > outerContext:
>>>> > AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
>>>> > startpc: 140
>>>> > numArgs: 0
>>>> >
>>>> > AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
>>>> > Receiver: an AioEventHandler
>>>> > Arguments and temporary variables:
>>>> > exceptionEventFlag: true
>>>> > readEventFlag: true
>>>> > writeEventFlag: false
>>>> > Receiver's instance variables:
>>>> > dependents: nil
>>>> > semaphore: nil
>>>> > semaIndex: nil
>>>> > handlerProc: nil
>>>> > descriptor: nil
>>>> >
>>>> > AioEventHandler>>forFileStream:exceptions:readEvents:writeEvents:
>>>> > Receiver: an AioEventHandler
>>>> > Arguments and temporary variables:
>>>> > aFileStream: BufferedAsyncFileReadStream: 'pipeReader'
>>>> > exceptionEventFlag: true
>>>> > readEventFlag: true
>>>> > writeEventFlag: false
>>>> > Receiver's instance variables:
>>>> > dependents: nil
>>>> > semaphore: nil
>>>> > semaIndex: nil
>>>> > handlerProc: nil
>>>> > descriptor: nil
>>>> >
>>>> > AioEventHandler class>>forFileStream:exceptions:readEvents:writeEvents:
>>>> > Receiver: AioEventHandler
>>>> > Arguments and temporary variables:
>>>> > aFileStream: BufferedAsyncFileReadStream: 'pipeReader'
>>>> > exceptionEventFlag: true
>>>> > readEventFlag: true
>>>> > writeEventFlag: false
>>>> > Receiver's instance variables:
>>>> > superclass: Model
>>>> > methodDict: a MethodDictionary(#aioDisable:->(AioEventHandler>>#aioDisable:
>>>> > "a CompiledMethod...etc...
>>>> > format: 65541
>>>> > instanceVariables: #('semaphore' 'semaIndex' 'handlerProc' 'descriptor')
>>>> > organization: ('aio event forwarding' aioDisable:
>>>> > aioEnable:forSemaphore:externalObject:...etc...
>>>> > subclasses: nil
>>>> > name: #AioEventHandler
>>>> > classPool: a Dictionary(#AioPluginPresent->true )
>>>> > sharedPools: nil
>>>> > environment: Smalltalk
>>>> > category: #'OSProcess-AIO'
>>>> >
>>>> > BufferedAsyncFileReadStream(AsyncFileReadStream)>>enableEventHandling
>>>> > Receiver: BufferedAsyncFileReadStream: 'pipeReader'
>>>> > Arguments and temporary variables:
>>>> >
>>>> > Receiver's instance variables:
>>>> >
>>>> >
>>>> > BufferedAsyncFileReadStream(AsyncFileReadStream)>>initialize
>>>> > Receiver: BufferedAsyncFileReadStream: 'pipeReader'
>>>> > Arguments and temporary variables:
>>>> >
>>>> > Receiver's instance variables:
>>>> >
>>>> >
>>>> > BufferedAsyncFileReadStream class(AttachableFileStream
>>>> > class)>>name:attachTo:writable:
>>>> > Receiver: BufferedAsyncFileReadStream
>>>> > Arguments and temporary variables:
>>>> > aSymbolOrString: 'pipeReader'
>>>> > anIOHandle: #[93 179 159 128 0 0 0 0 48 162 123 2 0 0 0 0 0 0 0 0 0 0 0 0]
>>>> > readWriteFlag: false
>>>> > Receiver's instance variables:
>>>> > superclass: AsyncFileReadStream
>>>> > methodDict: a
>>>> > MethodDictionary(#actAsExecutor->(BufferedAsyncFileReadStream>>#a...etc...
>>>> > format: 65552
>>>> > instanceVariables: #('nonBlockingMode' 'readBuffer' 'readSyncSemaphore'
>>>> > 'dataAv...etc...
>>>> > organization: ('finalization' actAsExecutor)
>>>> > ('read ahead buffer' appendAllToBuffer:...etc...
>>>> > subclasses: nil
>>>> > name: #BufferedAsyncFileReadStream
>>>> > classPool: nil
>>>> > sharedPools: nil
>>>> > environment: Smalltalk
>>>> > category: #'OSProcess-Base'
>>>> >
>>>> >
>>>> > --- The full stack ---
>>>> > AioEventHandler(Object)>>notify:
>>>> > [] in AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
>>>> > BlockClosure>>cull:
>>>> > [] in Context>>handleSignal:
>>>> > BlockClosure>>ensure:
>>>> > Context>>handleSignal:
>>>> > Warning(Exception)>>signal
>>>> > Warning(Exception)>>signal:
>>>> > Warning class>>signal:
>>>> > AioEventHandler(Object)>>notify:
>>>> > AioEventHandler>>aioEnable:forSemaphore:externalObject:
>>>> > [] in AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
>>>> > BlockClosure>>on:do:
>>>> > AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
>>>> > AioEventHandler>>forFileStream:exceptions:readEvents:writeEvents:
>>>> > AioEventHandler class>>forFileStream:exceptions:readEvents:writeEvents:
>>>> > BufferedAsyncFileReadStream(AsyncFileReadStream)>>enableEventHandling
>>>> > BufferedAsyncFileReadStream(AsyncFileReadStream)>>initialize
>>>> > BufferedAsyncFileReadStream class(AttachableFileStream
>>>> > class)>>name:attachTo:writable:
>>>> >  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>>>> > AttachableFileStream>>asBufferedAsyncFileReadStream
>>>> > ExternalPipe>>setBufferedReader
>>>> > PipeableOSProcess(PipeJunction)>>enableOutputStreamTriggers
>>>> > PipeableOSProcess>>enableEventTriggers
>>>> > PipeableOSProcess(PipeJunction)>>prepareOutputForInternalReader
>>>> > PipeableOSProcess>>prepareOutputForInternalReader
>>>> > PipeableOSProcess(PipeJunction)>>prepareOutputFor:
>>>> > ProxyPipeline>>fromString:shell:
>>>> > ProxyPipeline class>>fromString:shell:
>>>> > CommandShell>>pipelineCollectionFrom:
>>>> > CommandShell>>evaluateOrMakePipelinesFrom:
>>>> > CommandShell>>command:echo:
>>>> > [] in CommandShell>>processCommand:echo:
>>>> > [] in BlockClosure>>newProcess
>>>>
Reply | Threaded
Open this post in threaded view
|

Re: Intermittent AttachableFileStream error during 7:36 and 10:36 today

Bob Westergaard
 
HI Andrei,

Yep, this is the same issue.   Glad to hear that someone else has seen it.  

Thanks!
-- Bob

On Thu, May 20, 2021 at 1:53 AM Andrei Chis <[hidden email]> wrote:
 
Maybe not related at all, but in a different context we were getting
random failures when redirecting output from os commands to the stdio
depending on the value of #ioMSecs caused by an inconsistency in how
globalSessionID was computed
(https://github.com/pharo-project/opensmalltalk-vm/issues/233)

On Wed, May 19, 2021 at 11:28 PM Bob Westergaard <[hidden email]> wrote:
>
>
> I'm pretty sure that is it.  I added some logging code to primitiveTestEndOfFileFlag() and the session ids do not compare.  I see (in a not very recent) VMMaker image that #ioMSecs is used to create the global session id.  Maybe there is some overflow/underflow with the primitive type used for this field?
>
> -- Bob
>
> On Wed, May 19, 2021 at 2:17 PM Bob Westergaard <[hidden email]> wrote:
>>
>> I wonder if the file/pipe sessionID comparison with the getThisSessionID() that is failing in a primitive somewhere.    I guess I'll look at how that is created.
>>
>> -- Bob
>>
>> On Wed, May 19, 2021 at 2:06 PM Bob Westergaard <[hidden email]> wrote:
>>>
>>>
>>> Hi Dave,
>>>
>>> I'm changing the system time before starting the image.
>>>
>>> -- Bob
>>>
>>> On Wed, May 19, 2021 at 2:02 PM David T. Lewis <[hidden email]> wrote:
>>>>
>>>>
>>>> Wos, that's a new one on me. What exactly are you changing on your
>>>> computer, are you changing the system time, or changing time zone?
>>>>
>>>> Dave
>>>>
>>>> On Wed, May 19, 2021 at 12:17:58PM -0700, Bob Westergaard wrote:
>>>> >
>>>> > Hi,
>>>> >
>>>> > I have a rather bizarre intermittent failure that I'd see if anyone else
>>>> > can reproduce.
>>>> >
>>>> > I've taken the following:
>>>> >
>>>> > http://files.squeak.org/5.3/Squeak5.3-19435-64bit/Squeak5.3-19435-64bit-202003021730-Linux.zip
>>>> >
>>>> > Started it up and loaded the latest system updates and the OSProcess
>>>> > package (access OS functions).
>>>> >
>>>> > I then did:
>>>> >
>>>> >     CommandShell command: 'date'
>>>> >
>>>> > This works as I'd expect it too.
>>>> >
>>>> > However, what is interesting is that if I change the time on the machine to
>>>> > any time between 7:36AM and 10:36AM (PDT, I'm in San Jose, CA) for today
>>>> > (May 19th) this call fails with the stack below.  I'm quitting the image
>>>> > between time changes.
>>>> >
>>>> > There was no failure for the same time period yesterday.  Nor does it
>>>> > appear to fail for any other time period today.
>>>> >
>>>> > -- Bob
>>>> >
>>>> > Stack follows:
>>>> >
>>>> > 19 May 2021 10:30:20.503624 am
>>>> >
>>>> > VM: unix - Smalltalk
>>>> > Image: Squeak5.3 [latest update: #19458]
>>>> >
>>>> > SecurityManager state:
>>>> > Restricted: false
>>>> > FileAccess: true
>>>> > SocketAccess: true
>>>> > Working Dir
>>>> > /scratch/bwesterg/squeak/Squeak5.3-19435-64bit-202003021730-Linux/shared
>>>> > Trusted Dir
>>>> > /scratch/bwesterg/squeak/Squeak5.3-19435-64bit-202003021730-Linux/shared/secure
>>>> > Untrusted Dir
>>>> > /scratch/bwesterg/squeak/Squeak5.3-19435-64bit-202003021730-Linux/shared/My
>>>> > Squeak
>>>> >
>>>> > AioEventHandler(Object)>>notify:
>>>> > Receiver: an AioEventHandler
>>>> > Arguments and temporary variables:
>>>> > aString: 'aio event forwarding not supported'
>>>> > Receiver's instance variables:
>>>> > dependents: nil
>>>> > semaphore: nil
>>>> > semaIndex: nil
>>>> > handlerProc: nil
>>>> > descriptor: nil
>>>> >
>>>> > [] in AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
>>>> > Receiver: an AioEventHandler
>>>> > Arguments and temporary variables:
>>>> > <<error during printing>
>>>> > Receiver's instance variables:
>>>> > dependents: nil
>>>> > semaphore: nil
>>>> > semaIndex: nil
>>>> > handlerProc: nil
>>>> > descriptor: nil
>>>> >
>>>> > BlockClosure>>cull:
>>>> > Receiver: [closure] in
>>>> > AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
>>>> > Arguments and temporary variables:
>>>> > firstArg: Warning: aio event forwarding not supported
>>>> > Receiver's instance variables:
>>>> > outerContext:
>>>> > AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
>>>> > startpc: 154
>>>> > numArgs: 1
>>>> >
>>>> > [] in Context>>handleSignal:
>>>> > Receiver: BlockClosure>>on:do:
>>>> > Arguments and temporary variables:
>>>> > <<error during printing>
>>>> > Receiver's instance variables:
>>>> > sender: AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
>>>> > pc: 32
>>>> > stackp: 3
>>>> > method: (BlockClosure>>#on:do: "a CompiledMethod(1660548)")
>>>> > closureOrNil: nil
>>>> > receiver: [closure] in
>>>> > AioEventHandler>>initializeForExceptions:readEvents:writeEvents:...etc...
>>>> >
>>>> > BlockClosure>>ensure:
>>>> > Receiver: [closure] in Context>>handleSignal:
>>>> > Arguments and temporary variables:
>>>> > aBlock: [closure] in Context>>handleSignal:
>>>> > complete: nil
>>>> > returnValue: nil
>>>> > Receiver's instance variables:
>>>> > outerContext: Context>>handleSignal:
>>>> > startpc: 174
>>>> > numArgs: 0
>>>> >
>>>> > Context>>handleSignal:
>>>> > Receiver: BlockClosure>>on:do:
>>>> > Arguments and temporary variables:
>>>> > exception: Warning: aio event forwarding not supported
>>>> > handlerActive: true
>>>> > val: nil
>>>> > Receiver's instance variables:
>>>> > sender: AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
>>>> > pc: 32
>>>> > stackp: 3
>>>> > method: (BlockClosure>>#on:do: "a CompiledMethod(1660548)")
>>>> > closureOrNil: nil
>>>> > receiver: [closure] in
>>>> > AioEventHandler>>initializeForExceptions:readEvents:writeEvents:...etc...
>>>> >
>>>> > Warning(Exception)>>signal
>>>> > Receiver: Warning: aio event forwarding not supported
>>>> > Arguments and temporary variables:
>>>> >
>>>> > Receiver's instance variables:
>>>> > messageText: 'aio event forwarding not supported'
>>>> > tag: nil
>>>> > signalContext: Warning(Exception)>>signal
>>>> > handlerContext: BlockClosure>>on:do:
>>>> > outerContext: nil
>>>> >
>>>> > Warning(Exception)>>signal:
>>>> > Receiver: Warning: aio event forwarding not supported
>>>> > Arguments and temporary variables:
>>>> > signalerText: 'aio event forwarding not supported'
>>>> > Receiver's instance variables:
>>>> > messageText: 'aio event forwarding not supported'
>>>> > tag: nil
>>>> > signalContext: Warning(Exception)>>signal
>>>> > handlerContext: BlockClosure>>on:do:
>>>> > outerContext: nil
>>>> >
>>>> > Warning class>>signal:
>>>> > Receiver: Warning
>>>> > Arguments and temporary variables:
>>>> > signalerText: 'aio event forwarding not supported'
>>>> > Receiver's instance variables:
>>>> > superclass: Notification
>>>> > methodDict: a MethodDictionary(#defaultAction->(Warning>>#defaultAction "a
>>>> > CompiledMethod...etc...
>>>> > format: 65541
>>>> > instanceVariables: nil
>>>> > organization: ('priv handling' defaultAction)
>>>> >
>>>> > subclasses: {Deprecation . ServiceCancelled . SAXWarning .
>>>> > UndeclaredVariableWarning...etc...
>>>> > name: #Warning
>>>> > classPool: nil
>>>> > sharedPools: nil
>>>> > environment: nil
>>>> > category: #'Kernel-Exceptions'
>>>> > suppressed: false
>>>> > resetOnStartUp: false
>>>> >
>>>> > AioEventHandler(Object)>>notify:
>>>> > Receiver: an AioEventHandler
>>>> > Arguments and temporary variables:
>>>> > aString: 'aio event forwarding not supported'
>>>> > Receiver's instance variables:
>>>> > dependents: nil
>>>> > semaphore: nil
>>>> > semaIndex: nil
>>>> > handlerProc: nil
>>>> > descriptor: nil
>>>> >
>>>> > AioEventHandler>>aioEnable:forSemaphore:externalObject:
>>>> > Receiver: an AioEventHandler
>>>> > Arguments and temporary variables:
>>>> > ioDescriptor: nil
>>>> > semaphoreIndex: 17
>>>> > trueOrFalse: true
>>>> > Receiver's instance variables:
>>>> > dependents: nil
>>>> > semaphore: nil
>>>> > semaIndex: nil
>>>> > handlerProc: nil
>>>> > descriptor: nil
>>>> >
>>>> > [] in AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
>>>> > Receiver: an AioEventHandler
>>>> > Arguments and temporary variables:
>>>> > <<error during printing>
>>>> > Receiver's instance variables:
>>>> > dependents: nil
>>>> > semaphore: nil
>>>> > semaIndex: nil
>>>> > handlerProc: nil
>>>> > descriptor: nil
>>>> >
>>>> > BlockClosure>>on:do:
>>>> > Receiver: [closure] in
>>>> > AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
>>>> > Arguments and temporary variables:
>>>> > exceptionOrExceptionSet: Warning
>>>> > handlerAction: [closure] in
>>>> > AioEventHandler>>initializeForExceptions:readEvents:writeEvents:...etc...
>>>> > handlerActive: false
>>>> > Receiver's instance variables:
>>>> > outerContext:
>>>> > AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
>>>> > startpc: 140
>>>> > numArgs: 0
>>>> >
>>>> > AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
>>>> > Receiver: an AioEventHandler
>>>> > Arguments and temporary variables:
>>>> > exceptionEventFlag: true
>>>> > readEventFlag: true
>>>> > writeEventFlag: false
>>>> > Receiver's instance variables:
>>>> > dependents: nil
>>>> > semaphore: nil
>>>> > semaIndex: nil
>>>> > handlerProc: nil
>>>> > descriptor: nil
>>>> >
>>>> > AioEventHandler>>forFileStream:exceptions:readEvents:writeEvents:
>>>> > Receiver: an AioEventHandler
>>>> > Arguments and temporary variables:
>>>> > aFileStream: BufferedAsyncFileReadStream: 'pipeReader'
>>>> > exceptionEventFlag: true
>>>> > readEventFlag: true
>>>> > writeEventFlag: false
>>>> > Receiver's instance variables:
>>>> > dependents: nil
>>>> > semaphore: nil
>>>> > semaIndex: nil
>>>> > handlerProc: nil
>>>> > descriptor: nil
>>>> >
>>>> > AioEventHandler class>>forFileStream:exceptions:readEvents:writeEvents:
>>>> > Receiver: AioEventHandler
>>>> > Arguments and temporary variables:
>>>> > aFileStream: BufferedAsyncFileReadStream: 'pipeReader'
>>>> > exceptionEventFlag: true
>>>> > readEventFlag: true
>>>> > writeEventFlag: false
>>>> > Receiver's instance variables:
>>>> > superclass: Model
>>>> > methodDict: a MethodDictionary(#aioDisable:->(AioEventHandler>>#aioDisable:
>>>> > "a CompiledMethod...etc...
>>>> > format: 65541
>>>> > instanceVariables: #('semaphore' 'semaIndex' 'handlerProc' 'descriptor')
>>>> > organization: ('aio event forwarding' aioDisable:
>>>> > aioEnable:forSemaphore:externalObject:...etc...
>>>> > subclasses: nil
>>>> > name: #AioEventHandler
>>>> > classPool: a Dictionary(#AioPluginPresent->true )
>>>> > sharedPools: nil
>>>> > environment: Smalltalk
>>>> > category: #'OSProcess-AIO'
>>>> >
>>>> > BufferedAsyncFileReadStream(AsyncFileReadStream)>>enableEventHandling
>>>> > Receiver: BufferedAsyncFileReadStream: 'pipeReader'
>>>> > Arguments and temporary variables:
>>>> >
>>>> > Receiver's instance variables:
>>>> >
>>>> >
>>>> > BufferedAsyncFileReadStream(AsyncFileReadStream)>>initialize
>>>> > Receiver: BufferedAsyncFileReadStream: 'pipeReader'
>>>> > Arguments and temporary variables:
>>>> >
>>>> > Receiver's instance variables:
>>>> >
>>>> >
>>>> > BufferedAsyncFileReadStream class(AttachableFileStream
>>>> > class)>>name:attachTo:writable:
>>>> > Receiver: BufferedAsyncFileReadStream
>>>> > Arguments and temporary variables:
>>>> > aSymbolOrString: 'pipeReader'
>>>> > anIOHandle: #[93 179 159 128 0 0 0 0 48 162 123 2 0 0 0 0 0 0 0 0 0 0 0 0]
>>>> > readWriteFlag: false
>>>> > Receiver's instance variables:
>>>> > superclass: AsyncFileReadStream
>>>> > methodDict: a
>>>> > MethodDictionary(#actAsExecutor->(BufferedAsyncFileReadStream>>#a...etc...
>>>> > format: 65552
>>>> > instanceVariables: #('nonBlockingMode' 'readBuffer' 'readSyncSemaphore'
>>>> > 'dataAv...etc...
>>>> > organization: ('finalization' actAsExecutor)
>>>> > ('read ahead buffer' appendAllToBuffer:...etc...
>>>> > subclasses: nil
>>>> > name: #BufferedAsyncFileReadStream
>>>> > classPool: nil
>>>> > sharedPools: nil
>>>> > environment: Smalltalk
>>>> > category: #'OSProcess-Base'
>>>> >
>>>> >
>>>> > --- The full stack ---
>>>> > AioEventHandler(Object)>>notify:
>>>> > [] in AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
>>>> > BlockClosure>>cull:
>>>> > [] in Context>>handleSignal:
>>>> > BlockClosure>>ensure:
>>>> > Context>>handleSignal:
>>>> > Warning(Exception)>>signal
>>>> > Warning(Exception)>>signal:
>>>> > Warning class>>signal:
>>>> > AioEventHandler(Object)>>notify:
>>>> > AioEventHandler>>aioEnable:forSemaphore:externalObject:
>>>> > [] in AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
>>>> > BlockClosure>>on:do:
>>>> > AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
>>>> > AioEventHandler>>forFileStream:exceptions:readEvents:writeEvents:
>>>> > AioEventHandler class>>forFileStream:exceptions:readEvents:writeEvents:
>>>> > BufferedAsyncFileReadStream(AsyncFileReadStream)>>enableEventHandling
>>>> > BufferedAsyncFileReadStream(AsyncFileReadStream)>>initialize
>>>> > BufferedAsyncFileReadStream class(AttachableFileStream
>>>> > class)>>name:attachTo:writable:
>>>> >  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>>>> > AttachableFileStream>>asBufferedAsyncFileReadStream
>>>> > ExternalPipe>>setBufferedReader
>>>> > PipeableOSProcess(PipeJunction)>>enableOutputStreamTriggers
>>>> > PipeableOSProcess>>enableEventTriggers
>>>> > PipeableOSProcess(PipeJunction)>>prepareOutputForInternalReader
>>>> > PipeableOSProcess>>prepareOutputForInternalReader
>>>> > PipeableOSProcess(PipeJunction)>>prepareOutputFor:
>>>> > ProxyPipeline>>fromString:shell:
>>>> > ProxyPipeline class>>fromString:shell:
>>>> > CommandShell>>pipelineCollectionFrom:
>>>> > CommandShell>>evaluateOrMakePipelinesFrom:
>>>> > CommandShell>>command:echo:
>>>> > [] in CommandShell>>processCommand:echo:
>>>> > [] in BlockClosure>>newProcess
>>>>
Reply | Threaded
Open this post in threaded view
|

Re: Intermittent AttachableFileStream error during 7:36 and 10:36 today

David T. Lewis
In reply to this post by Andrei Chis
 
I agree with the assessment of Alistair Grant in
https://github.com/pharo-project/opensmalltalk-vm/issues/233

"Option 3. Modify globalSessionID so that it never uses more than 31 bits"

Yes this seems safest and best to me.

Dave


On Thu, May 20, 2021 at 10:53:35AM +0200, Andrei Chis wrote:

>  
> Maybe not related at all, but in a different context we were getting
> random failures when redirecting output from os commands to the stdio
> depending on the value of #ioMSecs caused by an inconsistency in how
> globalSessionID was computed
> (https://github.com/pharo-project/opensmalltalk-vm/issues/233)
>
> On Wed, May 19, 2021 at 11:28 PM Bob Westergaard <[hidden email]> wrote:
> >
> >
> > I'm pretty sure that is it.  I added some logging code to primitiveTestEndOfFileFlag() and the session ids do not compare.  I see (in a not very recent) VMMaker image that #ioMSecs is used to create the global session id.  Maybe there is some overflow/underflow with the primitive type used for this field?
> >
> > -- Bob
> >
> > On Wed, May 19, 2021 at 2:17 PM Bob Westergaard <[hidden email]> wrote:
> >>
> >> I wonder if the file/pipe sessionID comparison with the getThisSessionID() that is failing in a primitive somewhere.    I guess I'll look at how that is created.
> >>
> >> -- Bob
> >>
> >> On Wed, May 19, 2021 at 2:06 PM Bob Westergaard <[hidden email]> wrote:
> >>>
> >>>
> >>> Hi Dave,
> >>>
> >>> I'm changing the system time before starting the image.
> >>>
> >>> -- Bob
> >>>
> >>> On Wed, May 19, 2021 at 2:02 PM David T. Lewis <[hidden email]> wrote:
> >>>>
> >>>>
> >>>> Wos, that's a new one on me. What exactly are you changing on your
> >>>> computer, are you changing the system time, or changing time zone?
> >>>>
> >>>> Dave
> >>>>
> >>>> On Wed, May 19, 2021 at 12:17:58PM -0700, Bob Westergaard wrote:
> >>>> >
> >>>> > Hi,
> >>>> >
> >>>> > I have a rather bizarre intermittent failure that I'd see if anyone else
> >>>> > can reproduce.
> >>>> >
> >>>> > I've taken the following:
> >>>> >
> >>>> > http://files.squeak.org/5.3/Squeak5.3-19435-64bit/Squeak5.3-19435-64bit-202003021730-Linux.zip
> >>>> >
> >>>> > Started it up and loaded the latest system updates and the OSProcess
> >>>> > package (access OS functions).
> >>>> >
> >>>> > I then did:
> >>>> >
> >>>> >     CommandShell command: 'date'
> >>>> >
> >>>> > This works as I'd expect it too.
> >>>> >
> >>>> > However, what is interesting is that if I change the time on the machine to
> >>>> > any time between 7:36AM and 10:36AM (PDT, I'm in San Jose, CA) for today
> >>>> > (May 19th) this call fails with the stack below.  I'm quitting the image
> >>>> > between time changes.
> >>>> >
> >>>> > There was no failure for the same time period yesterday.  Nor does it
> >>>> > appear to fail for any other time period today.
> >>>> >
> >>>> > -- Bob
> >>>> >
> >>>> > Stack follows:
> >>>> >
> >>>> > 19 May 2021 10:30:20.503624 am
> >>>> >
> >>>> > VM: unix - Smalltalk
> >>>> > Image: Squeak5.3 [latest update: #19458]
> >>>> >
> >>>> > SecurityManager state:
> >>>> > Restricted: false
> >>>> > FileAccess: true
> >>>> > SocketAccess: true
> >>>> > Working Dir
> >>>> > /scratch/bwesterg/squeak/Squeak5.3-19435-64bit-202003021730-Linux/shared
> >>>> > Trusted Dir
> >>>> > /scratch/bwesterg/squeak/Squeak5.3-19435-64bit-202003021730-Linux/shared/secure
> >>>> > Untrusted Dir
> >>>> > /scratch/bwesterg/squeak/Squeak5.3-19435-64bit-202003021730-Linux/shared/My
> >>>> > Squeak
> >>>> >
> >>>> > AioEventHandler(Object)>>notify:
> >>>> > Receiver: an AioEventHandler
> >>>> > Arguments and temporary variables:
> >>>> > aString: 'aio event forwarding not supported'
> >>>> > Receiver's instance variables:
> >>>> > dependents: nil
> >>>> > semaphore: nil
> >>>> > semaIndex: nil
> >>>> > handlerProc: nil
> >>>> > descriptor: nil
> >>>> >
> >>>> > [] in AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> >>>> > Receiver: an AioEventHandler
> >>>> > Arguments and temporary variables:
> >>>> > <<error during printing>
> >>>> > Receiver's instance variables:
> >>>> > dependents: nil
> >>>> > semaphore: nil
> >>>> > semaIndex: nil
> >>>> > handlerProc: nil
> >>>> > descriptor: nil
> >>>> >
> >>>> > BlockClosure>>cull:
> >>>> > Receiver: [closure] in
> >>>> > AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> >>>> > Arguments and temporary variables:
> >>>> > firstArg: Warning: aio event forwarding not supported
> >>>> > Receiver's instance variables:
> >>>> > outerContext:
> >>>> > AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> >>>> > startpc: 154
> >>>> > numArgs: 1
> >>>> >
> >>>> > [] in Context>>handleSignal:
> >>>> > Receiver: BlockClosure>>on:do:
> >>>> > Arguments and temporary variables:
> >>>> > <<error during printing>
> >>>> > Receiver's instance variables:
> >>>> > sender: AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> >>>> > pc: 32
> >>>> > stackp: 3
> >>>> > method: (BlockClosure>>#on:do: "a CompiledMethod(1660548)")
> >>>> > closureOrNil: nil
> >>>> > receiver: [closure] in
> >>>> > AioEventHandler>>initializeForExceptions:readEvents:writeEvents:...etc...
> >>>> >
> >>>> > BlockClosure>>ensure:
> >>>> > Receiver: [closure] in Context>>handleSignal:
> >>>> > Arguments and temporary variables:
> >>>> > aBlock: [closure] in Context>>handleSignal:
> >>>> > complete: nil
> >>>> > returnValue: nil
> >>>> > Receiver's instance variables:
> >>>> > outerContext: Context>>handleSignal:
> >>>> > startpc: 174
> >>>> > numArgs: 0
> >>>> >
> >>>> > Context>>handleSignal:
> >>>> > Receiver: BlockClosure>>on:do:
> >>>> > Arguments and temporary variables:
> >>>> > exception: Warning: aio event forwarding not supported
> >>>> > handlerActive: true
> >>>> > val: nil
> >>>> > Receiver's instance variables:
> >>>> > sender: AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> >>>> > pc: 32
> >>>> > stackp: 3
> >>>> > method: (BlockClosure>>#on:do: "a CompiledMethod(1660548)")
> >>>> > closureOrNil: nil
> >>>> > receiver: [closure] in
> >>>> > AioEventHandler>>initializeForExceptions:readEvents:writeEvents:...etc...
> >>>> >
> >>>> > Warning(Exception)>>signal
> >>>> > Receiver: Warning: aio event forwarding not supported
> >>>> > Arguments and temporary variables:
> >>>> >
> >>>> > Receiver's instance variables:
> >>>> > messageText: 'aio event forwarding not supported'
> >>>> > tag: nil
> >>>> > signalContext: Warning(Exception)>>signal
> >>>> > handlerContext: BlockClosure>>on:do:
> >>>> > outerContext: nil
> >>>> >
> >>>> > Warning(Exception)>>signal:
> >>>> > Receiver: Warning: aio event forwarding not supported
> >>>> > Arguments and temporary variables:
> >>>> > signalerText: 'aio event forwarding not supported'
> >>>> > Receiver's instance variables:
> >>>> > messageText: 'aio event forwarding not supported'
> >>>> > tag: nil
> >>>> > signalContext: Warning(Exception)>>signal
> >>>> > handlerContext: BlockClosure>>on:do:
> >>>> > outerContext: nil
> >>>> >
> >>>> > Warning class>>signal:
> >>>> > Receiver: Warning
> >>>> > Arguments and temporary variables:
> >>>> > signalerText: 'aio event forwarding not supported'
> >>>> > Receiver's instance variables:
> >>>> > superclass: Notification
> >>>> > methodDict: a MethodDictionary(#defaultAction->(Warning>>#defaultAction "a
> >>>> > CompiledMethod...etc...
> >>>> > format: 65541
> >>>> > instanceVariables: nil
> >>>> > organization: ('priv handling' defaultAction)
> >>>> >
> >>>> > subclasses: {Deprecation . ServiceCancelled . SAXWarning .
> >>>> > UndeclaredVariableWarning...etc...
> >>>> > name: #Warning
> >>>> > classPool: nil
> >>>> > sharedPools: nil
> >>>> > environment: nil
> >>>> > category: #'Kernel-Exceptions'
> >>>> > suppressed: false
> >>>> > resetOnStartUp: false
> >>>> >
> >>>> > AioEventHandler(Object)>>notify:
> >>>> > Receiver: an AioEventHandler
> >>>> > Arguments and temporary variables:
> >>>> > aString: 'aio event forwarding not supported'
> >>>> > Receiver's instance variables:
> >>>> > dependents: nil
> >>>> > semaphore: nil
> >>>> > semaIndex: nil
> >>>> > handlerProc: nil
> >>>> > descriptor: nil
> >>>> >
> >>>> > AioEventHandler>>aioEnable:forSemaphore:externalObject:
> >>>> > Receiver: an AioEventHandler
> >>>> > Arguments and temporary variables:
> >>>> > ioDescriptor: nil
> >>>> > semaphoreIndex: 17
> >>>> > trueOrFalse: true
> >>>> > Receiver's instance variables:
> >>>> > dependents: nil
> >>>> > semaphore: nil
> >>>> > semaIndex: nil
> >>>> > handlerProc: nil
> >>>> > descriptor: nil
> >>>> >
> >>>> > [] in AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> >>>> > Receiver: an AioEventHandler
> >>>> > Arguments and temporary variables:
> >>>> > <<error during printing>
> >>>> > Receiver's instance variables:
> >>>> > dependents: nil
> >>>> > semaphore: nil
> >>>> > semaIndex: nil
> >>>> > handlerProc: nil
> >>>> > descriptor: nil
> >>>> >
> >>>> > BlockClosure>>on:do:
> >>>> > Receiver: [closure] in
> >>>> > AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> >>>> > Arguments and temporary variables:
> >>>> > exceptionOrExceptionSet: Warning
> >>>> > handlerAction: [closure] in
> >>>> > AioEventHandler>>initializeForExceptions:readEvents:writeEvents:...etc...
> >>>> > handlerActive: false
> >>>> > Receiver's instance variables:
> >>>> > outerContext:
> >>>> > AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> >>>> > startpc: 140
> >>>> > numArgs: 0
> >>>> >
> >>>> > AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> >>>> > Receiver: an AioEventHandler
> >>>> > Arguments and temporary variables:
> >>>> > exceptionEventFlag: true
> >>>> > readEventFlag: true
> >>>> > writeEventFlag: false
> >>>> > Receiver's instance variables:
> >>>> > dependents: nil
> >>>> > semaphore: nil
> >>>> > semaIndex: nil
> >>>> > handlerProc: nil
> >>>> > descriptor: nil
> >>>> >
> >>>> > AioEventHandler>>forFileStream:exceptions:readEvents:writeEvents:
> >>>> > Receiver: an AioEventHandler
> >>>> > Arguments and temporary variables:
> >>>> > aFileStream: BufferedAsyncFileReadStream: 'pipeReader'
> >>>> > exceptionEventFlag: true
> >>>> > readEventFlag: true
> >>>> > writeEventFlag: false
> >>>> > Receiver's instance variables:
> >>>> > dependents: nil
> >>>> > semaphore: nil
> >>>> > semaIndex: nil
> >>>> > handlerProc: nil
> >>>> > descriptor: nil
> >>>> >
> >>>> > AioEventHandler class>>forFileStream:exceptions:readEvents:writeEvents:
> >>>> > Receiver: AioEventHandler
> >>>> > Arguments and temporary variables:
> >>>> > aFileStream: BufferedAsyncFileReadStream: 'pipeReader'
> >>>> > exceptionEventFlag: true
> >>>> > readEventFlag: true
> >>>> > writeEventFlag: false
> >>>> > Receiver's instance variables:
> >>>> > superclass: Model
> >>>> > methodDict: a MethodDictionary(#aioDisable:->(AioEventHandler>>#aioDisable:
> >>>> > "a CompiledMethod...etc...
> >>>> > format: 65541
> >>>> > instanceVariables: #('semaphore' 'semaIndex' 'handlerProc' 'descriptor')
> >>>> > organization: ('aio event forwarding' aioDisable:
> >>>> > aioEnable:forSemaphore:externalObject:...etc...
> >>>> > subclasses: nil
> >>>> > name: #AioEventHandler
> >>>> > classPool: a Dictionary(#AioPluginPresent->true )
> >>>> > sharedPools: nil
> >>>> > environment: Smalltalk
> >>>> > category: #'OSProcess-AIO'
> >>>> >
> >>>> > BufferedAsyncFileReadStream(AsyncFileReadStream)>>enableEventHandling
> >>>> > Receiver: BufferedAsyncFileReadStream: 'pipeReader'
> >>>> > Arguments and temporary variables:
> >>>> >
> >>>> > Receiver's instance variables:
> >>>> >
> >>>> >
> >>>> > BufferedAsyncFileReadStream(AsyncFileReadStream)>>initialize
> >>>> > Receiver: BufferedAsyncFileReadStream: 'pipeReader'
> >>>> > Arguments and temporary variables:
> >>>> >
> >>>> > Receiver's instance variables:
> >>>> >
> >>>> >
> >>>> > BufferedAsyncFileReadStream class(AttachableFileStream
> >>>> > class)>>name:attachTo:writable:
> >>>> > Receiver: BufferedAsyncFileReadStream
> >>>> > Arguments and temporary variables:
> >>>> > aSymbolOrString: 'pipeReader'
> >>>> > anIOHandle: #[93 179 159 128 0 0 0 0 48 162 123 2 0 0 0 0 0 0 0 0 0 0 0 0]
> >>>> > readWriteFlag: false
> >>>> > Receiver's instance variables:
> >>>> > superclass: AsyncFileReadStream
> >>>> > methodDict: a
> >>>> > MethodDictionary(#actAsExecutor->(BufferedAsyncFileReadStream>>#a...etc...
> >>>> > format: 65552
> >>>> > instanceVariables: #('nonBlockingMode' 'readBuffer' 'readSyncSemaphore'
> >>>> > 'dataAv...etc...
> >>>> > organization: ('finalization' actAsExecutor)
> >>>> > ('read ahead buffer' appendAllToBuffer:...etc...
> >>>> > subclasses: nil
> >>>> > name: #BufferedAsyncFileReadStream
> >>>> > classPool: nil
> >>>> > sharedPools: nil
> >>>> > environment: Smalltalk
> >>>> > category: #'OSProcess-Base'
> >>>> >
> >>>> >
> >>>> > --- The full stack ---
> >>>> > AioEventHandler(Object)>>notify:
> >>>> > [] in AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> >>>> > BlockClosure>>cull:
> >>>> > [] in Context>>handleSignal:
> >>>> > BlockClosure>>ensure:
> >>>> > Context>>handleSignal:
> >>>> > Warning(Exception)>>signal
> >>>> > Warning(Exception)>>signal:
> >>>> > Warning class>>signal:
> >>>> > AioEventHandler(Object)>>notify:
> >>>> > AioEventHandler>>aioEnable:forSemaphore:externalObject:
> >>>> > [] in AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> >>>> > BlockClosure>>on:do:
> >>>> > AioEventHandler>>initializeForExceptions:readEvents:writeEvents:
> >>>> > AioEventHandler>>forFileStream:exceptions:readEvents:writeEvents:
> >>>> > AioEventHandler class>>forFileStream:exceptions:readEvents:writeEvents:
> >>>> > BufferedAsyncFileReadStream(AsyncFileReadStream)>>enableEventHandling
> >>>> > BufferedAsyncFileReadStream(AsyncFileReadStream)>>initialize
> >>>> > BufferedAsyncFileReadStream class(AttachableFileStream
> >>>> > class)>>name:attachTo:writable:
> >>>> >  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> >>>> > AttachableFileStream>>asBufferedAsyncFileReadStream
> >>>> > ExternalPipe>>setBufferedReader
> >>>> > PipeableOSProcess(PipeJunction)>>enableOutputStreamTriggers
> >>>> > PipeableOSProcess>>enableEventTriggers
> >>>> > PipeableOSProcess(PipeJunction)>>prepareOutputForInternalReader
> >>>> > PipeableOSProcess>>prepareOutputForInternalReader
> >>>> > PipeableOSProcess(PipeJunction)>>prepareOutputFor:
> >>>> > ProxyPipeline>>fromString:shell:
> >>>> > ProxyPipeline class>>fromString:shell:
> >>>> > CommandShell>>pipelineCollectionFrom:
> >>>> > CommandShell>>evaluateOrMakePipelinesFrom:
> >>>> > CommandShell>>command:echo:
> >>>> > [] in CommandShell>>processCommand:echo:
> >>>> > [] in BlockClosure>>newProcess
> >>>>