Uploaded image for project: 'Swift'
  1. Swift
  2. SR-14373

lldb on Linux from main branch always crashes immediately with Assertion `Val && "isa<> used on a null pointer"' failed.

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Open
    • Priority: Medium
    • Resolution: Unresolved
    • Component/s: LLDB for Swift
    • Labels:
    • Environment:
      Swift version 5.4-dev (LLVM 5f17b63a89d10af, Swift bdacb68b83b67b8)
      Target: x86_64-unknown-linux-gnu
      

      Description

      Repro

      This should work on a Mac.

      mac$ git clone https://github.com/weissi/swift-nio
      mac$ git checkout jw-asyncawait
      mac$ docker run -it --rm --privileged -w "$PWD" -v "$PWD:$PWD" swiftlang/swift:nightly-main-bionic
      
      docker$ swift build -Xswiftc -Xfrontend -Xswiftc -enable-experimental-concurrency
      docker$ lldb .build/x86_64-unknown-linux-gnu/debug/NIOAsyncAwaitDemo
      
      (lldb) break set -f main.swift -l 38
      (lldb) break set -f main.swift -l 45
      (lldb) break set -f main.swift -l 47
      (lldb) break set -f main.swift -l 52
      (lldb) break set -f main.swift -l 55
      
      (lldb) run
      (lldb) bt
      

      Expected

      backtrace

      Actual

      (lldb) run
      Process 221 launched: '/Users/johannes/devel/swift-nio/.build/x86_64-unknown-linux-gnu/debug/NIOAsyncAwaitDemo' (x86_64)
      Process 221 stopped
      * thread #3, name = 'NIOAsyncAwaitDe', stop reason = breakpoint 1.1
          frame #0: 0x0000555555713225 NIOAsyncAwaitDemo`main() at main.swift:38:15
         35  	func main() async {
         36  	    do {
         37  	        let channel = try await makeHTTPChannel(host: "httpbin.org", port: 80)
      -> 38  	        print("OK, connected to \(channel)")
         39  	
         40  	        print("Sending request 1", terminator: "")
         41  	        let response1 = try await channel.sendRequest(HTTPRequestHead(version: .http1_1,
      Target 1: (NIOAsyncAwaitDemo) stopped.
      (lldb) bt
      warning: (x86_64) /Users/johannes/devel/swift-nio/.build/x86_64-unknown-linux-gnu/debug/NIOAsyncAwaitDemo 0x00007c61: Module /Users/johannes/devel/swift-nio/.build/x86_64-unknown-linux-gnu/debug/ModuleCache/21W7O8BKIMLPP/CNIOLinux-2B1XW2SH7FMQ7.pcm is out-of-date (hash mismatch). Type information from this module may be incomplete or inconsistent with the rest of the program. Rebuilding the project will regenerate the needed module files.
      warning: (x86_64) /Users/johannes/devel/swift-nio/.build/x86_64-unknown-linux-gnu/debug/NIOAsyncAwaitDemo 0x00007c8b: Module /Users/johannes/devel/swift-nio/.build/x86_64-unknown-linux-gnu/debug/ModuleCache/21W7O8BKIMLPP/Dispatch-1MKLX15782NIB.pcm is out-of-date (hash mismatch). Type information from this module may be incomplete or inconsistent with the rest of the program. Rebuilding the project will regenerate the needed module files.
      warning: (x86_64) /Users/johannes/devel/swift-nio/.build/x86_64-unknown-linux-gnu/debug/NIOAsyncAwaitDemo 0x00009dc6: Module /Users/johannes/devel/swift-nio/.build/x86_64-unknown-linux-gnu/debug/ModuleCache/21W7O8BKIMLPP/SwiftGlibc-1DO298432GENU.pcm is out-of-date (hash mismatch). Type information from this module may be incomplete or inconsistent with the rest of the program. Rebuilding the project will regenerate the needed module files.
      warning: (x86_64) /Users/johannes/devel/swift-nio/.build/x86_64-unknown-linux-gnu/debug/NIOAsyncAwaitDemo 0x0000b40e: Module /Users/johannes/devel/swift-nio/.build/x86_64-unknown-linux-gnu/debug/ModuleCache/21W7O8BKIMLPP/SwiftGlibc-1DO298432GENU.pcm is out-of-date (hash mismatch). Type information from this module may be incomplete or inconsistent with the rest of the program. Rebuilding the project will regenerate the needed module files.
      warning: (x86_64) /Users/johannes/devel/swift-nio/.build/x86_64-unknown-linux-gnu/debug/NIOAsyncAwaitDemo 0x0007460f: Module /Users/johannes/devel/swift-nio/.build/x86_64-unknown-linux-gnu/debug/ModuleCache/21W7O8BKIMLPP/CNIOAtomics-2C3ET3BDNTJTE.pcm is out-of-date (hash mismatch). Type information from this module may be incomplete or inconsistent with the rest of the program. Rebuilding the project will regenerate the needed module files.
      warning: (x86_64) /Users/johannes/devel/swift-nio/.build/x86_64-unknown-linux-gnu/debug/NIOAsyncAwaitDemo 0x0007a909: Module /Users/johannes/devel/swift-nio/.build/x86_64-unknown-linux-gnu/debug/ModuleCache/21W7O8BKIMLPP/SwiftOverlayShims-1KFO504FT44T.pcm is out-of-date (hash mismatch). Type information from this module may be incomplete or inconsistent with the rest of the program. Rebuilding the project will regenerate the needed module files.
      warning: (x86_64) /Users/johannes/devel/swift-nio/.build/x86_64-unknown-linux-gnu/debug/NIOAsyncAwaitDemo 0x0007b0e1: Module /Users/johannes/devel/swift-nio/.build/x86_64-unknown-linux-gnu/debug/ModuleCache/21W7O8BKIMLPP/CNIOHTTPParser-1MXR9LJ3A513M.pcm is out-of-date (hash mismatch). Type information from this module may be incomplete or inconsistent with the rest of the program. Rebuilding the project will regenerate the needed module files.
      lldb: /home/buildnode/jenkins/workspace/oss-swift-package-linux-ubuntu-18_04/llvm-project/llvm/include/llvm/Support/Casting.h:104: static bool llvm::isa_impl_cl<lldb_private::SwiftASTContext, const lldb_private::TypeSystem *>::doit(const From *) [To = lldb_private::SwiftASTContext, From = const lldb_private::TypeSystem *]: Assertion `Val && "isa<> used on a null pointer"' failed.
      PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace.
      Stack dump:
      0.	Program arguments: lldb .build/x86_64-unknown-linux-gnu/debug/NIOAsyncAwaitDemo
      Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
      lldb[0x431303]
      lldb[0x42f3ee]
      lldb[0x43192c]
      /lib/x86_64-linux-gnu/libpthread.so.0(+0x12980)[0x7f7531184980]
      /lib/x86_64-linux-gnu/libc.so.6(gsignal+0xc7)[0x7f7525cdffb7]
      /lib/x86_64-linux-gnu/libc.so.6(abort+0x141)[0x7f7525ce1921]
      /lib/x86_64-linux-gnu/libc.so.6(+0x3048a)[0x7f7525cd148a]
      /lib/x86_64-linux-gnu/libc.so.6(+0x30502)[0x7f7525cd1502]
      /usr/bin/../lib/liblldb.so.10git(+0x14e3783)[0x7f7528707783]
      /usr/bin/../lib/liblldb.so.10git(+0x14ec6f0)[0x7f75287106f0]
      /usr/bin/../lib/liblldb.so.10git(+0x102350b)[0x7f752824750b]
      /usr/bin/../lib/liblldb.so.10git(+0xf65725)[0x7f7528189725]
      /usr/bin/../lib/liblldb.so.10git(+0xf64dbe)[0x7f7528188dbe]
      /usr/bin/../lib/liblldb.so.10git(+0xf8672f)[0x7f75281aa72f]
      /usr/bin/../lib/liblldb.so.10git(+0x12eb443)[0x7f752850f443]
      /usr/bin/../lib/liblldb.so.10git(+0xf271e5)[0x7f752814b1e5]
      /usr/bin/../lib/liblldb.so.10git(+0xf26a03)[0x7f752814aa03]
      /usr/bin/../lib/liblldb.so.10git(+0xf26a03)[0x7f752814aa03]
      /usr/bin/../lib/liblldb.so.10git(+0xf265cc)[0x7f752814a5cc]
      /usr/bin/../lib/liblldb.so.10git(+0x10b0361)[0x7f75282d4361]
      /usr/bin/../lib/liblldb.so.10git(+0x10b0a55)[0x7f75282d4a55]
      /usr/bin/../lib/liblldb.so.10git(+0x10b5b18)[0x7f75282d9b18]
      /usr/bin/../lib/liblldb.so.10git(+0x10f0770)[0x7f7528314770]
      /usr/bin/../lib/liblldb.so.10git(+0x16a0c33)[0x7f75288c4c33]
      /usr/bin/../lib/liblldb.so.10git(+0x16a90ee)[0x7f75288cd0ee]
      /usr/bin/../lib/liblldb.so.10git(+0xff4368)[0x7f7528218368]
      /usr/bin/../lib/liblldb.so.10git(+0xfea1b9)[0x7f752820e1b9]
      /usr/bin/../lib/liblldb.so.10git(+0x1671d66)[0x7f7528895d66]
      /usr/bin/../lib/liblldb.so.10git(+0xff461e)[0x7f752821861e]
      /usr/bin/../lib/liblldb.so.10git(+0xfea1b9)[0x7f752820e1b9]
      /usr/bin/../lib/liblldb.so.10git(+0xfedf0a)[0x7f7528211f0a]
      /usr/bin/../lib/liblldb.so.10git(+0xf2f281)[0x7f7528153281]
      /usr/bin/../lib/liblldb.so.10git(+0xf11296)[0x7f7528135296]
      /usr/bin/../lib/liblldb.so.10git(+0xfef77d)[0x7f752821377d]
      /usr/bin/../lib/liblldb.so.10git(_ZN4lldb10SBDebugger21RunCommandInterpreterEbb+0xf7)[0x7f7527de4017]
      lldb[0x40a9ac]
      lldb[0x40ce9a]
      /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7)[0x7f7525cc2bf7]
      lldb[0x40702a]
      ********************
      Crash reproducer for lldb version 10.0.0 (git@github.com:apple/llvm-project.git revision 5f17b63a89d10af44cbe3ae43a77dee9003ceb42)
      Swift version 5.4-dev (LLVM 5f17b63a89d10af, Swift bdacb68b83b67b8)
      
      Reproducer written to '/tmp/reproducer-3f1184'
      
      Before attaching the reproducer to a bug report:
       - Look at the directory to ensure you're willing to share its content.
       - Make sure the reproducer works by replaying the reproducer.
      
      Replay the reproducer with the following command:
      lldb -replay /tmp/reproducer-3f1184
      ********************
      Aborted
      

        Attachments

          Activity

            People

            Assignee:
            Unassigned Unassigned
            Reporter:
            jw Johannes Weiss
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated: