matrixorigin / matrixone

Hyperconverged cloud-edge native database
https://docs.matrixorigin.cn/en
Apache License 2.0
1.76k stars 273 forks source link

[Subtask]: missing free in table scan #17683

Closed reusee closed 2 days ago

reusee commented 1 month ago

Parent Issue

16965

Detail of Subtask

boot MO in this branch: https://github.com/reusee/matrixone/tree/freevector missing free

panic: missing free. allocated at goroutine 2133 [running]:
runtime/debug.Stack()
    /usr/lib/golang/src/runtime/debug/stack.go:24 +0x5e
github.com/matrixorigin/matrixone/pkg/common/malloc.GetStacktraceID(0x1)
    /home/reus/mo/freevector/pkg/common/malloc/stacktrace.go:53 +0x21a
github.com/matrixorigin/matrixone/pkg/container/vector.newFreeGuard()
    /home/reus/mo/freevector/pkg/container/vector/free_guard.go:32 +0x18
github.com/matrixorigin/matrixone/pkg/container/vector.NewVecFromReuse(...)
    /home/reus/mo/freevector/pkg/container/vector/reuse.go:49
github.com/matrixorigin/matrixone/pkg/container/vector.NewVec({0x1c, 0x0, 0x0, 0x0, 0x8, 0x40, 0xffffffff})
    /home/reus/mo/freevector/pkg/container/vector/vector.go:303 +0x48
github.com/matrixorigin/matrixone/pkg/vm/process.(*Process).GetVector(0x42793c0?, {0x1c, 0x0, 0x0, 0x0, 0x8, 0x40, 0xffffffff})
    /home/reus/mo/freevector/pkg/vm/process/process2.go:67 +0xb7
github.com/matrixorigin/matrixone/pkg/vm/engine/disttae.(*PartitionReader).Read(0xc01263ac00, {0x40d02c?, 0x0?}, {0xc012636330, 0x3, 0x3}, 0x4a9d8e6?, 0xc012765340, {0x55a1ef0, 0xc011d0fe00})
    /home/reus/mo/freevector/pkg/vm/engine/disttae/partition_reader.go:159 +0x313
github.com/matrixorigin/matrixone/pkg/vm/engine/disttae.(*mergeReader).Read(0xc011ced1e8, {0x55ce358, 0xc012637bc0}, {0xc012636330, 0x3, 0x3}, 0x0, 0xc012765340, {0x55a1ef0, 0xc011d0fe00})
    /home/reus/mo/freevector/pkg/vm/engine/disttae/reader.go:663 +0x18b
github.com/matrixorigin/matrixone/pkg/vm/engine/disttae.(*mergeReader).Read(0xc011ced1d0, {0x55ce358, 0xc012637bc0}, {0xc012636330, 0x3, 0x3}, 0x0, 0xc012765340, {0x55a1ef0, 0xc011d0fe00})
    /home/reus/mo/freevector/pkg/vm/engine/disttae/reader.go:663 +0x18b
github.com/matrixorigin/matrixone/pkg/sql/colexec/table_scan.(*TableScan).Call(0xc00834a630, 0xc011d0fe00)
    /home/reus/mo/freevector/pkg/sql/colexec/table_scan/table_scan.go:113 +0x486
github.com/matrixorigin/matrixone/pkg/sql/colexec/filter.(*Filter).Call(0xc000143650, 0xc011d0fe00)
    /home/reus/mo/freevector/pkg/sql/colexec/filter/filter.go:69 +0x8a
github.com/matrixorigin/matrixone/pkg/sql/colexec/projection.(*Projection).Call(0xc00909d680, 0xc011d0fe00)
    /home/reus/mo/freevector/pkg/sql/colexec/projection/projection.go:63 +0x84
github.com/matrixorigin/matrixone/pkg/sql/colexec/connector.(*Connector).Call(0xc01263a240, 0xc011d0fe00)
    /home/reus/mo/freevector/pkg/sql/colexec/connector/connector.go:47 +0x6e
github.com/matrixorigin/matrixone/pkg/vm/pipeline.(*Pipeline).run(0xc011883ca8, 0xc011d0fe00)
    /home/reus/mo/freevector/pkg/vm/pipeline/pipeline.go:107 +0xeb
github.com/matrixorigin/matrixone/pkg/vm/pipeline.(*Pipeline).Run(0xc011883ca8, {0x55ddc60, 0xc011ced1d0}, 0x0, 0xc011d0fe00)
    /home/reus/mo/freevector/pkg/vm/pipeline/pipeline.go:64 +0xd8
github.com/matrixorigin/matrixone/pkg/sql/compile.(*Scope).Run(0xc0004d7d40, 0xc0125bab60)
    /home/reus/mo/freevector/pkg/sql/compile/scope.go:218 +0x265
github.com/matrixorigin/matrixone/pkg/sql/compile.(*Scope).ParallelRun(0xc0004d7d40, 0xc0125bab60)
    /home/reus/mo/freevector/pkg/sql/compile/scope.go:449 +0x1a5
github.com/matrixorigin/matrixone/pkg/sql/compile.(*Scope).RemoteRun(0xc0004d7d40, 0xc0125bab60)
    /home/reus/mo/freevector/pkg/sql/compile/scope.go:375 +0x388
github.com/matrixorigin/matrixone/pkg/sql/compile.(*Scope).MergeRun.func1()
    /home/reus/mo/freevector/pkg/sql/compile/scope.go:287 +0x1cc
github.com/panjf2000/ants/v2.(*goWorker).run.func1()
    /home/reus/pkg/mod/github.com/panjf2000/ants/v2@v2.7.4/worker.go:67 +0x8d
created by github.com/panjf2000/ants/v2.(*goWorker).run in goroutine 2130
    /home/reus/pkg/mod/github.com/panjf2000/ants/v2@v2.7.4/worker.go:48 +0x5c

Describe implementation you've considered

No response

Additional information

No response

reusee commented 1 month ago

disttae reader 路径正在重构,等重构完成,会再检测一次 如果检测到,再更新此 issue 相关PR:https://github.com/matrixorigin/matrixone/pull/17569

triump2020 commented 1 week ago

@aressu1985 Pls close it ,since reader refactor had been merged.