Skip to content

crash when creating playbackprocessor with empty ndarray #219

@diemoschwarz

Description

@diemoschwarz

trying to create an empty PlaybackProcessor to be set_dataed later with

infilegen = engine.make_playback_processor("infile", np.ndarray([]))

crashes with

Thread 0 Crashed:
0   dawdreamer.so                 	       0x10baa32e0 PlaybackProcessor::setData(nanobind::ndarray<float>) + 52
1   dawdreamer.so                 	       0x10baa3240 PlaybackProcessor::PlaybackProcessor(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, nanobind::ndarray<float>) + 312
2   dawdreamer.so                 	       0x10baa3094 RenderEngine::makePlaybackProcessor(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, nanobind::ndarray<float>) + 144
3   dawdreamer.so                 	       0x10bac7878 _object* nanobind::detail::func_create<false, true, void nanobind::cpp_function_def<RenderEngine, PlaybackProcessor*, RenderEngine, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, nanobind::ndarray<float>, nanobind::scope, nanobind::name, nanobind::is_method, nanobind::arg, nanobind::arg, nanobind::rv_policy, char [26]>(PlaybackProcessor* (RenderEngine::*)(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, nanobind::ndarray<float>), nanobind::scope const&, nanobind::name const&, nanobind::is_method const&, nanobind::arg const&, nanobind::arg const&, nanobind::rv_policy const&, char const (&) [26])::'lambda'(RenderEngine*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, nanobind::ndarray<float>), PlaybackProcessor*, RenderEngine*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, nanobind::ndarray<float>, 0ul, 1ul, 2ul, nanobind::scope, nanobind::name, nanobind::is_method, nanobind::arg, nanobind::arg, nanobind::rv_policy, char [26]>(RenderEngine&&, PlaybackProcessor* (*)(nanobind::scope, nanobind::name, nanobind::is_method, nanobind::arg, nanobind::arg, nanobind::rv_policy, char [26]), std::__1::integer_sequence<unsigned long, 0ul, 1ul, 2ul>, nanobind::scope const&, nanobind::name const&, nanobind::is_method const&, nanobind::arg const&, nanobind::arg const&, nanobind::rv_policy const&, char const (&) [26])::'lambda'(void*, _object**, unsigned char*, nanobind::rv_policy, nanobind::detail::cleanup_list*)::__invoke(void*, _object**, unsigned char*, nanobind::rv_policy, nanobind::detail::cleanup_list*) + 436
4   dawdreamer.so                 	       0x10ba923c4 nanobind::detail::nb_func_vectorcall_complex(_object*, _object* const*, unsigned long, _object*) + 1980
5   Python                        	       0x10151c598 PyObject_Vectorcall + 92
6   Python                        	       0x1016452e8 _PyEval_EvalFrameDefault + 6856
7   Python                        	       0x1016435a4 PyEval_EvalCode + 200
8   Python                        	       0x1016b3d04 run_eval_code_obj + 104

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions