TupleData::copy_on_write doesn't work right with streams
TupleData::copy_on_write overwrites uninitialized String objects when Tuple::fetch_stream_data() is called, resulting in String::raw_unref(0x100000000000) and similar being called.
This has the unfortunate effect of crashing the player immediately when listening to streams. Making Tuple::fetch_stream_data() no-op removes the instability.
#1 Updated by John Lindgren almost 5 years ago
- Category set to libaudcore
- Status changed from New to Closed
- Target version set to 3.6
- % Done changed from 0 to 100
I had changed the assignment in Tuple::set_str() to a placement new but missed the one in TupleData's copy constructor. Sorry about that.