Audiokinetic's Community Q&A is the forum where users can ask and answer questions within the Wwise and Strata communities. If you would like to get an answer from Audiokinetic's Technical support team, make sure you use the Support Tickets page.

WAAPI crashes UE4 packaged development builds

0 votes

The default enabled UE4 Wwise integration's "Auto Connect WAAPI" is causing us crashes running packaged builds (Wwise 2019.2.4 + UE 4.25)


Packaged development builds CTD on opening Wwise. No crash screen, crash/other logs. VS callstack showed WAAPI was the culprit 

Is this a known issue? Something that has been patched? Or to do with our project configuration?
Disabling the WAAPI auto connect fixes the problem.

Callstack below.
 

rapidjson::MemoryPoolAllocator<class rapidjson::CrtAllocator>::Malloc(unsigned __int64)	C++
 	rapidjson::GenericValue<struct rapidjson::UTF8<char>,class rapidjson::MemoryPoolAllocator<class rapidjson::CrtAllocator> >::SetObjectRaw(struct rapidjson::GenericMember<struct rapidjson::UTF8<char>,class rapidjson::MemoryPoolAllocator<class rapidjson::CrtAllocator> > *,unsigned int,class rapidjson::MemoryPoolAllocator<class rapidjson::CrtAllocator> &)	C++
 	rapidjson::GenericDocument<struct rapidjson::UTF8<char>,class rapidjson::MemoryPoolAllocator<class rapidjson::CrtAllocator>,class rapidjson::CrtAllocator>::EndObject(unsigned int)	C++
 	rapidjson::GenericReader<struct rapidjson::UTF8<char>,struct rapidjson::UTF8<char>,class rapidjson::CrtAllocator>::ParseObject<0,struct rapidjson::GenericStringStream<struct rapidjson::UTF8<char> >,class rapidjson::GenericDocument<struct rapidjson::UTF8<char>,class rapidjson::MemoryPoolAllocator<class rapidjson::CrtAllocator>,class rapidjson::CrtAllocator> >(struct rapidjson::GenericStringStream<struct rapidjson::UTF8<char> > &,class rapidjson::GenericDocument<struct rapidjson::UTF8<char>,class rapidjson::MemoryPoolAllocator<class rapidjson::CrtAllocator>,class rapidjson::CrtAllocator> &)	C++
 	rapidjson::GenericReader<struct rapidjson::UTF8<char>,struct rapidjson::UTF8<char>,class rapidjson::CrtAllocator>::ParseObject<0,struct rapidjson::GenericStringStream<struct rapidjson::UTF8<char> >,class rapidjson::GenericDocument<struct rapidjson::UTF8<char>,class rapidjson::MemoryPoolAllocator<class rapidjson::CrtAllocator>,class rapidjson::CrtAllocator> >(struct rapidjson::GenericStringStream<struct rapidjson::UTF8<char> > &,class rapidjson::GenericDocument<struct rapidjson::UTF8<char>,class rapidjson::MemoryPoolAllocator<class rapidjson::CrtAllocator>,class rapidjson::CrtAllocator> &)	C++
 	rapidjson::GenericReader<struct rapidjson::UTF8<char>,struct rapidjson::UTF8<char>,class rapidjson::CrtAllocator>::ParseArray<0,struct rapidjson::GenericStringStream<struct rapidjson::UTF8<char> >,class rapidjson::GenericDocument<struct rapidjson::UTF8<char>,class rapidjson::MemoryPoolAllocator<class rapidjson::CrtAllocator>,class rapidjson::CrtAllocator> >(struct rapidjson::GenericStringStream<struct rapidjson::UTF8<char> > &,class rapidjson::GenericDocument<struct rapidjson::UTF8<char>,class rapidjson::MemoryPoolAllocator<class rapidjson::CrtAllocator>,class rapidjson::CrtAllocator> &)	C++
 	[Inline Frame] rapidjson::GenericReader<rapidjson::UTF8<char>,rapidjson::UTF8<char>,rapidjson::CrtAllocator>::Parse(rapidjson::GenericStringStream<rapidjson::UTF8<char>> &) Line 408	C++
 	rapidjson::GenericDocument<rapidjson::UTF8<char>,rapidjson::MemoryPoolAllocator<rapidjson::CrtAllocator>,rapidjson::CrtAllocator>::ParseStream<0,rapidjson::UTF8<char>,rapidjson::GenericStringStream<rapidjson::UTF8<char>>>(rapidjson::GenericStringStream<rapidjson::UTF8<char>> & is) Line 1821	C++
 	[Inline Frame] rapidjson::GenericDocument<rapidjson::UTF8<char>,rapidjson::MemoryPoolAllocator<rapidjson::CrtAllocator>,rapidjson::CrtAllocator>::Parse(const char *) Line 1886	C++
 	[Inline Frame] rapidjson::GenericDocument<rapidjson::UTF8<char>,rapidjson::MemoryPoolAllocator<rapidjson::CrtAllocator>,rapidjson::CrtAllocator>::Parse(const char *) Line 1885	C++
 	[Inline Frame] rapidjson::GenericDocument<rapidjson::UTF8<char>,rapidjson::MemoryPoolAllocator<rapidjson::CrtAllocator>,rapidjson::CrtAllocator>::Parse(const char *) Line 1885	C++
 	AK::WwiseAuthoringAPI::session::got_msg(const std::string & jsonPayload) Line 654	C++
 	AK::WwiseAuthoringAPI::WebSocketClient::OnMessage(mg_connection * conn, int flags, char * data, unsigned __int64 data_len, void * user_data) Line 53	C++
 	read_websocket(mg_connection * conn, int(*)(mg_connection *, int, char *, unsigned __int64, void *) ws_data_handler, void * callback_data) Line 9560	C++
 	websocket_client_thread(void * data) Line 13171	C++
 	[External Code]	
asked Oct 28, 2020 in General Discussion by Alec Brady (700 points)
Thanks for the report, this is not a known issue. Is there a way you could provide the content of the message data from the stack frame at:

AK::WwiseAuthoringAPI::WebSocketClient::OnMessage(mg_connection * conn, int flags, char * data, unsigned __int64 data_len, void * user_data) Line 53
It would also be useful to see the content of jsonPayload as passed to AK::WwiseAuthoringAPI::session::got_msg.
Unfortunately I won't be able to test soon because it was critical to get QA up and running again testing packaged builds/wwise profiling.

Was 100% repro though. I can update when I do it again.

Please sign-in or register to answer this question.

...