godotengine / godot

Godot Engine – Multi-platform 2D and 3D game engine
https://godotengine.org
MIT License
91.6k stars 21.28k forks source link

undefined symbol: AudioDriverScriptProcessor::finish_driver() #95499

Open Ratio2 opened 3 months ago

Ratio2 commented 3 months ago

Tested versions

Reproducible in master

System information

Any

Issue description

When compiling web with address sanitizer it does not find the function body because it is missing from the source code wasm-ld: error: platform/web/audio_driver_web.web.template_debug.dev.wasm32.nothreads.o: undefined symbol: AudioDriverScriptProcessor::finish_driver()

Steps to reproduce

scons platform=web target=template_debug threads=no dev_build=yes use_asan=yes

Minimal reproduction project (MRP)

N/A

Ratio2 commented 3 months ago

Seems we must remove function without implementation (but there is a small chance that a custom implementation is needed):

diff --git a/platform/web/audio_driver_web.h b/platform/web/audio_driver_web.h
index 46c5ce4de1..2855d7ac5b 100644
--- a/platform/web/audio_driver_web.h
+++ b/platform/web/audio_driver_web.h
@@ -177,7 +177,6 @@ private:
 protected:
        virtual Error create(int &p_buffer_size, int p_output_channels) override;
        virtual void start(float *p_out_buf, int p_out_buf_size, float *p_in_buf, int p_in_buf_size) override;
-       virtual void finish_driver() override;

 public:
        virtual const char *get_name() const override { return "ScriptProcessor"; }