Bug#1036881: whitedune: segfaults
Control: tags -1 + confirmed upstream fixed-upstream
On Sun, May 28, 2023 at 05:07:33PM +0200, Paul Gevers wrote:
> I just tried to run whitedune, but it segfaults.
>
> paul@mulciber ~ $ whitedune
> Segmentation fault (core dumped)
Can confirm.
#0 SFNode::SFNode (this=0x555555c2dba0, value=0x0) at SFNode.cpp:36
#1 0x00005555557272aa in Proto::Proto (this=0x555555c2ce60, scene=0x555555c28fd0, name=...) at Proto.cpp:61
#2 0x00005555557efa6f in GroupProto::GroupProto (this=0x555555c2ce60, scene=0x555555c28fd0, name=<optimized out>, extraChrildrenNodeClass=0) at GroupNode.cpp:35
#3 0x00005555558bddae in ProtoStaticGroup::ProtoStaticGroup (this=0x555555c2ce60, scene=<optimized out>, name=<optimized out>, extraChrildrenNodeClass=<optimized out>) at NodeStaticGroup.cpp:35
#4 0x0000555555845e40 in ProtoGroup::ProtoGroup (this=0x555555c2ce60, scene=<optimized out>, name=<optimized out>) at NodeGroup.cpp:38
#5 0x00005555557ff3bd in ProtoAnchor::ProtoAnchor (this=0x555555c2ce60, scene=<optimized out>) at NodeAnchor.cpp:34
#6 0x00005555556d5dfc in SceneProtoMap::createProtoMap (protos=protos@entry=0x555555c29060, scene=scene@entry=0x555555c28fd0) at SceneProtoMap.cpp:304
#7 0x00005555556d3030 in Scene::Scene (this=0x555555c28fd0) at Scene.cpp:135
#8 0x000055555578e07c in DuneApp::OnFileNewWindow (this=0x555555bfae00) at DuneApp.cpp:364
#9 0x00005555556be331 in main (argc=<optimized out>, argv=0x7fffffffe308) at main.cpp:350
Same bt for `whitedune --help`.
The code there is weird but my C++ is rusty so I don't know if it's
permissible to do (but Google says it's UB so maybe it was a coincidence
that it worked before): Proto::Proto() calls SFNode::SFNode(NULL) which
calls ->ref0() on this NULL, the said method specifically checking for
"this != NULL".
whitedune 0.30.10 was uploaded to Debian in 2011, the current version
(the new homepage is https://wdune.ourproject.org/) is 1.956, released, I
assume, in 2020, and its SFNode::SFNode() doesn't do this anymore. I don't
see a VCS so I can't find a change that did this.
Reply to: