whenever I use the ibmst.icx, the image without VA Base and VA Assist Pro, to load Seaside, then Seaside does not work. An exception occurs in #WAResponse -> #application, caused by #WAObject -> #requestContext, where #WACurrentRequestContext class ->#value is nil.
What is missing in the image ibmst.icx, that crashes Seaside? Is it a missing initialisation or method? I couldn't detect the difference.
Stack trace is appended.
Kind regards
Klaus
- Code: Select all
Debugger Stack Trace Report:
Error String: 'UndefinedObject does not understand application'
Resumable: false
Process
Name: Dispatch worker: 12365
Process State: suspended
Priority: 3
Executing in: WAResponse(WAObject)>>#application
System Configuration Dump
Copyright:
VA Smalltalk V8.0 BETA1; Image: 8.0
VM Timestamp: 4.0,(NC) 11/5/2008 (76)
(C) Copyright Instantiations 1994, 2008. All rights reserved.
(C) Copyright International Business Machines Corp. 1994, 2006. All rights reserved.
Time: 22:42:21
Date: 19.02.2009
Platform:
Virtual machine: ES
Bytecode version: 4.0
Manager version: 4.00
'OS' subsystem: 'WIN32s'
'CLIM' subsystem: 'ES'
'CP' subsystem: 'WIN32s'
'CLDT' subsystem: 'ES'
'CFS' subsystem: 'WIN32s'
'SCI' subsystem: 'WIN'
'CW' subsystem: 'WIN32s'
'CPM' subsystem: 'ES'
'CG' subsystem: 'WIN32s'
'CPIC' subsystem: 'WIN32s'
Current user: Library Supervisor
Connected Library:
Pathname: C:\Programme\Instantiations\VA Smalltalk\8.0\manager\mgr80.dat
INFO: Trapped error dumping system configuration.
=============<STACK TRACE BEGINS>============
[] in <optimized block>(ExceptionalEvent class)>>#initializeSystemExceptions
signal=Signal on Exception: (ExError) An error has occurred.
Signal>>#evaluate:
self=Signal on Exception: (ExError) An error has occurred.
aBlock=[] in ExceptionalEvent class>>#initializeSystemExceptions
ExceptionalEvent>>#applyDefaultHandler:
self=Exception: (ExError) An error has occurred.
aSignal=Signal on Exception: (ExError) An error has occurred.
exception=Exception: (ExError) An error has occurred.
ExceptionalEvent>>#signalFor:
self=Exception: (ExError) An error has occurred.
aSignalOrExceptionSelector=Signal on Exception: (ExError) An error has occurred.
handler=nil
ExceptionalEvent>>#signalWithArguments:
self=Exception: (ExError) An error has occurred.
arguments=('UndefinedObject does not understand application')
ExceptionalEvent>>#signalWith:
self=Exception: (ExError) An error has occurred.
arg1='UndefinedObject does not understand application'
UndefinedObject(Object)>>#error:
self=nil
aString='UndefinedObject does not understand application'
MessageNotUnderstood>>#defaultAction
self=Signal on Exception: (ExMessageNotUnderstood) An exception has occurred
[] in <optimized block>(Exception class)>>#newExceptionalEvent
signal=Signal on Exception: (ExMessageNotUnderstood) An exception has occurred
MessageNotUnderstood(Exception)>>#evaluate:
self=Signal on Exception: (ExMessageNotUnderstood) An exception has occurred
aBlock=[] in Exception class>>#newExceptionalEvent
ExceptionalEvent>>#applyDefaultHandler:
self=Exception: (ExMessageNotUnderstood) An exception has occurred
aSignal=Signal on Exception: (ExMessageNotUnderstood) An exception has occurred
exception=Exception: (ExMessageNotUnderstood) An exception has occurred
MessageNotUnderstood(Signal)>>#handlesByDefault
self=Signal on Exception: (ExMessageNotUnderstood) An exception has occurred
[] in BlockContextTemplate(Block)>>#when:do:exitWith:retryReturn:
self=[] in SstHttpInvokerServlet>>#service:
exception=Exception: (ExSstHttpRequestError) A servlet request error has occurred.
handlerBlock=[] in SstHttpInvokerServlet>>#service:
exitBlock=[] in Block>>#when:do:
knownResult=an Object
retryBlock=[] in Block>>#when:do:exitWith:retryReturn:
handler=[] in Block>>#when:do:exitWith:retryReturn:
oldHandler=nil
signal=Signal on Exception: (ExMessageNotUnderstood) An exception has occurred
[] in BlockContextTemplate(Block)>>#when:do:exitWith:retryReturn:
self=[] in WAResponse>>#initialize
exception=Exception: (ExWARequestContextNotFound) An exception has occurred
handlerBlock=[] in WAResponse>>#initialize
exitBlock=[] in Block>>#when:do:
knownResult=an Object
retryBlock=[] in Block>>#when:do:exitWith:retryReturn:
handler=[] in Block>>#when:do:exitWith:retryReturn:
oldHandler=[] in Block>>#when:do:exitWith:retryReturn:
signal=Signal on Exception: (ExMessageNotUnderstood) An exception has occurred
ExceptionalEvent>>#signalFor:
self=Exception: (ExMessageNotUnderstood) An exception has occurred
aSignalOrExceptionSelector=Signal on Exception: (ExMessageNotUnderstood) An exception has occurred
handler=[] in Block>>#when:do:exitWith:retryReturn:
MessageNotUnderstood(Exception)>>#signal
self=Signal on Exception: (ExMessageNotUnderstood) An exception has occurred
MessageNotUnderstood class(Exception class)>>#signalWith:
self=MessageNotUnderstood
signallerTag=(nil Message (#application, ()))
UndefinedObject(Object)>>#doesNotUnderstand:
self=nil
aMessage=Message (#application, ())
WAResponse(WAObject)>>#application
self=a WAResponse 200
[] in WAResponse>>#initialize
self=a WAResponse 200
BlockContextTemplate(Block)>>#valueWithErrorHandler:oldHandler:onReturnDo:
self=[] in WAResponse>>#initialize
handler=[] in Block>>#when:do:exitWith:retryReturn:
oldHandler=[] in Block>>#when:do:exitWith:retryReturn:
completionBlock=[]
BlockContextTemplate(Block)>>#when:do:exitWith:retryReturn:
self=[] in WAResponse>>#initialize
exception=Exception: (ExWARequestContextNotFound) An exception has occurred
handlerBlock=[] in WAResponse>>#initialize
exitBlock=[] in Block>>#when:do:
knownResult=an Object
retryBlock=[] in Block>>#when:do:exitWith:retryReturn:
handler=[] in Block>>#when:do:exitWith:retryReturn:
oldHandler=[] in Block>>#when:do:exitWith:retryReturn:
BlockContextTemplate(Block)>>#when:do:
self=[] in WAResponse>>#initialize
exception=Exception: (ExWARequestContextNotFound) An exception has occurred
handlerBlock=[] in WAResponse>>#initialize
knownResult=an Object
result=nil
WARequestContextNotFound class(Exception class)>>#handle:do:
self=WARequestContextNotFound
protectedBlock=[] in WAResponse>>#initialize
handlerBlock=[] in WAResponse>>#initialize
BlockContextTemplate(Block)>>#on:do:
self=[] in WAResponse>>#initialize
selector=WARequestContextNotFound
action=[] in WAResponse>>#initialize
WAResponse>>#initialize
self=a WAResponse 200
application=nil
WAResponse class(WAObject class)>>#new
self=WAResponse
WAResponse class>>#document:
self=WAResponse
anObject=a WAMimeDocument
document=a WAMimeDocument
WAResponse class>>#document:mimeType:
self=WAResponse
anObject='.window {
border: 1px solid #aaa;
}
.window .window-titlebar {
color: #444;
padding: 5px;
overflow: hidden;
background-color: #eee;
border-bottom: 1px solid #aaa;
font: 10pt Verdana, Arial, Helvetica, sans-serif;
}
.window .window-titlebar .window-title {
float: left;
font-weight: bold;
padding-left: 20px;
}
.window .window-titlebar .window-close {
float: right;
}
.window .window-titlebar .window-close a {
color: #444;
text-decoration: none;
}
.window .window-titlebar .window-close a:hover {
color: #111;
}
.window .window-content {
clear: both;
padding: 2px;
}'
aMimeType=a WAMimeType(text/css)
WAStandardFiles(WALibrary)>>#documentAt:ifAbsent:
self=a WAStandardFiles
aFilename='window.css'
aBlock=[] in WAFileHandler>>#responseForContext:
selector=#windowCss
WAStandardFiles class(WALibrary class)>>#documentAt:ifAbsent:
self=WAStandardFiles
aFilename='window.css'
aBlock=[] in WAFileHandler>>#responseForContext:
[] in WAFileHandler>>#responseAt:ifForbidden:ifAbsent:
self=a WAFileHandler named: 'files'
aPath=OrderedCollection('WAStandardFiles' 'window.css' )
forbiddenBlock=[] in WAFileHandler>>#responseForContext:
absentBlock=[] in WAFileHandler>>#responseForContext:
libraryClass=WAStandardFiles
True>>#ifTrue:ifFalse:
self=true
trueAlternativeBlock=[] in WAFileHandler>>#responseAt:ifForbidden:ifAbsent:
falseAlternativeBlock=[] in WAFileHandler>>#responseForContext:
WAFileHandler>>#responseAt:ifForbidden:ifAbsent:
self=a WAFileHandler named: 'files'
aPath=OrderedCollection('WAStandardFiles' 'window.css' )
forbiddenBlock=[] in WAFileHandler>>#responseForContext:
absentBlock=[] in WAFileHandler>>#responseForContext:
libraryClass=WAStandardFiles
WAFileHandler>>#responseForContext:
self=a WAFileHandler named: 'files'
aRequestContext=a WARequestContext
path=OrderedCollection('WAStandardFiles' 'window.css' )
baseUrl=/seaside/files
requestUrl=/seaside/files/WAStandardFiles/window.css
[] in WAFileHandler(WARequestHandler)>>#handleRequest:
self=a WAFileHandler named: 'files'
aRequestContext=a WARequestContext
WARequestContext>>#push:while:
self=a WARequestContext
aRequestHandler=a WAFileHandler named: 'files'
aBlock=[] in WARequestHandler>>#handleRequest:
WAFileHandler(WARequestHandler)>>#handleRequest:
self=a WAFileHandler named: 'files'
aRequestContext=a WARequestContext
WADispatcher>>#responseForContext:
self=a WADispatcher named: 'seaside'
aRequestContext=a WARequestContext
[] in WADispatcher(WARequestHandler)>>#handleRequest:
self=a WADispatcher named: 'seaside'
aRequestContext=a WARequestContext
WARequestContext>>#push:while:
self=a WARequestContext
aRequestHandler=a WADispatcher named: 'seaside'
aBlock=[] in WARequestHandler>>#handleRequest:
WADispatcher(WARequestHandler)>>#handleRequest:
self=a WADispatcher named: 'seaside'
aRequestContext=a WARequestContext
SstSeasideServlet>>#doGet:
self=a SstSeasideServlet
message=a SstHttpServletRequest
request=a WARequest GET /seaside/files/WAStandardFiles/window.css
response=nil
sstResponseContents=nil
[] in SstSeasideServlet(SstHttpServlet)>>#service:
self=a SstSeasideServlet
message=a SstHttpServletRequest
selector=#doGet:
LookupTable>>#at:ifPresent:
self=LookupTable(#doOptions: #doHead: #doDelete: #doGet: #doPost: #doPut: #doTrace: )
aKey='GET'
aBlock=[] in SstHttpServlet>>#service:
hashIndex=14
element='GET'
elementsSize=22
index=14
SstSeasideServlet(SstHttpServlet)>>#service:
self=a SstSeasideServlet
message=a SstHttpServletRequest
SstHttpInvokerServlet>>#basicService:
self=a SstHttpInvokerServlet
request=a SstHttpServletRequest
servlet=a SstSeasideServlet
[] in SstHttpInvokerServlet>>#service:
self=a SstHttpInvokerServlet
request=a SstHttpServletRequest
BlockContextTemplate(Block)>>#valueWithErrorHandler:oldHandler:onReturnDo:
self=[] in SstHttpInvokerServlet>>#service:
handler=[] in Block>>#when:do:exitWith:retryReturn:
oldHandler=nil
completionBlock=[]
BlockContextTemplate(Block)>>#when:do:exitWith:retryReturn:
self=[] in SstHttpInvokerServlet>>#service:
exception=Exception: (ExSstHttpRequestError) A servlet request error has occurred.
handlerBlock=[] in SstHttpInvokerServlet>>#service:
exitBlock=[] in Block>>#when:do:
knownResult=an Object
retryBlock=[] in Block>>#when:do:exitWith:retryReturn:
handler=[] in Block>>#when:do:exitWith:retryReturn:
oldHandler=nil
BlockContextTemplate(Block)>>#when:do:
self=[] in SstHttpInvokerServlet>>#service:
exception=Exception: (ExSstHttpRequestError) A servlet request error has occurred.
handlerBlock=[] in SstHttpInvokerServlet>>#service:
knownResult=an Object
result=nil
SstHttpInvokerServlet>>#service:
self=a SstHttpInvokerServlet
request=a SstHttpServletRequest
SstSeasideServletEngine(SstHttpServletEngine)>>#basicProcessRequest:
self=a SstSeasideServletEngine
servletRequest=a SstHttpServletRequest
responseContent=nil
responseMessage=false
SstSeasideServletEngine(SstBasicServer)>>#processClientRequest:
self=a SstSeasideServletEngine
request=a SstHttpServletRequest
context=a SstServletContext
sessionManager=a SstWAS40SessionManager
result=nil
SstSeasideServletEngine(SstHttpServer)>>#processClientRequest:
self=a SstSeasideServletEngine
request=a SstHttpServletRequest
response=nil
SstSeasideServletEngine(SstHttpServletEngine)>>#processClientRequest:
self=a SstSeasideServletEngine
request=a SstByteMessage
SstSeasideServletEngine(SstBasicServer)>>#processRequest:
self=a SstSeasideServletEngine
request=a SstByteMessage
SstRequest(DirectedMessage)>>#send
self=SstRequest (a SstSeasideServletEngine, #processRequest:, (a SstByteMessage))
[] in SstPooledDispatcher(SstDispatcher)>>#basicExecuteRequest:
self=a SstPooledDispatcher
request=SstRequest (a SstSeasideServletEngine, #processRequest:, (a SstByteMessage))
sstTag=#SstTag:Execute
savedRequest=nil
oldErrorHandler=nil
SstPooledDispatcher(SstDispatcher)>>#basicExecuteRequest:
self=a SstPooledDispatcher
request=SstRequest (a SstSeasideServletEngine, #processRequest:, (a SstByteMessage))
sstTag=#SstTag:Execute
savedRequest=nil
oldErrorHandler=nil
SstPooledDispatcher(SstDispatcher)>>#dispatchRequest:
self=a SstPooledDispatcher
request=SstRequest (a SstSeasideServletEngine, #processRequest:, (a SstByteMessage))
result=SstInvocationHandler(http://localhost:8788/)
[] in SstPooledDispatcher>>#dispatchRequest:
self=a SstPooledDispatcher
request=SstRequest (a SstSeasideServletEngine, #processRequest:, (a SstByteMessage))
[] in SstWorkerManager>>#blockFor:forWorker:
self=a SstWorkerManager
workBlock=[] in SstPooledDispatcher>>#dispatchRequest:
worker=SstWorker(Dispatch worker: 12365; occupied)
[] in SstWorker>>#workBlock
self=SstWorker(Dispatch worker: 12365; occupied)
current=[] in SstWorkerManager>>#blockFor:forWorker:
[] in Process>>#executeBlock:withArguments:
self=Process:Dispatch worker: 12365{suspended,3}
aBlock=[] in SstWorker>>#workBlock
args=()
Process>>#executeBlock:withArguments:
self=Process:Dispatch worker: 12365{suspended,3}
aBlock=[] in SstWorker>>#workBlock
args=()
Process>>#newProcessOn:stackSize:withArguments:named:
self=Process:Dispatch worker: 12365{suspended,3}
aBlock=[] in SstWorker>>#workBlock
stackSize=1024
args=()
procName='12365'
==============<STACK TRACE ENDS>=============