Subject: bug#60237: 30.0.50; tree sitter core dumps when I edebug view a node

From: Stefan Monnier <[email-masked]>
Date: Tue, 28 Feb 2023 23:07:47 -0500

>> > Stefan, could it be a problem for us if garbage-collecting an object
>> > calls xmalloc?  Including if the "memory" profiler is running at the
>> > time of that GC?
>> 
>> I can't think of a fundamental reason why this would be a problem, but
>> as you've seen some code may not be quite ready for it.
>> 
>> I suspect the simplest solution is to do something like what we do
>> for the cpu-profiler, i.e. handle the "time within GC" specially by
>> checking (EQ (backtrace_top_function (), QAutomatic_GC)) to determine
>> that we're within the GC.
>
> Any reason not to install the patch that uses gcsize instead of ASIZE?

That might work, but I suspect there's a good reason why I used
`cpu_gc_count`.  I think running the "normal" profiling code during GC
can cause other problems than just ASIZE because it can/will change
ELisp objects, and modifying the heap while we're doing GC is the
problem that concurrent GCs try to solve: our GC is not equipped
for that.

        Stefan