Current bugs

CNA snapshot 009d40f5  ·  Known Issues › Current bugs  ·  source links pinned to 009d40f5

✓

Evidence basis: source-verified at the pinned commit. Claims on this page were checked by reading the CNA source at commit 009d40f5; unless a sentence says otherwise, nothing here was built or executed.

Existing behaviour violates an intended or documented contract. Every entry below exists at CNA 009d40f5; open an entry for its expected and actual behaviour, source locations, evidence and blast radius.

232 entries

IDTitleSubsystemStatusSeverityEvidence basis
CNA-BUG-001Plane::Transform(plane, matrix) transposes the inverse in place through a non-aliasing-safe Matrix::TransposeMath & geometryopenhighreproduced
CNA-BUG-002BoundingSphere::Contains(const BoundingFrustum&) never returns DisjointMath & geometryopenmediumsource-verified
CNA-BUG-003BoundingBox::Contains(const BoundingFrustum&) never returns Disjoint and answers Contains when only the first frustum corner is outsideMath & geometryopenmediumsource-verified
CNA-BUG-004BoundingFrustum::Intersects(Ray) never computes an entry distance: rays starting outside always miss, and an origin on a plane throwsMath & geometryopenmediumsource-verified
CNA-BUG-006SpriteEffect caches a MatrixTransform parameter that never exists, so OnApply() never sets the sprite projectionGraphics & renderersopenlowsource-verified
CNA-BUG-008Load<Song> and Load<Video> resolve a same-named .cnj file and return a media object that points at JSONContent & XNB/CNB/CNJopenmediumreproduced
CNA-BUG-012Two tests still encode the wrong occlusion-query expectation for SDL_GPU after the renderer was made truthfulTesting & evidencenarrowedlowsource-verified
CNA-BUG-016The .cnj JSON parser (CNA::Internal::ParseJson) recurses without a nesting limit, so a small crafted document overflows the stackContent & XNB/CNB/CNJopenmediumreproduced
CNA-BUG-017XnbReadLimits::maxFileSize is not applied to ContentManager's whole-file .xnb readsContent & XNB/CNB/CNJopenlowsource-verified
CNA-BUG-021ContentManager::Unload() only clears the cache; it disposes none of the assets it loadedContent & XNB/CNB/CNJopenmediumsource-verified
CNA-BUG-022ReflectiveTypeReader has no TypeVersion, so an XNA .xnb for a [ContentSerializerTypeVersion] type is rejectedContent & XNB/CNB/CNJopenlowsource-verified
CNA-BUG-025PlaneIntersectionType's Doxygen swaps the meaning of Front and BackDocumentation & release toolingopenlowsource-verified
CNA-BUG-026Matrix::CreatePerspectiveFieldOfView accepts a field of view of exactly MathHelper::PiMath & geometryopenlowsource-verified
CNA-BUG-027Vector Clamp, Min and Max resolve inverted ranges and NaN operands differently from XNAMath & geometryopenlowsource-verified
CNA-BUG-028Curve::ComputeTangent Smooth tangents test the key spacing against two different epsilons, where XNA tests the value difference against oneMath & geometryopenlowreproduced
CNA-BUG-029Copying a GraphicsResource bypasses GraphicsDevice resource tracking (copies of Texture2D and TextureCube escape device disposal)Graphics & renderersnarrowedmediumsource-verified
CNA-BUG-035devices-tests.yml's exact-name gtest filters skip seven Microsoft::Devices suites and never match the FileDialog and MessageBox suitesBuild & CIopenlowsource-verified
CNA-BUG-036run-all-renderer-smoke-tests.sh ignores the build's exit status, and its '-- -k' build flag aborts every Ninja build, so smoke verdicts can come from stale binariesTesting & evidencenarrowedlowsource-verified
CNA-BUG-041ContentManager resolves a relative RootDirectory against the working directory, not TitleLocation, and its .cnb and loose tiers cannot see Android packaged assetsContent & XNB/CNB/CNJnarrowedmediumreproduced
CNA-BUG-045THIRD_PARTY_NOTICES.md still omits the vendored cgltf and stb image headers (and ENet and dr_libs)Documentation & release toolingnarrowedlowsource-verified
CNA-BUG-047StorageContainer::GetFileNames/GetDirectoryNames(searchPattern): GlobMatch treats ? as one byte and compares case-sensitively on every hostStorageopenlowsource-verified
CNA-BUG-049Accelerometer, Gyroscope, Compass and Motion declare Dispose(bool) public, so an external Dispose(false) marks the sensor disposed without cleanupInputnarrowedlowsource-verified
CNA-BUG-050Guide message-box and keyboard-input results cannot be waited on: GamerServicesDispatcher::Update pumps nothing and their AsyncWaitHandle is signalled before completionNetworking & gamer servicesnarrowedlowsource-verified
CNA-BUG-052SongTypeReader and MediaLibraryIndex offer song formats (.opus, .aac, .wma) that no CNA-configured mixer decodesAudio & mediaopenlowinferred (strong)
CNA-BUG-054HEADLESS reports occlusion-query support and a precise pixel count while its query always answers 1Graphics & renderersnarrowedlowsource-verified
CNA-BUG-055Stale whole-registry renderer counts survive outside check_renderer_identities.py's list: the C API's CORE.md and FEATURE_MATRIX.md say 50, core_ext.h says 46, ModuleProbes.cmake says 42, and CHANGELOG says 49 for a 50-identity releaseDocumentation & release toolingnarrowedlowsource-verified
CNA-BUG-056docs/c-api/FEATURE_MATRIX.md and docs/c-api/README.md still present the C ABI as version 0.1.0 while abi.h declares 0.29.0Documentation & release toolingnarrowedlowsource-verified
CNA-BUG-057RegisterAllBuiltInXnbReaders() documentation still calls the general EffectReader a known-unsupported placeholderDocumentation & release toolingopenlowsource-verified
CNA-BUG-058LIMITATIONS.md omits the 468 planned C API symbols and RELEASE_GATE.md still attributes 654 declarations to CBIND-117Documentation & release toolingnarrowedlowsource-verified
CNA-BUG-061README.md, docs/coverage.md and docs/xna-4-api-coverage.md still report 3,467/3,627 runtime members and 160 gaps; the generated report says 3,627/3,627Documentation & release toolingopenlowsource-verified
CNA-BUG-062MODULE_SCOPE in generate_coverage_inventory.py leaves design, diagnostics and inspector unclassified, so every C API inventory gate stopsDocumentation & release toolingopenmediumreproduced
CNA-BUG-063Vector3::Length, LengthSquared, Distance and DistanceSquared accumulate in float, not at the width CNA measured XNA to useMath & geometryopenlowrecorded by CNA
CNA-BUG-064Curve::Evaluate reads the wrong key for Step continuity away from position 1 and for a Linear post-loopMath & geometryopenmediumsource-verified
CNA-BUG-065Curve::Evaluate divides by zero for coincident key positions, returning NaN and converting infinity to int in the cyclic loop modesMath & geometryopenlowsource-verified
CNA-BUG-066BoundingFrustum::Contains(Vector3) answers Intersects for a point exactly on a plane and skips the remaining planesMath & geometryopenlowsource-verified
CNA-BUG-067Math argument failures throw a mix of Sharp Runtime and std:: exception types that differs between near-identical functionsMath & geometryopenlowsource-verified
CNA-BUG-068Vector2/3/4 and Matrix division by a scalar divide every component where XNA 4.0 multiplies by one reciprocalMath & geometryopenlowsource-verified
CNA-BUG-069Ray::Intersects(BoundingBox) and Ray::Intersects(BoundingSphere) differ from XNA 4.0 on degenerate and boundary raysMath & geometryopenlowreproduced
CNA-BUG-070BoundingSphere::Contains(Vector3) and Contains(BoundingSphere) return different ContainmentType values from XNA 4.0Math & geometryopenmediumsource-verified
CNA-BUG-071BoundingFrustum::Intersects differs from XNA 4.0: box and sphere overloads use a conservative plane test, and the Plane overload counts an on-plane corner as IntersectingMath & geometryopenlowsource-verified
CNA-BUG-072BoundingBox::ToString and Ray::ToString emit literal doubled braces ({{Min:... }}) where XNA 4.0 prints single bracesMath & geometryopenlowsource-verified
CNA-BUG-073Math ToString methods print floats with six significant digits and the C++ global locale, where XNA 4.0 uses Single.ToString(CurrentCulture)Math & geometryopenlowinferred (strong)
CNA-BUG-074Vector, Matrix, Quaternion and CurveKey hash codes use raw float bits, so +0.0f and -0.0f components compare equal but hash differentlyMath & geometryopenlowsource-verified
CNA-BUG-075Point declares +, -, * and / operators that XNA 4.0's Point does not have, without the CNAEXT marker, and / has no divide-by-zero guardMath & geometryopenlowsource-verified
CNA-BUG-076Color::FromNonPremultiplied(int r, int g, int b, int a) multiplies in 32-bit int, so large arguments overflow (undefined behaviour)Math & geometryopenlowsource-verified
CNA-BUG-077An invalid CNA_GRAPHICS_RENDERER value (or Module.cnaPreferredRenderer) terminates the process during static initialisationCore & runtimeopenlowsource-verified
CNA-BUG-078Game::PollEvents fires the renderer's test-only context-loss hooks on F9/F10 in every buildCore & runtimeopenmediumsource-verified
CNA-BUG-080The Emscripten Game loop (EmscriptenMainLoopCallback) does not implement Game's loop contractCore & runtimeopenmediumsource-verified
CNA-BUG-081Game::InactiveSleepTime is stored and validated but the loop never sleeps while the game is inactiveCore & runtimeopenlowsource-verified
CNA-BUG-082GraphicsDeviceManager leaves dangling references when its lifetime is not nested inside its GameCore & runtimeopenlowsource-verified
CNA-BUG-083PhoneApplicationService::getCurrentProperty()'s static instance detaches from an already-destroyed Game during static destructionCore & runtimeopenmediumsource-verified
CNA-BUG-085GameTime.IsRunningSlowly follows FNA's lag counter, not XNA 4.0's ruleCore & runtimeopenlowsource-verified
CNA-BUG-086GameComponent::Dispose(true) does not remove the component from Game.ComponentsCore & runtimeopenmediumsource-verified
CNA-BUG-087Game::Dispose(true) walks Components by live index, so a component that removes itself or another during Dispose makes the loop skip oneCore & runtimeopenlowsource-verified
CNA-BUG-088In variable-step mode Game gives its first updates a non-zero ElapsedGameTime where XNA 4.0 reports zeroCore & runtimeopenlowsource-verified
CNA-BUG-090GraphicsDeviceInformation accepts a null Adapter, and GraphicsDeviceManager then binds a reference through that null pointerCore & runtimeopenlowsource-verified
CNA-BUG-091GameWindow keeps a raw pointer to the platform window owned by the Game's GraphicsDevice, and nothing clears it when the game disposes that deviceCore & runtimeopenlowsource-verified
CNA-BUG-092Public non-XNA members Texture::GetFormatSizeEXT, GetBlockSizeSquaredEXT, GetPixelStoreAlignment, ValidateGetDataFormat and GameWindow's IsBorderlessEXT accessors carry no CNAEXT markerCore & runtimeopenlowsource-verified
CNA-BUG-093HeadlessRenderer::GetLastFrameStatistics() reports the frame in progress, not the finished frame its documentation namesGraphics & renderersopenlowsource-verified
CNA-BUG-094SDL_GPU claims compute and SPIR-V shader intake on every device, including Direct3D 12 and Metal drivers that cannot take raw SPIR-VGraphics & renderersopenlowinferred (strong)
CNA-BUG-095A GraphicsDevice constructor that fails after renderer resolution leaves the selection latched to the renderer it destroyedGraphics & renderersopenlowsource-verified
CNA-BUG-096VulkanRenderer's constructor leaks the Vulkan handles it created when a later construction step throwsGraphics & renderersopenlowsource-verified
CNA-BUG-097RenderPipeline::releaseDeviceResourcesEXT() keeps the Bloom, SSAO and volumetric-fog target pools, and the memory estimate never counts themGraphics & renderersopenlowsource-verified
CNA-BUG-098A throwing shadow-caster or transparent-phase callback leaves RenderPipeline and its ShadowMap in an unrecoverable stateGraphics & renderersopenlowsource-verified
CNA-BUG-09924 classic SDL_GPU CTests still fail in CNA's latest recorded run; CNA's records name a cause for only three of themGraphics & renderersopenmediumrecorded by CNA
CNA-BUG-101GraphicsDevice::Reset rolls back only the window and virtual-resolution stage; a later renderer failure leaves the new PresentationParameters stored and DeviceReset unraisedGraphics & renderersopenlowsource-verified
CNA-BUG-102On DIRECTX9, SetContextRecoveryEnabled and SetStringMarkerEXT throw 'not yet implemented', and GraphicsDevice has already changed the recovery flag when the first one throwsGraphics & renderersopenlowsource-verified
CNA-BUG-103VULKAN clears every colour attachment of a multiple-render-target set, so PreserveContents targets lose their contents when bound as part of an MRT setGraphics & renderersopenmediumsource-verified
CNA-BUG-104DIRECTX9 reports AnisotropicFiltering and MultiSampleAntiAliasing unconditionally and writes MaxAnisotropy to the sampler without clamping to the device capGraphics & renderersopenlowsource-verified
CNA-BUG-105SDL_RENDERER clips to any non-empty ScissorRectangle even when RasterizerState.ScissorTestEnable is falseGraphics & renderersopenmediumsource-verified
CNA-BUG-106ShaderEffect, PbrEffect, SkinnedPbrEffect and ColorMatrixEffect clone a disposed source instead of throwing ObjectDisposedExceptionGraphics & renderersopenlowsource-verified
CNA-BUG-107DIRECTX9 draws a 3D ShaderEffect with the stock BasicEffect shader (16-byte vertices) or fails with a BasicEffect vertex-layout error instead of using or refusing the custom effectGraphics & renderersopenlowsource-verified
CNA-BUG-109The engine layer's capability-name table has no IndirectDraw entry, although its comment says a missing capability fails to compileGraphics & renderersopenlowsource-verified
CNA-BUG-110Stock-effect state is captured at draw time, so a property changed after EffectPass::Apply() affects the next draw, unlike XNAGraphics & renderersopenlowsource-verified
CNA-BUG-111ShaderEffect::SetTexture(int, Texture2D&), SetTexture(int, TextureCube&) and SetTexture(int, Texture3D&) evaluate *renderer_ of a disposed texture (an empty shared_ptr) and forward a null pointer instead of throwing ObjectDisposedExceptionGraphics & renderersopenlowsource-verified
CNA-BUG-112On VULKAN SpriteBatch draws are never tagged with the active OcclusionQuery: a sprite-only Begin/End span reports PixelCount 0, and sprites in a mixed span are counted only by record orderGraphics & renderersopenmediumsource-verified
CNA-BUG-113An enabled zero-area ScissorRectangle draws unclipped on VULKAN and SDL_GPU, while WEBGPU clips everything and METAL suppresses the drawGraphics & renderersopenmediumrecorded by CNA
CNA-BUG-114WEBGPU always creates a Depth24PlusStencil8 back-buffer depth attachment but PresentationParameters keeps the requested DepthFormatGraphics & renderersopenlowsource-verified
CNA-BUG-115DIRECTX9 requests D3DPRESENT_INTERVAL_TWO without checking device support, and a failing Reset is then retried on every PresentGraphics & renderersopenlowinferred (probable)
CNA-BUG-116DIRECTX9 never resolves multisampled render targets bound as a multiple-render-target setGraphics & renderersopenmediumsource-verified
CNA-BUG-117The SdlRenderer constructor maps any positive swap interval to 1, so a device constructed with PresentInterval::Two runs at interval 1 until the next resetGraphics & renderersopenlowsource-verified
CNA-BUG-118GraphicsDevice::GetMaxTextureDimension() is documented as the renderer's real maximum, but most renderers return an unqueried 16384 that the capability profile marks as knownGraphics & renderersopenlowsource-verified
CNA-BUG-119The XNB type-reader registry is process-wide and unsynchronised, and every reader construction writes to itContent & XNB/CNB/CNJopenmediumsource-verified
CNA-BUG-120ContentManager::LoadXnbAssetUntyped lacks LoadXnbAsset<T>'s compressed-header guard and refuses LZ4Content & XNB/CNB/CNJopenmediumsource-verified
CNA-BUG-121ContentManager::Load<T> never calls the virtual OpenStream, so ResourceContentManager::Load<T> ignores its resource familyContent & XNB/CNB/CNJopenmediumsource-verified
CNA-BUG-122ContentManager::Load<T> leaks non-XNA exception types: std::bad_any_cast for a wrong .xnb type, unwrapped Load<SoundEffect> errors, std::runtime_error when disposedContent & XNB/CNB/CNJopenmediumsource-verified
CNA-BUG-123ContentManager has no in-progress guard, so an .xnb external-reference cycle recurses until the stack overflowsContent & XNB/CNB/CNJopenlowsource-verified
CNA-BUG-124ContentManager::Load<T> holds a plain reference to the loose-file reader, so RegisterTypeReader<T> during that reader's Read destroys it mid-callContent & XNB/CNB/CNJopenlowsource-verified
CNA-BUG-125DecompressXnbPayload grows the LZX output without bound and checks it against the declared size only after the last blockContent & XNB/CNB/CNJopenlowsource-verified
CNA-BUG-126ContentReader::InnerReadObjectAny bypasses the object-nesting depth guard, so nested object-typed values recurse without limitContent & XNB/CNB/CNJopenlowsource-verified
CNA-BUG-128Model::Draw indexes its bone scratch buffer with bone 0 even for a model with no bonesModels & glTFopenlowsource-verified
CNA-BUG-129BlendMorphTargetsEXT indexes NormalDeltas and every per-vertex delta array without checking their lengthsModels & glTFopenlowsource-verified
CNA-BUG-130The .cnj Model reader truncates vertex and index sidecar sizes and never range-checks indices, where the SkinnedModel reader refuses the same inputModels & glTFopenlowsource-verified
CNA-BUG-131The .cnj Model bones parser accepts forward or self parent indices and turns a malformed transform into identityModels & glTFopenlowsource-verified
CNA-BUG-132FNA_KEYBOARD_USE_SCANCODES does not make Keyboard::GetState layout-independent; only the input bridge and GetKeyFromScancodeEXT honour itInputopenmediumsource-verified
CNA-BUG-133DIRECTX11, DIRECTX12, FREEDIRECT and METAL implement the window-to-logical transform but never register for their window, so mouse and touch input ignore itInputopenmediumsource-verified
CNA-BUG-134Inside a letterbox bar, Mouse::GetState reports the raw window coordinate on renderers whose transform declines the pointInputopenlowsource-verified
CNA-BUG-135Mouse::SetCaptureEXT, GetGlobalPositionEXT and WarpGlobalEXT let PlatformNotSupportedException escape on Wayland and the terminal platformInputopenlowsource-verified
CNA-BUG-137MediaPlayer::Play(Song*) reads and writes a destroyed Song when given a Song that the queue ownsAudio & mediaopenhighreproduced
CNA-BUG-138MediaPlayer flags ActiveSongChanged on every Play(Song*), even for the same song, and never for Play(const SongCollection&[, index])Audio & mediaopenlowsource-verified
CNA-BUG-139MediaPlayer::Play(Song*) records Duration and PlayCount on the caller's Song instead of the queued copy, and Stop never resets that PlayCountAudio & mediaopenlowsource-verified
CNA-BUG-140MediaPlayer::Play reports no error when a song cannot be played and can leave the player Playing with no trackAudio & mediaopenmediumsource-verified
CNA-BUG-141MediaPlayer::ProgramExit is documented as called at application exit, but nothing in CNA calls itAudio & mediaopenlowsource-verified
CNA-BUG-142Without a mixer (SDL2 or NULL audio) songs never end: queued copies carry no Duration, so the elapsed-time fallback never firesAudio & mediaopenlowsource-verified
CNA-BUG-143VideoPlayer and Video keep raw pointers to each other, so destroying a Video before its player is stopped writes to freed memoryAudio & mediaopenmediumreproduced
CNA-BUG-144VideoPlayer::GetTexture lets the decoder's std::runtime_error escape, undocumented, and leaves the player PlayingAudio & mediaopenlowsource-verified
CNA-BUG-145VideoDecoder::SetVideoStream switches to another video stream mid-playback without seeking, so decoding resumes at a non-keyframe positionAudio & mediaopenlowinferred (strong)
CNA-BUG-146VideoDecoder converts every YUV frame with one full-range BT.601 matrix: limited-range and BT.709 video decode with wrong levels and coloursAudio & mediaopenmediumreproduced
CNA-BUG-147SoundBank::PlayCue destroys a fire-and-forget cue that is still playing five minutes after it startedAudio & mediaopenmediumsource-verified
CNA-BUG-148DynamicSoundEffectInstance::SubmitBuffer accepts empty and non-frame-aligned buffers that XNA rejectsAudio & mediaopenlowsource-verified
CNA-BUG-149Microphone::Start reports Started even when the capture device could not be openedAudio & mediaopenlowsource-verified
CNA-BUG-150StorageDevice::EnsureStorageRoot publishes its initialised flag before the root, without synchronisationStorageopenlowsource-verified
CNA-BUG-151StorageDevice::EnsureStorageRoot latches an empty root after a failed resolution, and storage then operates in the working directoryStorageopenmediumsource-verified
CNA-BUG-152StorageDevice::getFreeSpaceProperty, getTotalSpaceProperty and getIsConnectedProperty pass the UTF-8 root to std::filesystem through the narrow path constructorStorageopenlowinferred (strong)
CNA-BUG-153StorageContainer::DeleteFile removes an empty directory and DeleteDirectory removes a fileStorageopenlowsource-verified
CNA-BUG-154A save container titled GamerServices shares its directory with the gamer-services store, so DeleteContainer("GamerServices") deletes local achievements and leaderboardsStorageopenlowsource-verified
CNA-BUG-155StorageContainer members keep working after Dispose instead of throwing ObjectDisposedExceptionStorageopenlowsource-verified
CNA-BUG-156HttpNotificationChannel answers length-less, chunked and truncated pushes with 200 and reads request bodies of unbounded sizeNetworking & gamer servicesopenlowsource-verified
CNA-BUG-157HttpNotificationChannel::Close and the channel destructor block indefinitely while a connected peer sends nothingNetworking & gamer servicesopenmediumsource-verified
CNA-BUG-158RawPushNotificationMessage::SendAsync and ToastPushNotificationMessage::SendAsync return true for a push the receiver rejectedNetworking & gamer servicesopenlowsource-verified
CNA-BUG-159ToastPushNotificationMessage::SendAsync inserts Title and SubTitle into the toast XML without escapingNetworking & gamer servicesopenlowsource-verified
CNA-BUG-160Two open HttpNotificationChannel objects with the same name leave Find unable to locate one that is still openNetworking & gamer servicesopenlowsource-verified
CNA-BUG-161A handler that throws during HttpNotificationChannel::DispatchPendingNotificationsEXT discards every remaining notification of that batchNetworking & gamer servicesopenlowsource-verified
CNA-BUG-162The phone notification channel and sender never initialise Winsock, cannot detect INVALID_SOCKET and have no Windows testNetworking & gamer servicesopenmediuminferred (strong)
CNA-BUG-163HttpNotificationChannel writes its reply with ::send flags 0, so a peer that aborts its connection mid-request can end the process with SIGPIPENetworking & gamer servicesopenmediuminferred (strong)
CNA-BUG-164HttpNotificationChannel's listener reads listenSocket_ unsynchronised while Close resets it, and spins without backoff on a persistent accept errorNetworking & gamer servicesopenlowsource-verified
CNA-BUG-165LeaderboardReader::Read, PageDown and PageUp never delete the LeaderboardAction their Begin call allocatesNetworking & gamer servicesopenlowsource-verified
CNA-BUG-166GamerServicesDispatcher::Initialize deletes every SignedInGamer in the installed collection, including gamers the application createdNetworking & gamer servicesopenmediumsource-verified
CNA-BUG-167LocalGamerServicesStore rounds 64-bit values through double and renames an unchecked temporary write over the store fileNetworking & gamer servicesopenlowsource-verified
CNA-BUG-168LocalGamerServicesStore maps distinct gamertags to one achievements file when they differ only in characters outside A-Z, a-z, 0-9, '.', '_' and '-'Networking & gamer servicesopenlowreproduced
CNA-BUG-169NetworkSession::GamerJoined reports a gamer added with AddLocalGamer twice to a handler subscribed between that call and the next UpdateNetworking & gamer servicesopenlowsource-verified
CNA-BUG-170A joined SystemLink session answers LAN discovery for itself and handles ClientHello as if it were the hostNetworking & gamer servicesopenmediumsource-verified
CNA-BUG-171LocalNetworkGamer::ReceiveData(PacketReader&, NetworkGamer*&) does not resize the reader, so a reused reader keeps the previous packet's Length and trailing bytesNetworking & gamer servicesopenlowsource-verified
CNA-BUG-172A joined SystemLink session reports MaxGamers 31 and PrivateGamerSlots 4 instead of the host's valuesNetworking & gamer servicesopenlowsource-verified
CNA-BUG-173GamerPresence maps a presence mode to its display string through an alphabetically ordered table indexed by the enum ordinalNetworking & gamer servicesopenlowsource-verified
CNA-BUG-174LocalNetworkGamer::ReceiveData(PacketReader&, NetworkGamer*&) always returns 0 instead of the packet sizeNetworking & gamer servicesopenlowsource-verified
CNA-BUG-175The bundled procedural avatar's garment shells interpenetrate its body, leaving the collar and cuffs visible through the skinNetworking & gamer servicesopenlowrecorded by CNA
CNA-BUG-176Setting Game::IsMouseVisible throws PlatformException on the terminal platform when the terminal reports mouse inputPlatformsopenmediumsource-verified
CNA-BUG-177The Headless and Terminal window constructors accept BorderlessFullscreen although their own SetFullscreenMode refuses itPlatformsopenlowsource-verified
CNA-BUG-178The SDL2 backend negates a flipped mouse wheel while SDL3 passes SDL's adjusted value through, so the two report opposite signs under natural scrollingPlatformsopenlowsource-verified
CNA-BUG-179Win32 EnterExclusiveFullscreen fails silently yet GetFullscreenMode reports ExclusiveFullscreenPlatformsopenlowsource-verified
CNA-BUG-180Win32GlContext ignores multisample and per-channel format requests and reports the requested description as if it were grantedPlatformsopenlowsource-verified
CNA-BUG-181Sdl3Platform reports the nativeFileDialog capability on iOS and web builds, where SDL has no usable file-dialog backendPlatformsopenlowinferred (strong)
CNA-BUG-182Win32Dialogs file dialogs run modally inside Show* and invoke the callback before returning, contrary to the IPlatformDialogs timing contractPlatformsopenlowsource-verified
CNA-BUG-183The SDL3 file-dialog and tray-entry trampolines call application callbacks without a try/catch, so a throwing handler unwinds through SDL's C codePlatformsopenlowreproduced
CNA-BUG-184Core's build files still carry dependencies its sources dropped: -lembind on Emscripten and a link probe that tolerates SDL3Build & CIopenlowsource-verified
CNA-BUG-185Stub_Smoke links SDL3::SDL3 unconditionally, so STUB + tests cannot be configured with CNA_ENABLE_SDL=OFFBuild & CIopenlowsource-verified
CNA-BUG-186CNA_ENABLE_VIDEO=AUTO accepts any pkg-config FFmpeg, but VideoDecoder.cpp needs the FFmpeg 5.1 channel-layout APIBuild & CIopenlowinferred (strong)
CNA-BUG-189The GDI renderer's configure message hard-codes '3 GDI-owned units' while modules/renderers/gdi/src compiles fourBuild & CIopenlowsource-verified
CNA-BUG-190modules/renderers/CMakeLists.txt enters common/d3d, the GDI software sources and the Metal renderer target only when the default identity matches, so a multi-renderer set that lists DIRECTX11, DIRECTX12, GDI or METAL without the matching default passes the combination rules and then cannot buildBuild & CIopenlowinferred (strong)
CNA-BUG-191cna_configure_vendored_enet tells the user to run 'git submodule update --init third_party/enet', but ENet is committed in the tree, not a submoduleBuild & CIopenlowsource-verified
CNA-BUG-192metal-macos-ci.yml's push path filter names three CMake files that no longer exist and omits the files that now register the Metal testsBuild & CIopenlowsource-verified
CNA-BUG-193general-tests-ci.yml still allowlists EasyGL_GraphicsDevice_ReferenceStencil as a known failure after REMED-GFX-236 fixed it, so a regression of that test cannot turn the job redBuild & CIopenlowsource-verified
CNA-BUG-194The SDL2-only configuration guard recommends VULKAN, which the SDL2 platform cannot runBuild & CIopenlowsource-verified
CNA-BUG-195The SDL2-only guard inspects only CNA_GRAPHICS_RENDERER, so a multi-renderer list containing an SDL3-linked family is not refusedBuild & CIopenlowsource-verified
CNA-BUG-196CNA_X11_HAVE_VULKAN_HEADERS is defined by the X11 CMake but read by no source, so the dependency summary implies a Vulkan-header gate that does not existBuild & CIopenlowsource-verified
CNA-BUG-197cmake/toolchains/mingw-w64.cmake falls back to the i686 compiler but keeps CMAKE_SYSTEM_PROCESSOR x86_64, so the persistent SDL install key mislabels a 32-bit buildBuild & CIopenlowsource-verified
CNA-BUG-198Link-closure tests pass --build-dir ${CMAKE_BINARY_DIR}, so when CNA is added as a subproject they look for link.txt in the consumer's build root and always skipBuild & CIopenlowsource-verified
CNA-BUG-199Six CI workflows pin August 2026 sharp-runtime commits that lack components CNA's default closure requests (Xml.Serialization off Windows, Resources everywhere), so they stop at configureBuild & CIopenmediumsource-verified
CNA-BUG-200The registered CTest CNAEXT_NoPosixSetenv fails at this snapshot: twelve Wayland setenv/unsetenv call lines trip the gateBuild & CIopenmediumreproduced
CNA-BUG-201StorageDeviceDeleteContainerTest writes to and deletes inside the developer's real per-user data directoryTesting & evidenceopenlowsource-verified
CNA-BUG-202In a multi-renderer build, non-default renderers' example CTests are registered but run under the default rendererTesting & evidenceopenmediumsource-verified
CNA-BUG-203SdlGpu_2D_HeadlessDriver forces headless mode under the x11 video driver that the SDL_GPU constructor refuses for itTesting & evidenceopenlowrecorded by CNA
CNA-BUG-204CnjEffectTest.LoadsRealCnjFixture and CnjStockEffectTest.CustomGlslEffectStillWorks expect a valid GLSL ES effect on any renderer that executes shader source under a non-HLSL dialect, which WebGPU (WGSL only) and SDL_GPU with libshaderc (Vulkan-rule GLSL) refuseTesting & evidenceopenlowinferred (strong)
CNA-BUG-205SDL_Renderer_ClearOptions_Audit encodes Clear semantics that no longer exist and catches the wrong exception type, so it cannot pass at this snapshotTesting & evidenceopenlowsource-verified
CNA-BUG-206Software_XnaLineCoverage passes when a scene differs from the XNA reference: run-oracle-corpus-diff-software.sh fails only on render errorsTesting & evidenceopenlowreproduced
CNA-BUG-207Delta-maintained diagnostics gauges such as Audio/AllocatedVoices drift after a runtime OFF windowDiagnostics & Inspectoropenlowreproduced
CNA-BUG-208On Emscripten a diagnostics frame excludes the requestAnimationFrame wait, so FrameSample.framesPerSecond is a work rate thereDiagnostics & Inspectoropenlowsource-verified
CNA-BUG-209Inspector ServerHello.graphicsRenderer reports the compile-time default renderer, not the one GraphicsRendererSelection actually createdDiagnostics & Inspectoropenlowsource-verified
CNA-BUG-210A diagnostics name or resource label longer than 4,096 bytes makes every Inspector snapshot or event batch that contains it fail with LimitExceededDiagnostics & Inspectoropenlowreproduced
CNA-BUG-211Agent::Stop can wait up to about six seconds for a connection that the accept loop takes around the time Stop runsDiagnostics & Inspectoropenlowsource-verified
CNA-BUG-212cna_graphics_resource_get_graphics_device returns CNA_RESULT_INVALID_HANDLE for every resource created on a caller-created GraphicsDeviceC API & bindingsopenlowsource-verified
CNA-BUG-213audio.h and AUDIO.md call cna_dynamic_sound_effect_instance_submit_buffer safe from a producer thread, but every call off the creation thread returns CNA_RESULT_THREADC API & bindingsopenlowsource-verified
CNA-BUG-214docs/c-api/HANDLES.md documents CNA_RESULT_SHUTTING_DOWN for a closing or closed runtime, but no C API route ever returns itC API & bindingsopenlowsource-verified
CNA-BUG-215GraphicsRendererSelection::IsLatched() is documented to latch when the first GraphicsDevice begins construction; it latches only on successful resolutionDocumentation & release toolingopenlowsource-verified
CNA-BUG-216MathTypeConverter::supportStringConvert's comment names three converters that clear it; six doDocumentation & release toolingopenlowsource-verified
CNA-BUG-217docs/framework-design.md says the Framework.Design registration associates the twelve value types with ordered descriptor collections; registerConverter registers only converter factoriesDocumentation & release toolingopenlowsource-verified
CNA-BUG-218content_readers.h documentation names cna_get_last_error_message, which does not existDocumentation & release toolingopenlowsource-verified
CNA-BUG-220cna_game_destroy's comment says Shutdown has disposed the canonical graphics device; it has notDocumentation & release toolingopenlowsource-verified
CNA-BUG-221RunContentCompiler documentation says XNB output writers are registered only for --format xnb; they are registered on every runDocumentation & release toolingopenlowsource-verified
CNA-BUG-222Audio comments describe behaviour the code does not have: SoundEffect::Play's instance limit, FireAndForgetPanState freeing, the is3D_ latch and SoundEffectReader's WAV routeDocumentation & release toolingopenlowsource-verified
CNA-BUG-223docs/input-backend.md names a SdlInputBridge ProcessEvent overload and src/Input/... paths that do not exist at TARGETDocumentation & release toolingopenlowsource-verified
CNA-BUG-224GraphicsDevice's DeviceLost documentation and device-status comments still say only Direct3D 9 reports device lossDocumentation & release toolingopenlowsource-verified
CNA-BUG-225Two EasyGL comments still describe runtime GL profiles (phase P11) as future workDocumentation & release toolingopenlowsource-verified
CNA-BUG-227StubTextureRenderer's comment says GetData() is accepted and discarded, but the inherited default refuses the readDocumentation & release toolingopenlowsource-verified
CNA-BUG-228xnb.md still says 'Status: planning document only. Nothing described here is implemented yet.' directly beneath a banner that records the XNB reader phases completeDocumentation & release toolingopenlowsource-verified
CNA-BUG-229docs/graphics-renderer-feature-matrix.md calls itself up to date but still says EasyGL's ReferenceStencil gap (Task 872) is open and lists its test as a known failure, contradicting its own table rowDocumentation & release toolingnarrowedlowsource-verified
CNA-BUG-230cna_define_shared_runtime_deferred's comment says cna_graphics_ext and cna_devices_ext exist only with CNA_CNAEXT; modules/CMakeLists.txt always creates bothDocumentation & release toolingopenlowsource-verified
CNA-BUG-231CHECKLIST.md's per-file port checklist still says 'FNA still wins on semantics', contradicting the rule in CLAUDE.md that XNA wins where the two disagreeDocumentation & release toolingopenlowsource-verified
CNA-BUG-232docs/physical-modules.md has no row for modules/platform, omits the platform and diagnostics edges of runtime, input, audio and devices-ext, and says top-level examples/ holds only examples/goldenDocumentation & release toolingopenlowsource-verified
CNA-BUG-233CLAUDE.md's Platform Boundary lists WIN32 as a reserved identifier that fails configuration, but cmake/PlatformSelection.cmake implements CNA_PLATFORM=WIN32 on WindowsDocumentation & release toolingopenlowsource-verified
CNA-BUG-234CLAUDE.md's 'WebGPU Is Active' section still gives the current WEBGPU baseline as clear/present, Texture2D, buffer uploads and SpriteBatch, contradicting its own renderer paragraph, which describes a real 3D route with render targetsDocumentation & release toolingopenlowsource-verified
CNA-BUG-235docs/physical-modules.md's Sharp Runtime column omits components that four modules link: Uri for phone and media, Collections.Core for input, Resources for contentDocumentation & release toolingopenlowsource-verified
CNA-BUG-236docs/platform-abstraction.md's Implementations table lists five backends and omits X11 and WaylandDocumentation & release toolingopenlowsource-verified
CNA-BUG-237Comments in Sdl3Platform.cpp and X11Platform.cpp refer to a Game::UpdateInput() that does not existDocumentation & release toolingopenlowsource-verified
CNA-BUG-238Win32Window's CnaPlatformWindow.Owned property is written and removed but never read, and its comment misdescribes AdoptWindowHandleDocumentation & release toolingopenlowsource-verified
CNA-BUG-239Two stale comments in the Win32 backend: a nonexistent spike path and a wrong Windows versionDocumentation & release toolingopenlowsource-verified
CNA-BUG-240X11 header comments misdescribe the connection lifetime, the service accessors and the Xlib lockingDocumentation & release toolingopenlowsource-verified
CNA-BUG-241docs/devices-event-contract.md and docs/devices-thread-safety.md describe sensor behaviour the code no longer hasDocumentation & release toolingopenlowsource-verified
CNA-BUG-242Source comments still say StorageDevice reaches the platform or the SDL preference pathDocumentation & release toolingopenlowsource-verified
CNA-BUG-243docs/gltf-limitations.md says CNA reverses the winding of mirrored glTF placements; the importer leaves it unchangedDocumentation & release toolingopenlowsource-verified
CNA-BUG-244README.md's Usage Example does not compile (nonexistent Graphics/GraphicsDeviceManager.hpp include, unqualified CornflowerBlue) and presents every frame twiceDocumentation & release toolingopenmediumreproduced
CNA-BUG-245misc/cnj.md and xnb.md say the content manifest services ResolveAssetPath's existence checks; ContentManager still probes the live filesystem on every LoadDocumentation & release toolingopenlowsource-verified
CNA-BUG-246docs/graphics-resource-lifetime.md says existing XNA resources hold a unique_ptr renderer and names a non-existent ITexture2DRenderer; Texture2D, Texture3D and TextureCube hold shared_ptr renderers and Texture2D's public copies share oneDocumentation & release toolingopenlowsource-verified
CNA-BUG-247The EasyGL L7 policy and report justify zero tolerance with 'all 137 renderable assets' while the report's own fields record 140 captured, byte-identical assetsDocumentation & release toolingopenlowsource-verified
CNA-BUG-248PacketReader::ReadColor and PacketWriter::Write(Color) doc comments still say ReadColor reads four floats and is not the inverse of Write(Color)Documentation & release toolingopenlowsource-verified
CNA-BUG-249misc/CNAEXT.md's 'Renderer shader coverage for PBR' table omits OPENGL4 and METAL and still says WebGPU has no SkinnedPbrEffect pathDocumentation & release toolingopenlowsource-verified
CNA-BUG-250LocalNetworkGamer::SendData in a Local or LocalWithLeaderboards session silently drops every packet, so neither the sender nor another local gamer ever receives itNetworking & gamer servicesopenlowsource-verified
CNA-BUG-251BoundingSphere(Vector3 center, float radius) accepts a negative radius, where XNA 4.0 throws ArgumentExceptionMath & geometryopenlowsource-verified
CNA-BUG-252Vector3, Vector4, Quaternion and Matrix GetHashCode add raw int bit patterns with signed arithmetic, which overflows (undefined behaviour) for ordinary valuesMath & geometryopenlowrecorded by CNA
CNA-BUG-253SdlGpu_ConstructorExceptionSafety aborts with a double free, a defect CNA's own record calls real and leaves unfixedGraphics & renderersopenmediumrecorded by CNA
CNA-BUG-254docs/directx9-renderer.md says the DIRECTX9 custom ShaderEffect phase (D9-11) has not been started; plans/plan_dx9.md records it fully closed on 2026-07-15Documentation & release toolingopenlowsource-verified
CNA-BUG-255EasyGL family: ClearColorAndStencil leaves the stencil write mask forced to all ones, so a later draw ignores StencilWriteMaskGraphics & renderersnarrowedlowsource-verified
CNA-BUG-256docs/model-content-pipeline-support.md still says CNA has no binary .xnb model reader and lists Model loader gaps that the code has closedDocumentation & release toolingnarrowedlowsource-verified
CNA-BUG-257PORTABLEGL depth clears force glDepthMask(GL_TRUE) and never restore it, although their own comment says both masks are restored as EasyGL doesGraphics & renderersopenlowsource-verified
CNA-BUG-258LocalNetworkGamer::ReceiveData(byte buffer, offset) dequeues and silently truncates a packet larger than the buffer, where XNA throws ArgumentException without dequeuingNetworking & gamer servicesopenlowsource-verified
CNA-BUG-259Matrix::Decompose follows FNA's algorithm, not XNA 4.0's: a mirrored matrix decomposes to positive scales and a non-unit quaternion, and a sheared matrix reports successMath & geometryopenmediumsource-verified
CNA-BUG-260ExitingEventArgs is documented as the data of Game.Exiting but nothing delivers it, and this non-XNA type carries no CNAEXT markerCore & runtimeopenlowsource-verified
CNA-BUG-261Comments and docs say GpuDrawParams::specularEnabled is read by no renderer and DIRECTX9's specular variants are blocked, but D3D9EffectDraw and Fna3dDraw read itDocumentation & release toolingopenlowsource-verified
CNA-BUG-262CnaTests is linked with both -sJSPI=1 and -sASYNCIFY=1 on Emscripten; emcc lets the later flag win, so the JSPI its CMake comment relies on is silently replaced by AsyncifyBuild & CIopenlowinferred (strong)
CNA-BUG-263TerminalMouse::SetPosition throws PlatformException although IPlatformMouse::SetPosition documents no exception, so XNA's Mouse.SetPosition throws on the terminal platformInputopenlowsource-verified
CNA-BUG-264Vulkan passes XNA's normalised RasterizerState.DepthBias to vkCmdSetDepthBias unscaled, so a realistic bias has no effectGraphics & renderersopenmediumsource-verified
CNA-BUG-265SignedInGamer::SignedIn does not replay already signed-in gamers to a late subscriber, unlike XNA 4.0Networking & gamer servicesopenlowsource-verified
CNA-BUG-266GamerServicesDispatcher::Initialize re-initialises silently when gamer services are already initialised, where XNA 4.0 throws InvalidOperationExceptionNetworking & gamer servicesopenlowsource-verified
CNA-BUG-267A join beyond MaxGamers is not refused: the host sends ServerWelcome, AddRemoteGamer throws Session is full!, and the receive path's catch-all drops it, so SessionFull is never raisedNetworking & gamer servicesopenmediumsource-verified
CNA-BUG-268A NetworkSession BeginCreate, BeginFind or BeginJoin callback that calls the matching End* frees the action and the closure that is executing, and Begin* returns the freed pointerNetworking & gamer servicesopenmediumsource-verified
CNA-BUG-269cna_validate_renderer_identity_selection says it checks the per-identity CNA_RENDERER_<X> switches, but only retired names are checked: a misspelled or unknown switch is never read and the platform's default renderer is configured silentlyBuild & CIopenlowsource-verified
CNA-BUG-270The @param lines of cna_post_process_chain_add_owned_pass and cna_skybox_set_owned_environment say the consumed handle is invalid on return even when the call fails, but both routes release it only after every check that can failC API & bindingsopenlowsource-verified
CNA-BUG-271known_bugs.md still lists the FNA3D dangling-device use-after-free as OPEN and a lost repeated SpriteBatch Begin/End as a live symptom, although the source has fixed bothDocumentation & release toolingopenlowsource-verified
CNA-BUG-272misc/cnj.md's native-extension table omits .gltf and .glb, its sourceFile matrix omits Texture3D, AnimationClip and Curve, and one sentence says CNA has no JSON object type although Json.hpp defines JsonValueDocumentation & release toolingopenlowsource-verified
CNA-BUG-273CLAUDE.md and AGENTS.md tell contributors to throw std::runtime_error after disposal, while the public layer throws System::ObjectDisposedException at 51 sites in the graphics module aloneDocumentation & release toolingopenlowsource-verified
CNA-BUG-274README.md calls the CNAEXT purity check "a dedicated CMake build option", but CNA_STRICT_XNA_API is a compile definition on two harness targets and no CMake option existsDocumentation & release toolingopenlowsource-verified