Open labordep opened 6 months ago
I will try to rebuild the image from scratch to confirm with this script:
EpMonitor disableDuring: [
Author useAuthor: 'Load' during: [
Metacello new
baseline: 'WodenCoreExamples';
repository: 'github://desromech/woden-core-examples';
onConflictUseIncoming;
load
]
]
I have the problem at the first launch. Very strange :/ I will try to display the exception behind the last one.
Same problem when I'm trying to run the editor without the example.
When I'm viewing the example I haven't any textures (I suppose). So probably the first exception is a file not found exception, but very difficult to have it because of freezing. Look:
I succeed to have more informations using the debugguer from play level method.
The stack:
MessageNotUnderstood(Exception)>>raiseUnhandledError
MessageNotUnderstood(Exception)>>defaultAction
MessageNotUnderstood>>defaultAction
UndefinedObject>>handleSignal:
Context>>handleSignal:
MessageNotUnderstood(Exception)>>pass
[ :e |
self abortRecording.
e pass
] in WDAGPUSceneRendererActiveFrameRenderer>>recordAndFlushCommandsOn:queue:with: in Block: [ :e |...
FullBlockClosure(BlockClosure)>>cull:
Context>>evaluateSignal:
Context>>handleSignal:
MessageNotUnderstood(Exception)>>signal
SystemDictionary(Object)>>doesNotUnderstand: #modificationCount
WDAGPUSceneRendererResourceCache>>validTextureHandleFor:
WDAGPUSceneRendererResourceCache>>validTextureViewHandleFor:
[
| handle |
handle := renderer resourceCache validTextureViewHandleFor: aWDTexture.
activeResources add: handle.
handle
] in WDAGPUSceneRendererActiveFrameRenderer>>validTextureViewHandleFor:fallbackTextureWith: in Block: [...
[self at: key put: aBlock value] in Dictionary>>at:ifAbsentPut: in Block: [self at: key put: aBlock value]
Dictionary>>at:ifAbsent:
Dictionary>>at:ifAbsentPut:
WDAGPUSceneRendererActiveFrameRenderer>>validTextureViewHandleFor:fallbackTextureWith:
[
| binding |
binding := renderer resourceCache rendererShaderSignature allocateMaterialState.
binding
writeState: material with: WDAGPUEnvironmentMapMaterialUniformBufferWriter;
bindSampledTextureView: (self validTextureViewHandleFor: material colorTexture fallbackTextureWith: [renderer resourceCache whiteTexture2D]) inSlot: 1.
activeSlabResource add: binding.
binding
] in WDAGPUSceneRendererActiveFrameRenderer>>emitEnvironmentMapMaterialActivationCommands: in Block: [ ...
[self at: key put: aBlock value] in Dictionary>>at:ifAbsentPut: in Block: [self at: key put: aBlock value]
Dictionary>>at:ifAbsent:
Dictionary>>at:ifAbsentPut:
WDAGPUSceneRendererActiveFrameRenderer>>emitEnvironmentMapMaterialActivationCommands:
WDEnvironmentMapMaterial>>emitActivationCommandsOn:
WDAGPUSceneRendererActiveFrameRenderer>>activateMaterial:withVertexBinding:primitiveTopology:
WDAGPUSceneRendererActiveFrameRenderer>>emitRenderingCommandsForMeshPrimitive:
WDMeshPrimitive>>emitRenderingCommandsWithRenderer:
WDAGPUSceneRendererActiveFrameRenderer>>recordCommandsForRenderable:
WDAGPUSceneRendererActiveFrameRenderer>>recordCommandsForRenderingObject:
[ :each |
self recordCommandsForRenderingObject: each
] in [ :eachCameraLayer |
eachCameraLayer backgroundObjects isEmpty ifFalse: [
self bindCameraState: (self convertedCameraState: eachCameraLayer cameraState framebufferExtent: framebufferExtent).
eachCameraLayer backgroundObjects do: [ :each |
self recordCommandsForRenderingObject: each
]
].
] in WDAGPUSceneRendererActiveFrameRenderer>>recordCommandsForRenderingBackgroundObjectsInScene:framebufferExtent: in Block: [ :each |...
OrderedCollection>>do:
[ :eachCameraLayer |
eachCameraLayer backgroundObjects isEmpty ifFalse: [
self bindCameraState: (self convertedCameraState: eachCameraLayer cameraState framebufferExtent: framebufferExtent).
eachCameraLayer backgroundObjects do: [ :each |
self recordCommandsForRenderingObject: each
]
].
] in WDAGPUSceneRendererActiveFrameRenderer>>recordCommandsForRenderingBackgroundObjectsInScene:framebufferExtent: in Block: [ :eachCameraLayer |...
Array(SequenceableCollection)>>do:
WDAGPUSceneRendererActiveFrameRenderer>>recordCommandsForRenderingBackgroundObjectsInScene:framebufferExtent:
WDAGPUSceneRendererActiveFrameRenderer>>recordRenderingCommandsFor:intoFramebuffer:
[ :frame |
frame
recordRenderingCommandsFor: renderingSceneState intoFramebuffer: framebuffer;
renderOverlayFormSceneGraph: overlaySceneGraph intoFramebuffer: framebuffer
] in WDAGPUSceneRenderer>>renderSceneState:overlay:intoFramebuffer: in Block: [ :frame |...
FullBlockClosure(BlockClosure)>>cull:
[
aBlock cull: self.
stateTracker endRecordingAndFlushCommands
] in WDAGPUSceneRendererActiveFrameRenderer>>recordAndFlushCommandsOn:queue:with: in Block: [...
FullBlockClosure(BlockClosure)>>on:do:
WDAGPUSceneRendererActiveFrameRenderer>>recordAndFlushCommandsOn:queue:with:
WDAGPUSceneRenderer>>renderSceneState:overlay:intoFramebuffer:
WDGFWorldOSWindow(WDAbstractRenderingSceneStateOSWindow)>>doRender
[
self doRender.
] in WDGFWorldOSWindow(WDAbstractRenderingSceneStateOSWindow)>>render in Block: [ ...
[
caught := true.
self wait.
blockValue := mutuallyExcludedBlock value
] in Semaphore>>critical: in Block: [...
FullBlockClosure(BlockClosure)>>ensure:
Semaphore>>critical:
WDGFWorldOSWindow(WDAbstractRenderingSceneStateOSWindow)>>render
WDGFWorldOSWindow(WDAbstractRenderingSceneStateOSWindow)>>exposed
WDGFWorldOSWindowEventHandler(WDAbstractRenderingSceneStateOSWindowEventHandler)>>visitWindowExposeEvent:
OSWindowExposeEvent>>accept:
WDGFWorldOSWindowEventHandler(OSWindowEventVisitor)>>handleEvent:
OSWindow>>deliverEvent:
OSWindowExposeEvent(OSEvent)>>deliver
OSSDL2BackendWindow>>visitWindowEvent:
SDL_WindowEvent>>accept:
OSSDL2BackendWindow>>handleNewSDLEvent:
OSSDL2Driver>>dispatchEvent:
OSSDLPasteEventFilter>>dispatchEvent:
[
mappedEvent := sdlEvent mapped.
self evaluateUserInterrupt: mappedEvent.
self eventFilter dispatchEvent: mappedEvent
] in OSSDL2Driver>>processEvent: in Block: [...
FullBlockClosure(BlockClosure)>>on:do:
OSSDL2Driver>>processEvent:
OSSDL2Driver>>eventLoopProcessWithoutPlugin
[ self eventLoopProcessWithoutPlugin ] in OSSDL2Driver>>setupEventLoop in Block: [ self eventLoopProcessWithoutPlugin ]
[self value.
"IMPORTANT: Do not step over next line of code. See method comments for details"
Processor terminateRealActive] in FullBlockClosure(BlockClosure)>>newProcess in Block: [self value....
I'm trying to debug step by step. At this point this is Ok:
When I click on Run this is ok and the view is working. Very strange!!
When I retry to open "classicaly" this is not working :/
To reproduce :
No easy to have more infos because the image is freezing :/
My config: