Uploaded image for project: 'ClojureScript'
  1. CLJS-910

JavaScriptCore 0xbbadbeef EXC_BAD_ACCESS when evaluating (list 0 1 ... 18)

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Declined
    • Affects versions: None
    • Fix versions: None
    • Labels:
      None
    • Environment:

      Embedded JavaScriptCore on iOS simulator
      Connected via Weasel / simple-brepl
      :whitespace optimization

      Description

      If I evaluate

      (list 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18)

      JavaScriptCore exhibits a 0xbbadbeef EXC_BAD_ACCESS, with a fairly deep stacktrace:

      (lldb) bt

      • thread #1: tid = 0x3f7e, 0x0111e583 JavaScriptCore`WTFCrash + 67, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0xbbadbeef)
        frame #0: 0x0111e583 JavaScriptCore`WTFCrash + 67
        frame #1: 0x011395a9 JavaScriptCore`WTF::fastMalloc(unsigned long) + 1929
        frame #2: 0x00c9cb56 JavaScriptCore`WTF::Vector<JSC::UnlinkedInstruction, 0ul, WTF::UnsafeVectorOverflow>::expandCapacity(unsigned long) + 86
        frame #3: 0x00c90f27 JavaScriptCore`JSC::BytecodeGenerator::emitGetById(JSC::RegisterID*, JSC::RegisterID*, JSC::Identifier const&) + 311
        frame #4: 0x00fd4617 JavaScriptCore`JSC::DotAccessorNode::emitBytecode(JSC::BytecodeGenerator&, JSC::RegisterID*) + 551
        ...

      (Full stack trace attached as stacktrace.txt)

      This only occurs with :whitespace optimization and does not under :advanced.

      If you evaluate (list 0), it works, and so does (list 0 1), all the way up to 17. Interestingly, it gets progressively slower as you evaluate longer lists.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              mfikes Mike Fikes
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: