|
Some checks are pending
Headless portability / portable-headless (ubuntu-latest) (push) Waiting to run
Headless portability / portable-headless (windows-latest) (push) Waiting to run
Headless portability / linux-graphical (push) Waiting to run
Headless portability / linux-vulkan (push) Waiting to run
The reveal hang (three live occurrences: portal-space, login twice) was an unhandled OverflowException on the render frame's readiness evaluation: EnsureRenderDataReady found a packed 64-bit EnvCell geometry id OWNED but DESCRIPTOR-LESS — the release path removes the descriptor while render data parks on the LRU, IncrementRefCount restores ownership on a revisit, and the scheduler's PrepareEnvCellGeomMeshDataAsync has not yet re-registered — and fell through to the Setup/GfxObj arm, whose checked((uint)id) cast threw. After that the reveal was never evaluated again. The fix corrects the TYPE DISPATCH rather than suppressing anything: packed ids (bit 33, GetEnvCellGeomId) answer "not yet" in the acquire-to-prepare window — the true answer, since the scheduler re-registers on the same landblock build — and PrepareMeshDataAsync's blind cast becomes a typed, loud invariant failure naming the id kind and the issue, so a future caller repeating the confusion gets a diagnosis instead of three live hangs. Validation: the crash was DETERMINISTIC at login cell 0xA8B4002F (two consecutive hard failures); with the fix the same login revealed cleanly and a full session — 16,585 entities, five portal generations, the user-passed Session-B dungeon gate — ran with zero overflows and zero guard fires. Clean-room suite: 11,253 passed / 6 skipped / 0 failed. Found because the Session-B gate launch finally captured the stack the earlier #339 hangs never printed. #343 (the wounded loop's Reset-in- render-loop shutdown) and #344 (the mid-teleport world-frame race the same evening surfaced) are filed separately and unfixed. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| AnimatedEntityState.cs | ||
| Building.cs | ||
| BuildingLoader.cs | ||
| BuildingRegistry.cs | ||
| CachedBatch.cs | ||
| CompositeWarmupEntitySource.cs | ||
| ContiguousRangeAllocator.cs | ||
| DebugRenderSettings.cs | ||
| DrawElementsIndirectCommand.cs | ||
| EntityClassificationCache.cs | ||
| EntitySpawnAdapter.cs | ||
| EnvCellLandblockBuild.cs | ||
| EnvCellLandblockPublication.cs | ||
| EnvCellMeshPreparationScheduler.cs | ||
| EnvCellRenderer.cs | ||
| EnvCellRenderer.Rhi.cs | ||
| EnvCellSceneryInstance.cs | ||
| EnvCellVisibilitySnapshot.cs | ||
| GeometryUtils.cs | ||
| GlobalMeshBuffer.cs | ||
| GpuMemoryTracker.cs | ||
| GpuRetiredRangeAllocator.cs | ||
| GroupKey.cs | ||
| IEntityTextureLifetime.cs | ||
| IMeshPipelineDevice.cs | ||
| InstanceData.cs | ||
| IWbMeshAdapter.cs | ||
| LandblockSpawnAdapter.cs | ||
| MeshUploadCaches.cs | ||
| MeshUploadFrameBudget.cs | ||
| ModernRenderData.cs | ||
| ObjectMeshManager.cs | ||
| PackedProjectionClassificationCache.cs | ||
| RetryableResourceReleaseLedger.cs | ||
| SceneData.cs | ||
| TextureAtlasManager.cs | ||
| TextureAtlasSlotAllocator.cs | ||
| TextureFormatExtensions.cs | ||
| WbDrawDispatcher.cs | ||
| WbDrawDispatcher.PackedOracle.cs | ||
| WbDrawDispatcher.Rhi.cs | ||
| WbFrustum.cs | ||
| WbMeshAdapter.cs | ||
| WbRenderPass.cs | ||
| WbTextureResolutionPolicy.cs | ||
| WorldTextureArray.cs | ||