swiftwasm / swiftwasm/JavaScriptKit

Memory corruption take 2

Offen
#461 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
Swift
Sterne
986
Forks
76
Ø Merge
21 Std. 11 Min.
Gemergte PRs (30 T.)
4

Beschreibung

I still see the following crash if I re-enable the Examples/Testing tests.

https://github.com/swiftwasm/JavaScriptKit/blob/84243a4c66d47e17c540bbdc17ef49f191840a07/Plugins/PackageToJS/Tests/ExampleTests.swift#L249-L250


   RuntimeError: memory access out of bounds
       at CounterPackageTests.xctest.dlmalloc (wasm://wasm/CounterPackageTests.xctest-0f40d596:wasm-function[89702]:0x115e7de)
       at CounterPackageTests.xctest.malloc (wasm://wasm/CounterPackageTests.xctest-0f40d596:wasm-function[89701]:0x115e22a)
       at CounterPackageTests.xctest.swift::Demangle::__runtime::Demangler::demangleBoundGenerics(swift::Demangle::__runtime::Vector<swift::Demangle::__runtime::Node*>&, swift::Demangle::__runtime::Node*&) (wasm://wasm/CounterPackageTests.xctest-0f40d596:wasm-function[28248]:0x522adc)
       at CounterPackageTests.xctest.swift::Demangle::__runtime::Demangler::demangleBoundGenericType() (wasm://wasm/CounterPackageTests.xctest-0f40d596:wasm-function[28200]:0x512379)
       at CounterPackageTests.xctest.swift::Demangle::__runtime::Demangler::demangleOperator() (wasm://wasm/CounterPackageTests.xctest-0f40d596:wasm-function[28174]:0x50e156)
       at CounterPackageTests.xctest.swift::Demangle::__runtime::Demangler::demangleType(__swift::__runtime::llvm::StringRef, std::__2::function<swift::Demangle::__runtime::Node* (swift::Demangle::__runtime::SymbolicReferenceKind, swift::Demangle::__runtime::Directness, int, void const*)>) (wasm://wasm/CounterP
ackageTests.xctest-0f40d596:wasm-function[28172]:0x50db25)
       at CounterPackageTests.xctest.swift_getTypeByMangledName (wasm://wasm/CounterPackageTests.xctest-0f40d596:wasm-function[27912]:0x4ee2ad)
       at CounterPackageTests.xctest.(anonymous namespace)::DecodedMetadataBuilder::resolveOpaqueType(swift::Demangle::__runtime::Node*, __swift::__runtime::llvm::ArrayRef<__swift::__runtime::llvm::ArrayRef<swift::MetadataPackOrValue>>, unsigned int) (wasm://wasm/CounterPackageTests.xctest-0f40d596:wasm-functio
n[27992]:0x500764)
       at CounterPackageTests.xctest.swift::Demangle::__runtime::TypeDecoder<(anonymous namespace)::DecodedMetadataBuilder>::decodeMangledType(swift::Demangle::__runtime::Node*, unsigned int, bool) (wasm://wasm/CounterPackageTests.xctest-0f40d596:wasm-function[27925]:0x4f3cfe)
       at CounterPackageTests.xctest.swift::Demangle::__runtime::TypeDecoder<(anonymous namespace)::DecodedMetadataBuilder>::decodeGenericArgs(swift::Demangle::__runtime::Node*, unsigned int, __swift::__runtime::llvm::SmallVectorImpl<swift::MetadataPackOrValue>&) (wasm://wasm/CounterPackageTests.xctest-0f40d596
:wasm-function[27971]:0x4fc426)

Toolchain version: DEVELOPMENT-SNAPSHOT-2025-10-02-a

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit Examples/Testing und den referenzierten Zeilen 249-250 in ExampleTests.swift und reproduziere dann den Absturz mit der Toolchain DEVELOPMENT-SNAPSHOT-2025-10-02-a. Verfolge den gemeldeten Speicherzugriffsfehler durch den Testlauf; als abgeschlossen gilt die Aufgabe, wenn die wieder aktivierten Tests ohne den Out-of-bounds-Absturz erfolgreich durchlaufen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
swift, wasm
Bereich
testing
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.