Skip to content

[Bug] Heap-buffer-overflow in SQObjectPtr::operator= due to infinite recursion in FallBackSet/Execute #310

@oneafter

Description

@oneafter

Description

We discovered a Heap-buffer-overflow vulnerability in the Squirrel VM. The crash occurs when the VM enters an infinite recursion loop involving metamethod calls (_set/_get), leading to stack exhaustion or corruption.

The ASAN report shows a very deep call stack of Execute -> Call -> FallBackSet, eventually causing a memory access violation 8 bytes past the end of a 16KB allocated region (likely the VM's internal stack sqvector).

Environment

  • OS: Linux x86_64
  • Complier: Clang
  • Build Configuration: Release mode with ASan enabled.

Vulnerability Details

  • Target: Squirrel (squirrel-lang)
  • Vulnerability Type: CWE-674: Uncontrolled Recursion / CWE-122: Heap-based Buffer Overflow
  • Function: SQObjectPtr::operator=
  • Location: squirrel/sqobject.h:269
  • Root Cause Analysis: The crash is triggered by infinite recursion in the script execution.
  1. The stack trace shows repeated calls to FallBackSet -> Set -> Execute, implying a property assignment that triggers a _set metamethod, which in turn triggers another assignment recursively.
  2. The memory allocation trace shows sqvector::_realloc, suggesting this heap buffer is the VM's execution stack.
  3. As the recursion deepens, the stack grows. The crash occurs at 0x529000004208, which is 8 bytes past the allocated chunk [...00004200).
  4. This suggests that either the VM failed to check the stack limit properly, or a pointer to a stack element became invalid/out-of-bounds during the realloc process or subsequent access.

Reproduce

  1. Build squirrel with Release optimization and ASAN enabled.
  2. Run with the crashing file:
./build/bin/sq repro
ASAN report
==45933==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x529000004208 at pc 0x7ff6dd660676 bp 0x7ffcbda3d170 sp 0x7ffcbda3d168
READ of size 8 at 0x529000004208 thread T0
    #0 0x7ff6dd660675 in SQObjectPtr::operator=(SQObjectPtr const&) /src/squirrel/squirrel/sqobject.h:269:16
    #1 0x7ff6dd660675 in SQVM::Return(long long, long long, SQObjectPtr&) /src/squirrel/squirrel/sqvm.cpp:475:19
    #2 0x7ff6dd660675 in SQVM::StartCall(SQClosure*, long long, long long, long long, bool) /src/squirrel/squirrel/sqvm.cpp:446:9
    #3 0x7ff6dd670cc0 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:709:17
    #4 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #5 0x7ff6dd69366e in SQVM::FallBackGet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr&) /src/squirrel/squirrel/sqvm.cpp:1361:16
    #6 0x7ff6dd666974 in SQVM::Get(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr&, unsigned long long, long long) /src/squirrel/squirrel/sqvm.cpp:1299:16
    #7 0x7ff6dd6730ec in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:853:22
    #8 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #9 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #10 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #11 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #12 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #13 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #14 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #15 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #16 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #17 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #18 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #19 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #20 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #21 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #22 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #23 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #24 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #25 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #26 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #27 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #28 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #29 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #30 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #31 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #32 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #33 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #34 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #35 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #36 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #37 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #38 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #39 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #40 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #41 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #42 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #43 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #44 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #45 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #46 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #47 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #48 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #49 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #50 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #51 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #52 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #53 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #54 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #55 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #56 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #57 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #58 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #59 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #60 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #61 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #62 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #63 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #64 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #65 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #66 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #67 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #68 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #69 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #70 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #71 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #72 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #73 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #74 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #75 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #76 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #77 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #78 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #79 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #80 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #81 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #82 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #83 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #84 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #85 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #86 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #87 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #88 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #89 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #90 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #91 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #92 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #93 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #94 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #95 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #96 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #97 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #98 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #99 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #100 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #101 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #102 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #103 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #104 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #105 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #106 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #107 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #108 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #109 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #110 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #111 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #112 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #113 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #114 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #115 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #116 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #117 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #118 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #119 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #120 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #121 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #122 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #123 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #124 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #125 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #126 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #127 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #128 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #129 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #130 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #131 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #132 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #133 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #134 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #135 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #136 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #137 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #138 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #139 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #140 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #141 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #142 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #143 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #144 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #145 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #146 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #147 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #148 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #149 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #150 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #151 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #152 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #153 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #154 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #155 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #156 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #157 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #158 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #159 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #160 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #161 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #162 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #163 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #164 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #165 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #166 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #167 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #168 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #169 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #170 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #171 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #172 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #173 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #174 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #175 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #176 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #177 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #178 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #179 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #180 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #181 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #182 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #183 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #184 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #185 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #186 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #187 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #188 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #189 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #190 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #191 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #192 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #193 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #194 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #195 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #196 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #197 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #198 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #199 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #200 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #201 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #202 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #203 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #204 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #205 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #206 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #207 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #208 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #209 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #210 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #211 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #212 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #213 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #214 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #215 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #216 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #217 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #218 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #219 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #220 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #221 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #222 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #223 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #224 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #225 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #226 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #227 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #228 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #229 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #230 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #231 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #232 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #233 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #234 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #235 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #236 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #237 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #238 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #239 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #240 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #241 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #242 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #243 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #244 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #245 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16
    #246 0x7ff6dd667c84 in SQVM::Set(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&, long long) /src/squirrel/squirrel/sqvm.cpp:1402:12
    #247 0x7ff6dd674149 in SQVM::Execute(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long, SQVM::ExecutionType) /src/squirrel/squirrel/sqvm.cpp:863:22
    #248 0x7ff6dd66e96f in SQVM::Call(SQObjectPtr&, long long, long long, SQObjectPtr&, unsigned long long) /src/squirrel/squirrel/sqvm.cpp:1610:16
    #249 0x7ff6dd695526 in SQVM::FallBackSet(SQObjectPtr const&, SQObjectPtr const&, SQObjectPtr const&) /src/squirrel/squirrel/sqvm.cpp:1431:16

0x529000004208 is located 8 bytes after 16384-byte region [0x529000000200,0x529000004200)
allocated by thread T0 here:
    #0 0x55b351959880 in realloc (/src/squirrel/build/bin/sq+0xcd880) (BuildId: e84909622778a60c07bbbd32568cd4522dcfe97d)
    #1 0x7ff6dd582ce4 in sqvector<SQObjectPtr>::_realloc(unsigned long long) /src/squirrel/squirrel/squtils.h:110:21
    #2 0x7ff6dd582ce4 in sqvector<SQObjectPtr>::resize(unsigned long long, SQObjectPtr const&) /src/squirrel/squirrel/squtils.h:58:13

SUMMARY: AddressSanitizer: heap-buffer-overflow /src/squirrel/squirrel/sqobject.h:269:16 in SQObjectPtr::operator=(SQObjectPtr const&)
Shadow bytes around the buggy address:
  0x529000003f80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x529000004000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x529000004080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x529000004100: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x529000004180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
=>0x529000004200: fa[fa]fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x529000004280: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x529000004300: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x529000004380: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x529000004400: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x529000004480: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07 
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
==45933==ABORTING

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions