I loaded SLICE-Issue-5290 onto a freshly unzipped Pharo-1.4-14341 +
cogwin_r2522.zip
This caused a problem with the debugger as follows. In workspace I
execute...
self halt.
x := 1.
y := 2.
z := x+y.
I click the second line of the stack "UndefinedObject>>DoIt" which now
shows "halt" highlighted.
I click <Into> and " := 1" is now highlighted.
I click <Into> again and nothing happens. There is no further response
from any of the debugger buttons, although <Full Stack> causes the
window to flash once.
I can temporarily fix this misbehaviour by forcing #isPostMortem to
always return false.
Camillo Bruni wrote:
you can try to load
SLICE-Issue-5290-Cleanup-Startup-Error-Handling-CamilloBruni.2
from the pharoInbox which will significantly improve the error responses during
startup.
best
cami
On 2012-02-18, at 00:19, Ben Coman wrote:
When using the following StartupLoader script
StartupLoader default executeAtomicItems: {
StartupAction name: 'Shared Package Cache' code: [ MCCacheRepository
default directory setPathName: 'C:\Apps\Smalltalk\!Shared-Package-Cache'.].
}.
I was getting a "syntax error in startup" that I could not identify (is it
obvious to others?)
This was due to the debugger not opening at the point of error since
SmalltalkImage>>executeDeferredStartupActions catches the errors. So I hacked
this as follows...
deferredStartupActions do: [:each |
[ each cull: resuming ] value.
"btcdebug
on: Halt
do: [ :err|
Smalltalk
logError: '==== Startup Error: ', err description
inContext: err signalerContext.
errors add: err]"].
and then after a quit and restart the dialog "Syntax error: Unmatched string
quote" appeared with...
StartupLoader default executeAtomicItems: {
StartupAction name: 'Shared Package Cache' code: [ MCCacheRepository default
directory setPathName: _Unmatched string quote_ -> 'C:\Apps\Smalltalk\
So after removing "!" from the folder name the syntax error went away.
So now a few questions...
1. Is there a simpler way to debug the startup scripts that I have missed?
If not, can a StartupLoader>>test or similar be implemented which runs the same
as at image start time but without the error catching in
executeDeferredStartupActions, rather than needing to hack
executeDeferredStartupActions as I did.
2. Is it reasonable to set a shared package cache in the startup like I have?
Or are there some obvious problems with this that I don't see?
I would like to avoid downloading all packages every time unzip a fresh image
for testing.
3. Is the invalid "!" fixable (though of course I've worked around it)?
I'll open any required bug entries. This was with Pharo-14333 /
cogwin_r2522.zip / Windows 7.
cheers, -ben