Skip to content
Snippets Groups Projects
user avatar
Lars Kanis authored
The internal object allocated when calling FXSplashWindow.new was FXSplashWindow instead
of FXRbSplashWindow, so that no FXRbUnregisterRubyObj() was called. Therefore the object
was double free'd.

Stacktrace was:
==11529== Invalid read of size 8
==11529==    at 0x9265BBC: FX::FXObject::getClassName() const (FXObject.cpp:280)
==11529==    by 0x862EE55: FXRbObject::freefunc(FX::FXObject*) (markfuncs.cpp:77)
==11529==    by 0x4EA6254: finalize_list (gc.c:2944)
==11529==    by 0x4EAAFC2: rb_gc_call_finalizer_at_exit (gc.c:3075)
==11529==    by 0x4E9773B: ruby_cleanup (eval.c:101)
==11529==    by 0x4E979C4: ruby_run_node (eval.c:244)
==11529==    by 0x4007FA: main (main.c:38)
==11529==  Address 0x75e24c0 is 0 bytes inside a block of size 248 free'd
==11529==    at 0x4C2A4BC: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==11529==    by 0x92B98AD: FX::FXSplashWindow::~FXSplashWindow() (FXSplashWindow.cpp:219)
==11529==    by 0x917C990: FX::FXComposite::~FXComposite() (FXComposite.cpp:304)
==11529==    by 0x929A5EF: FX::FXRootWindow::~FXRootWindow() (FXRootWindow.cpp:209)
==11529==    by 0x929A621: FX::FXRootWindow::~FXRootWindow() (FXRootWindow.cpp:211)
==11529==    by 0x9156DB9: FX::FXApp::~FXApp() (FXApp.cpp:4994)
==11529==    by 0x84912F3: FXRbApp::~FXRbApp() (FXRbApp.cpp:118)
==11529==    by 0x8491347: FXRbApp::~FXRbApp() (FXRbApp.cpp:127)
==11529==    by 0x862EF8E: FXRbObject::freefunc(FX::FXObject*) (markfuncs.cpp:92)
==11529==    by 0x4EA6254: finalize_list (gc.c:2944)
==11529==    by 0x4EAAFC2: rb_gc_call_finalizer_at_exit (gc.c:3075)
==11529==    by 0x4E9773B: ruby_cleanup (eval.c:101)
baaf1384
History