Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] Create Second Axes Point on Y with Default Values and then Set Param Crash Creator. #448

Open
2 tasks done
Richardn2002 opened this issue Sep 28, 2024 · 1 comment
Labels
Bug Something isn't working Triage PR/Issue needs to be triaged.

Comments

@Richardn2002
Copy link
Contributor

Richardn2002 commented Sep 28, 2024

simplescreenrecorder-2024-09-28_19.26.41.mp4

Validations

  • I have checked for similar bug reports and could not find any.
  • I have tested and confirmed that this is an issue in an official branded build.

Describe the bug

Trying to create new axes points for parameters and modify, and software crashed. It should not crash.

Reproduction

  • Start with a puppet and a 2D parameter with one X and one Y axes point at the origin.
  • Enter axes point edit dialog.
  • Click on + in the Y section.
  • Save.
  • Click and drag inside the parameter control panel.
  • Crash.

System Architecture

x86_64

Operating System

Linux

Version

0.8.6

Logs

I managed to generate 4 different backtraces, so I will paste them all here.

Backtrace 0
free(): double free detected in tcache 2

Thread 1 "inochi-creator" received signal SIGABRT, Aborted.
0x00007ffff77883f4 in ?? () from /usr/lib/libc.so.6
(gdb) bt
#0  0x00007ffff77883f4 in ?? () from /usr/lib/libc.so.6
#1  0x00007ffff772f120 in raise () from /usr/lib/libc.so.6
#2  0x00007ffff77164c3 in abort () from /usr/lib/libc.so.6
#3  0x00007ffff7717354 in ?? () from /usr/lib/libc.so.6
#4  0x00007ffff7792765 in ?? () from /usr/lib/libc.so.6
#5  0x00007ffff7794e1f in ?? () from /usr/lib/libc.so.6
#6  0x00007ffff77975ce in free () from /usr/lib/libc.so.6
#7  0x00005555557dfea1 in inochi2d.core.nodes.defstack.Deformation.__aggrDtor() ()
#8  0x0000555555889b3b in rt_finalizeFromGC ()
#9  0x000055555589e542 in core.internal.gc.impl.conservative.gc.Gcx.sweep() ()
#10 0x000055555589b712 in core.internal.gc.impl.conservative.gc.Gcx.fullcollect(bool, bool) ()
#11 0x000055555589d24c in core.internal.gc.impl.conservative.gc.Gcx.smallAlloc(ulong, ref ulong, uint, const(TypeInfo)) ()
#12 0x0000555555899939 in core.internal.gc.impl.conservative.gc.ConservativeGC.runLocked!(core.internal.gc.impl.conservative.gc.ConservativeGC.mallocNoSync(ulong, uint, ref ulong, const(TypeInfo)), core.internal.gc.impl.conservative.gc.mallocTime, core.internal.gc.impl.conservative.gc.numMallocs, ulong, uint, ulong, const(TypeInfo)).runLocked(ref ulong, ref uint, ref ulong, ref const(TypeInfo)) ()
#13 0x000055555589c085 in _DThn16_4core8internal2gc4impl12conservativeQw14ConservativeGC6mallocMFNbmkxC8TypeInfoZPv ()
#14 0x00005555557e0528 in inochi2d.core.nodes.drawable.Drawable.postProcess() ()
#15 0x00005555557e03ae in inochi2d.core.nodes.drawable.Drawable.updateDeform() ()
#16 0x00005555557e0dd9 in inochi2d.core.nodes.drawable.Drawable.update() ()
#17 0x00005555557e848d in inochi2d.core.nodes.Node.update() ()
#18 0x00005555557e4e62 in inochi2d.core.nodes.meshgroup.MeshGroup.update() ()
#19 0x00005555557e848d in inochi2d.core.nodes.Node.update() ()
#20 0x00005555557e848d in inochi2d.core.nodes.Node.update() ()
#21 0x00005555555e9cf2 in creator.viewport.model.incViewportModelDraw(inochi2d.math.camera.Camera) ()
#22 0x00005555555e9c03 in creator.viewport.incViewportDraw() ()
#23 0x0000555555621808 in creator.panels.viewport.ViewportPanel.onUpdate() ()
#24 0x00005555556acfad in app.incUpdate() ()
#25 0x00005555556ace8a in D main ()
Backtrace 1
double free or corruption (!prev)

Thread 1 "inochi-creator" received signal SIGABRT, Aborted.
0x00007ffff77883f4 in ?? () from /usr/lib/libc.so.6
(gdb) bt
#0  0x00007ffff77883f4 in ?? () from /usr/lib/libc.so.6
#1  0x00007ffff772f120 in raise () from /usr/lib/libc.so.6
#2  0x00007ffff77164c3 in abort () from /usr/lib/libc.so.6
#3  0x00007ffff7717354 in ?? () from /usr/lib/libc.so.6
#4  0x00007ffff7792765 in ?? () from /usr/lib/libc.so.6
#5  0x00007ffff77949fc in ?? () from /usr/lib/libc.so.6
#6  0x00007ffff7794cfa in ?? () from /usr/lib/libc.so.6
#7  0x00007ffff77975ce in free () from /usr/lib/libc.so.6
#8  0x00005555557dfea1 in inochi2d.core.nodes.defstack.Deformation.__aggrDtor() ()
#9  0x0000555555889b3b in rt_finalizeFromGC ()
#10 0x000055555589e542 in core.internal.gc.impl.conservative.gc.Gcx.sweep() ()
#11 0x000055555589b712 in core.internal.gc.impl.conservative.gc.Gcx.fullcollect(bool, bool) ()
#12 0x000055555589d24c in core.internal.gc.impl.conservative.gc.Gcx.smallAlloc(ulong, ref ulong, uint, const(TypeInfo)) ()
#13 0x0000555555899939 in core.internal.gc.impl.conservative.gc.ConservativeGC.runLocked!(core.internal.gc.impl.conservative.gc.ConservativeGC.mallocNoSync(ulong, uint, ref ulong, const(TypeInfo)), core.internal.gc.impl.conservative.gc.mallocTime, core.internal.gc.impl.conservative.gc.numMallocs, ulong, uint, ulong, const(TypeInfo)).runLocked(ref ulong, ref uint, ref ulong, ref const(TypeInfo)) ()
#14 0x000055555589c113 in _DThn16_4core8internal2gc4impl12conservativeQw14ConservativeGC6qallocMFNbmkMxC8TypeInfoZSQDd6memory8BlkInfo_ ()
#15 0x000055555587e77c in gc_qalloc ()
#16 0x000055555588947d in _d_newarrayU ()
#17 0x00005555557ecff1 in inochi2d.core.nodes.part.Part.drawSelf!(false).drawSelf() ()
#18 0x00005555557ecacd in inochi2d.core.nodes.part.Part.drawOne() ()
#19 0x00005555557f2a54 in inochi2d.core.puppet.Puppet.draw() ()
#20 0x00005555555e9cfe in creator.viewport.model.incViewportModelDraw(inochi2d.math.camera.Camera) ()
#21 0x00005555555e9c03 in creator.viewport.incViewportDraw() ()
#22 0x0000555555621808 in creator.panels.viewport.ViewportPanel.onUpdate() ()
#23 0x00005555556acfad in app.incUpdate() ()
#24 0x00005555556ace8a in D main ()

Backtrace 2
free(): double free detected in tcache 2

Thread 1 "inochi-creator" received signal SIGABRT, Aborted.
0x00007ffff77883f4 in ?? () from /usr/lib/libc.so.6
(gdb) bt
#0  0x00007ffff77883f4 in ?? () from /usr/lib/libc.so.6
#1  0x00007ffff772f120 in raise () from /usr/lib/libc.so.6
#2  0x00007ffff77164c3 in abort () from /usr/lib/libc.so.6
#3  0x00007ffff7717354 in ?? () from /usr/lib/libc.so.6
#4  0x00007ffff7792765 in ?? () from /usr/lib/libc.so.6
#5  0x00007ffff7794e1f in ?? () from /usr/lib/libc.so.6
#6  0x00007ffff77975ce in free () from /usr/lib/libc.so.6
#7  0x00005555557dfea1 in inochi2d.core.nodes.defstack.Deformation.__aggrDtor() ()
#8  0x0000555555889b3b in rt_finalizeFromGC ()
#9  0x000055555589e542 in core.internal.gc.impl.conservative.gc.Gcx.sweep() ()
#10 0x000055555589b712 in core.internal.gc.impl.conservative.gc.Gcx.fullcollect(bool, bool) ()
#11 0x000055555589d24c in core.internal.gc.impl.conservative.gc.Gcx.smallAlloc(ulong, ref ulong, uint, const(TypeInfo)) ()
#12 0x0000555555899939 in core.internal.gc.impl.conservative.gc.ConservativeGC.runLocked!(core.internal.gc.impl.conservative.gc.ConservativeGC.mallocNoSync(ulong, uint, ref ulong, const(TypeInfo)), core.internal.gc.impl.conservative.gc.mallocTime, core.internal.gc.impl.conservative.gc.numMallocs, ulong, uint, ulong, const(TypeInfo)).runLocked(ref ulong, ref uint, ref ulong, ref const(TypeInfo)) ()
#13 0x000055555589c113 in _DThn16_4core8internal2gc4impl12conservativeQw14ConservativeGC6qallocMFNbmkMxC8TypeInfoZSQDd6memory8BlkInfo_ ()
#14 0x000055555587e77c in gc_qalloc ()
#15 0x000055555588947d in _d_newarrayU ()
#16 0x00005555557e4c23 in inochi2d.core.nodes.meshgroup.MeshGroup.update() ()
#17 0x00005555557e848d in inochi2d.core.nodes.Node.update() ()
#18 0x00005555557e848d in inochi2d.core.nodes.Node.update() ()
#19 0x00005555555e9cf2 in creator.viewport.model.incViewportModelDraw(inochi2d.math.camera.Camera) ()
#20 0x00005555555e9c03 in creator.viewport.incViewportDraw() ()
#21 0x0000555555621808 in creator.panels.viewport.ViewportPanel.onUpdate() ()
#22 0x00005555556acfad in app.incUpdate() ()
#23 0x00005555556ace8a in D main ()
Backtrace 3
free(): double free detected in tcache 2

Thread 1 "inochi-creator" received signal SIGABRT, Aborted.
0x00007ffff77883f4 in ?? () from /usr/lib/libc.so.6
(gdb) bt
#0  0x00007ffff77883f4 in ?? () from /usr/lib/libc.so.6
#1  0x00007ffff772f120 in raise () from /usr/lib/libc.so.6
#2  0x00007ffff77164c3 in abort () from /usr/lib/libc.so.6
#3  0x00007ffff7717354 in ?? () from /usr/lib/libc.so.6
#4  0x00007ffff7792765 in ?? () from /usr/lib/libc.so.6
#5  0x00007ffff7794e1f in ?? () from /usr/lib/libc.so.6
#6  0x00007ffff77975ce in free () from /usr/lib/libc.so.6
#7  0x00005555557dfea1 in inochi2d.core.nodes.defstack.Deformation.__aggrDtor() ()
#8  0x0000555555889b3b in rt_finalizeFromGC ()
#9  0x000055555589e542 in core.internal.gc.impl.conservative.gc.Gcx.sweep() ()
#10 0x000055555589b712 in core.internal.gc.impl.conservative.gc.Gcx.fullcollect(bool, bool) ()
#11 0x000055555589d24c in core.internal.gc.impl.conservative.gc.Gcx.smallAlloc(ulong, ref ulong, uint, const(TypeInfo)) ()
#12 0x0000555555899939 in core.internal.gc.impl.conservative.gc.ConservativeGC.runLocked!(core.internal.gc.impl.conservative.gc.ConservativeGC.mallocNoSync(ulong, uint, ref ulong, const(TypeInfo)), core.internal.gc.impl.conservative.gc.mallocTime, core.internal.gc.impl.conservative.gc.numMallocs, ulong, uint, ulong, const(TypeInfo)).runLocked(ref ulong, ref uint, ref ulong, ref const(TypeInfo)) ()
#13 0x000055555589c113 in _DThn16_4core8internal2gc4impl12conservativeQw14ConservativeGC6qallocMFNbmkMxC8TypeInfoZSQDd6memory8BlkInfo_ ()
#14 0x000055555587e77c in gc_qalloc ()
#15 0x0000555555656774 in std.array.Appender!(immutable(char)[]).Appender.ensureAddable(ulong) ()
#16 0x0000555555867cc2 in std.uni.toCase!(std.uni.toLowerIndex(dchar), 1433, std.uni.toLowerTab(ulong), std.ascii.toLower, immutable(char)[]).toCase(immutable(char)[]) ()
#17 0x0000555555632507 in creator.panels.nodes.NodesPanel.filterNodes(inochi2d.core.nodes.Node) ()
#18 0x000055555563256a in creator.panels.nodes.NodesPanel.filterNodes(inochi2d.core.nodes.Node) ()
#19 0x000055555563256a in creator.panels.nodes.NodesPanel.filterNodes(inochi2d.core.nodes.Node) ()
#20 0x000055555563256a in creator.panels.nodes.NodesPanel.filterNodes(inochi2d.core.nodes.Node) ()
#21 0x000055555563256a in creator.panels.nodes.NodesPanel.filterNodes(inochi2d.core.nodes.Node) ()
#22 0x000055555563256a in creator.panels.nodes.NodesPanel.filterNodes(inochi2d.core.nodes.Node) ()
#23 0x000055555563256a in creator.panels.nodes.NodesPanel.filterNodes(inochi2d.core.nodes.Node) ()
#24 0x000055555563256a in creator.panels.nodes.NodesPanel.filterNodes(inochi2d.core.nodes.Node) ()
#25 0x000055555563256a in creator.panels.nodes.NodesPanel.filterNodes(inochi2d.core.nodes.Node) ()
#26 0x000055555563256a in creator.panels.nodes.NodesPanel.filterNodes(inochi2d.core.nodes.Node) ()
#27 0x000055555563256a in creator.panels.nodes.NodesPanel.filterNodes(inochi2d.core.nodes.Node) ()
#28 0x0000555555632a3e in creator.panels.nodes.NodesPanel.onUpdate() ()
#29 0x00005555556acfad in app.incUpdate() ()
#30 0x00005555556ace8a in D main ()

Additional Context

No response

@Richardn2002 Richardn2002 added Bug Something isn't working Triage PR/Issue needs to be triaged. labels Sep 28, 2024
@Richardn2002 Richardn2002 changed the title [BUG] Create First Axes Point on Y with Default Values and then Set Param Crash Creator. [BUG] Create Second Axes Point on Y with Default Values and then Set Param Crash Creator. Sep 28, 2024
@r888800009
Copy link
Contributor

This bug can be reproduced on macos

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Something isn't working Triage PR/Issue needs to be triaged.
Projects
None yet
Development

No branches or pull requests

2 participants