surge-synthesizer / surge-rack

Take Surge and factor it into modules for VCV Rack
GNU General Public License v3.0
168 stars 13 forks source link

Use of uninitialised value in waveshaper panel #992

Closed falkTX closed 8 months ago

falkTX commented 8 months ago

reported by valgrind:

==410701== Use of uninitialised value of size 8
==410701==    at 0x2153183: sst::surgext_rack::waveshaper::ui::WaveshaperPlotWidget::recalcPath() (Waveshaper.cpp:248)
==410701==    by 0x2153310: non-virtual thunk to sst::surgext_rack::waveshaper::ui::WaveshaperPlotWidget::onStyleChanged() (Waveshaper.cpp:159)
==410701==    by 0x2168C11: sst::surgext_rack::style::XTStyle::notifyStyleListeners() (XTStyle.cpp:616)
==410701==    by 0x2164AF7: sst::surgext_rack::widgets::XTModuleWidget::resetStyleCouplingToModule() (XTModuleWidget.cpp:280)
==410701==    by 0x2162907: sst::surgext_rack::waveshaper::ui::WaveshaperWidget::WaveshaperWidget(sst::surgext_rack::waveshaper::Waveshaper*) (Waveshaper.cpp:680)
==410701==    by 0x2163302: rack::CardinalPluginModel<sst::surgext_rack::waveshaper::Waveshaper, sst::surgext_rack::waveshaper::ui::WaveshaperWidget>::createModuleWidget(rack::engine::Module*) (helpers.hpp:75)
==410701==    by 0xA2C0F9: CardinalDISTRHO::CardinalUI::uiIdle() (CardinalUI.cpp:582)
==410701==    by 0xA485DB: plugin_idle (DistrhoUIInternal.hpp:250)
==410701==    by 0xA485DB: CardinalDISTRHO::runSelfTests() (DistrhoPluginJACK.cpp:895)
==410701==    by 0x8ED0AF: main (DistrhoPluginJACK.cpp:1002)

Will send a PR once I find a fix, reporting a bug as a way to save this info for myself too.

falkTX commented 8 months ago

Have a fix for the previous issue, but now there is another:

==424560== Conditional jump or move depends on uninitialised value(s)
==424560==    at 0x7690491: __ieee754_exp_fma (e_exp.c:105)
==424560==    by 0x7651F02: exp@@GLIBC_2.29 (w_exp_template.c:32)
==424560==    by 0x2152E15: pow<int, double> (cmath:418)
==424560==    by 0x2152E15: sst::surgext_rack::waveshaper::ui::WaveshaperPlotWidget::recalcPath() (Waveshaper.cpp:257)
==424560==    by 0x2153310: non-virtual thunk to sst::surgext_rack::waveshaper::ui::WaveshaperPlotWidget::onStyleChanged() (Waveshaper.cpp:159)
==424560==    by 0x2168C01: sst::surgext_rack::style::XTStyle::notifyStyleListeners() (XTStyle.cpp:616)
==424560==    by 0x2164AE7: sst::surgext_rack::widgets::XTModuleWidget::resetStyleCouplingToModule() (XTModuleWidget.cpp:280)
==424560==    by 0x21628F7: sst::surgext_rack::waveshaper::ui::WaveshaperWidget::WaveshaperWidget(sst::surgext_rack::waveshaper::Waveshaper*) (Waveshaper.cpp:680)
==424560==    by 0x21632F2: rack::CardinalPluginModel<sst::surgext_rack::waveshaper::Waveshaper, sst::surgext_rack::waveshaper::ui::WaveshaperWidget>::createModuleWidget(rack::engine::Module*) (helpers.hpp:75)
==424560==    by 0xA2C0F9: CardinalDISTRHO::CardinalUI::uiIdle() (CardinalUI.cpp:582)
==424560==    by 0xA485DB: plugin_idle (DistrhoUIInternal.hpp:250)
==424560==    by 0xA485DB: CardinalDISTRHO::runSelfTests() (DistrhoPluginJACK.cpp:895)
==424560==    by 0x8ED0AF: main (DistrhoPluginJACK.cpp:1002)