Issue 180435
Summary error parsing wasm with multimemory
Labels new issue
Assignees
Reporter benluelo
    ```
Stack dump:
0.	Program arguments: llvm-objdump -ad multimemory.wasm
 #0 0x0000ffffee737ce8 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/nix/store/8irwghgdins4w14ibvrsfxrs5dikk3m0-llvm-22.1.0-rc2-lib/lib/libLLVM.so.22.1-rc2+0xce7ce8)
 #1 0x0000ffffee73516c SignalHandler(int, siginfo_t*, void*) (/nix/store/8irwghgdins4w14ibvrsfxrs5dikk3m0-llvm-22.1.0-rc2-lib/lib/libLLVM.so.22.1-rc2+0xce516c)
 #2 0x0000fffff7ffa8d8 (linux-vdso.so.1+0x8d8)
 #3 0x0000fffff0e51c44 llvm::object::WasmObjectFile::getSymbolValueImpl(llvm::object::DataRefImpl) const (/nix/store/8irwghgdins4w14ibvrsfxrs5dikk3m0-llvm-22.1.0-rc2-lib/lib/libLLVM.so.22.1-rc2+0x3401c44)
 #4 0x0000fffff0e38b70 llvm::object::ObjectFile::getSymbolValue(llvm::object::DataRefImpl) const (/nix/store/8irwghgdins4w14ibvrsfxrs5dikk3m0-llvm-22.1.0-rc2-lib/lib/libLLVM.so.22.1-rc2+0x33e8b70)
 #5 0x0000fffff0e52974 llvm::object::WasmObjectFile::getSymbolAddress(llvm::object::DataRefImpl) const (/nix/store/8irwghgdins4w14ibvrsfxrs5dikk3m0-llvm-22.1.0-rc2-lib/lib/libLLVM.so.22.1-rc2+0x3402974)
 #6 0x0000aaaaaaad6280 llvm::objdump::createSymbolInfo(llvm::object::ObjectFile const&, llvm::object::SymbolRef const&, bool) (/nix/store/mz8dar5s1gc8j03mga2qn85f8xvqzdj5-llvm-22.1.0-rc2/bin/llvm-objdump+0x36280)
 #7 0x0000aaaaaaadcad4 disassembleObject(llvm::object::ObjectFile&, llvm::object::ObjectFile const&, (anonymous namespace)::DisassemblerTarget&, std::optional<(anonymous namespace)::DisassemblerTarget>&, llvm::objdump::SourcePrinter&, bool, llvm::raw_ostream&) (/nix/store/mz8dar5s1gc8j03mga2qn85f8xvqzdj5-llvm-22.1.0-rc2/bin/llvm-objdump+0x3cad4)
 #8 0x0000aaaaaaae3578 disassembleObject(llvm::object::ObjectFile*, bool, llvm::raw_ostream&) (/nix/store/mz8dar5s1gc8j03mga2qn85f8xvqzdj5-llvm-22.1.0-rc2/bin/llvm-objdump+0x43578)
 #9 0x0000aaaaaaae6938 dumpObject(llvm::object::ObjectFile*, llvm::object::Archive const*, llvm::object::Archive::Child const*) (/nix/store/mz8dar5s1gc8j03mga2qn85f8xvqzdj5-llvm-22.1.0-rc2/bin/llvm-objdump+0x46938)
#10 0x0000aaaaaaae8d08 llvm_objdump_main(int, char**, llvm::ToolContext const&) (/nix/store/mz8dar5s1gc8j03mga2qn85f8xvqzdj5-llvm-22.1.0-rc2/bin/llvm-objdump+0x48d08)
#11 0x0000aaaaaaabc41c main (/nix/store/mz8dar5s1gc8j03mga2qn85f8xvqzdj5-llvm-22.1.0-rc2/bin/llvm-objdump+0x1c41c)
#12 0x0000ffffed516574 __libc_start_call_main (/nix/store/z6pz4znvbr103fln95y5xg1syb864x1i-glibc-2.42-47/lib/libc.so.6+0x26574)
#13 0x0000ffffed516658 __libc_start_main@GLIBC_2.17 (/nix/store/z6pz4znvbr103fln95y5xg1syb864x1i-glibc-2.42-47/lib/libc.so.6+0x26658)
#14 0x0000aaaaaaabc530 _start (/nix/store/mz8dar5s1gc8j03mga2qn85f8xvqzdj5-llvm-22.1.0-rc2/bin/llvm-objdump+0x1c530)
Segmentation fault         llvm-objdump -ad multimemory.wasm
```

`llvm-objdump --version`:

```
[ben@orb:~/projects/benluelo/db]$ llvm-objdump --version
LLVM (http://llvm.org/):
  LLVM version 22.1.0-rc2
  Optimized build.
```

(issue also occurs on `20.1.8`, fwiw)

full wasm file:

```
AGFzbQEAAAABBgFgAX8BfwMCAQAFBQIAAQABBggBfwFBgIAECwcvAw9leHRlcm5hbF9tZW1vcnkCAQZtZW1vcnkCARByZWFkX2Zyb21fbWVtb3J5AAAKGAEWAQJ/IwAhASAAKEIBACECIAEkACACCw==
```

compiled from this .wat file:

```wat
(module
 (global $global$0 (mut i32) (i32.const 65536))
 (memory $1 1)
 (export "external_memory" (memory $0))
 (memory $0 1)
 (export "memory" (memory $0))
 (export "read_from_memory" (func $1))
 (func $1 (param $0 i32) (result i32)
 (local $1 i32)
  (local $2 i32)
  (local.set $1
   (global.get $global$0)
  )
  (local.set $2
   (i32.load 1 offset=0
    (local.get $0)
   )
  )
  (global.set $global$0
   (local.get $1)
  )
  (local.get $2)
 )
)
```
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to