github FelipePrado0/SpartanPort windows-v2.6.0-issue188-test1
Test build issue188-test1 on 2.6.0: first-level load crash

pre-release2 hours ago

EN-US

Windows test build for the first-level loading crash in #188, also reported in #270, #467, #497 and #769: a read at address 0x8, guest offset 0x160b8, around Pos050 / PosSkyBox_050.

Candidate I/O fix with additional diagnostics. Resolution of #188 is not yet confirmed on an affected machine.

Download spartanport-windows.zip, the complete Windows package. Python and a separate patch installation are not required. No Linux package is included.

What changed

  • Serialized reads, positioned reads/writes, writes, seeks and closes sharing the same guest descriptor on Windows. Other descriptors remain independent. A native regression reproduced a sequential read returning byte 11 instead of byte 0 during a concurrent positioned read; the candidate returns the correct data and preserves the cursor.
  • Added a bounded history of the last 128 reads, dumped on a fatal error: guest paths, descriptors, offsets, requested/returned bytes, errors and unfinished operations. No activation command is needed.
  • Added the missing Windows registers, including R14/R15, instruction bytes and a guarded resource-name diagnostic for the verified 0x160b8 instruction. Diagnostics do not skip the failing guest instruction.

How to test

  1. Keep your working installation and back up your saves. Extract this ZIP into a separate folder and select the same game dump. Use copies of saves and settings when comparing builds.
  2. On a machine that reproduced #188, start a New Game, choose the difficulty, and let the opening reach playable gameplay. Keep resolution, frame rate, patches and skipping behavior the same as your previous comparison, and report them.
  3. Repeat in three separate launches. If a run succeeds, play for a few minutes and close normally. Copy user/last_run.log before the next launch; when using a custom saves folder, the log is inside that folder.
  4. If it crashes, preserve the complete log before reopening. Reply in #188 with this build tag, CPU, GPU/driver, Windows version, game region/update version, whether the old build fails at the same point, and the complete log. Do not upload game files.

Validation so far

  • Passed the 660-test Python suite, with 74 skipped, plus the additional crash-diagnostic check. Both new crash-diagnostic scenarios and the native shared-descriptor I/O regression passed.
  • Compiled the changed native sources with warnings treated as errors.
  • Two monitored local player sessions loaded Pos050 and PosSkyBox_050, reached autosave and exited with code 0. The second run restored 256 cached pipelines with no new compilation or cache errors. These runs do not confirm the result on hardware affected by #188.
  • Verified ZIP integrity, absence of game/player files, required frozen modules, native startup and the launcher window with a Windows-only PATH. Confirmed the packaged native executable code matches the gameplay-tested build.
  • Still pending: reproduction and comparison on a machine that previously exhibited #188. No Linux distributable was built or tested.

Source and download verification

Base: main commit 6eba8dafcfc95566ffbebe136b24dab1b84de828, including the nine recently integrated PRs. The candidate changes are still uncommitted and are supplied in source-changes.patch; source-manifest.json records the exact base and file/package hashes. Verified that the patch reconstructs every changed source file from that base. The Windows ZIP already contains the changes; players do not need to apply the source patch. The launcher's version remains 2.6.0.

SHA-256: see spartanport-windows.zip.sha256.

You need your own game files. None are included.


PT-BR

Build de teste para Windows do crash no carregamento inicial da #188, tamb?m relatado em #270, #467, #497 e #769: leitura no endere?o 0x8, offset do jogo 0x160b8, durante Pos050 / PosSkyBox_050.

Corre??o candidata de I/O com diagn?stico adicional. A resolu??o da #188 ainda n?o foi confirmada em uma m?quina afetada.

Baixe spartanport-windows.zip, o pacote completo para Windows. N?o ? necess?rio instalar Python nem aplicar um patch separado. Esta release n?o inclui pacote Linux.

O que mudou

  • Serializadas leituras, leituras/escritas posicionais, escritas, mudan?as de posi??o e fechamento que compartilham o mesmo descritor do jogo no Windows. Descritores diferentes continuam independentes. Um teste nativo reproduziu uma leitura sequencial retornando o byte 11 no lugar do byte 0 durante uma leitura posicional concorrente; a candidata retorna os dados corretos e preserva a posi??o.
  • Adicionado hist?rico limitado ?s ?ltimas 128 leituras, registrado em caso de erro fatal: caminhos do jogo, descritores, posi??es, bytes solicitados/retornados, erros e opera??es n?o conclu?das. N?o exige comando de ativa??o.
  • Adicionados os registradores ausentes no diagn?stico do Windows, incluindo R14/R15, os bytes da instru??o e a consulta protegida do nome do recurso para a instru??o verificada em 0x160b8. O diagn?stico n?o ignora a instru??o que falhou.

Como testar

  1. Mantenha sua instala??o funcional e fa?a backup dos saves. Extraia o ZIP em uma pasta separada e selecione o mesmo dump. Use c?pias dos saves e das configura??es ao comparar os builds.
  2. Em uma m?quina que reproduzia a #188, inicie um Novo Jogo, escolha a dificuldade e deixe a abertura chegar ao gameplay. Mantenha resolu??o, FPS, patches e uso de pular cenas iguais aos da compara??o anterior e informe essas op??es.
  3. Repita em tr?s aberturas separadas. Se funcionar, jogue por alguns minutos e feche normalmente. Copie user/last_run.log antes da pr?xima abertura; se usar uma pasta personalizada de saves, o log estar? nela.
  4. Se ocorrer crash, preserve o log completo antes de reabrir. Responda na #188 com a tag deste build, CPU, GPU/driver, vers?o do Windows, regi?o/atualiza??o do jogo, se o build anterior falha no mesmo ponto e o log completo. N?o envie arquivos do jogo.

Valida??o realizada

  • Aprovada a su?te de 660 testes Python, com 74 ignorados, al?m da verifica??o adicional do diagn?stico de crash. Os dois novos cen?rios de diagn?stico e o teste nativo de I/O com descritor compartilhado passaram.
  • Compilados os fontes nativos alterados com avisos tratados como erros.
  • Duas sess?es locais monitoradas carregaram Pos050 e PosSkyBox_050, chegaram ao autosave e encerraram com c?digo 0. A segunda restaurou 256 pipelines do cache, sem compila??es novas nem erros no cache. Essas execu??es n?o confirmam o resultado no hardware afetado pela #188.
  • Verificadas a integridade do ZIP, a aus?ncia de arquivos do jogo/usu?rio, os m?dulos necess?rios, a inicializa??o nativa e a janela do launcher com PATH restrito ao Windows. Confirmado que o c?digo nativo empacotado corresponde ao build testado no jogo.
  • Pendente: reprodu??o e compara??o em uma m?quina que apresentava a #188. Nenhum pacote Linux foi compilado ou testado.

C?digo-fonte e verifica??o do download

Base: commit 6eba8dafcfc95566ffbebe136b24dab1b84de828 da main, incluindo as nove PRs integradas recentemente. As altera??es candidatas ainda est?o sem commit e est?o em source-changes.patch; source-manifest.json registra a base exata e os hashes dos arquivos/pacote. Verificado que o patch reconstr?i todos os fontes alterados a partir dessa base. O ZIP do Windows j? cont?m as altera??es; jogadores n?o precisam aplicar o patch de c?digo-fonte. A vers?o exibida pelo launcher continua sendo 2.6.0.

SHA-256: consulte spartanport-windows.zip.sha256.

Voc? precisa dos seus pr?prios arquivos do jogo. Nenhum est? inclu?do.

Don't miss a new SpartanPort release

NewReleases is sending notifications on new releases.