커뮤니티 Q&A

Audiokinetic의 커뮤니티 Q&A 포럼에 오신 것을 환영합니다. 이 포럼은 Wwise와 Strata 사용자들이 서로 도움을 주는 곳입니다. Audiokinetic의 직접적인 도움을 얻으려면 지원 티켓 페이지를 사용하세요. 버그를 보고하려면 Audiokinetic 런처에서 Bug Report 옵션을 사용하세요. (Q&A 포럼에 제출된 버그 보고는 거절됩니다. 전용 Bug Report 시스템을 사용하면 보고 내용이 담당자에게 정확히 전달되어 문제 해결 가능성이 크게 높아집니다.)<segment 6493>

빠르고 정확한 답변을 얻으려면 질문을 올릴 때 다음 팁을 참고하세요.

  • 구체적인 내용을 적어주세요: 무엇을 하려는지, 혹은 어떤 특정 문제에 부딪혔는지 설명하세요.
  • 핵심 정보를 포함하세요: Wwise와 게임 엔진 버전, 운영체제 등 관련 정보를 함께 제공하세요.
  • 시도한 방법들을 알려주세요: 문제 해결을 위해 이미 어떤 단계를 시도해봤는지 설명해주세요.
  • 객관적인 사실에 초점을 맞추세요: 문제의 기술적 사실을 중심으로 설명하세요. 문제에 집중할수록 다른 사람들이 더 빠르게 해결책을 찾을 수 있습니다.

+3 투표

Hi.

We have just upgraded to Unreal 14.4 and the corresponding WWise plugin. Also upgraded wwise tool and rebuild soundbanks/wem.

Many files are streamed Wem files.

After the upgrade our game has started crashing in CAkUnrealIOHookDeferred::Read  when entering  FIOSystem & IO = FIOSystem::Get();  (?)  where it tries to allocate 18446744072564227002 bytes.

I tracked it down to occur when a special event was played. The event does 'play' and a "seek" 38 seconds into the same audio file. The audio file was set to streaming.

Problem was solved by turning off streaming.   (NOTE: It I do an ingame reload of the level, the game will crash on this 'fixed' event again. )  (And no sounds play when we reload the level.. And this also happened before we did the upgrade which makes me believe this problem is on my side... )

 

But we also one other crash which I have found no solution to.

This crash happens in:

CAkUnrealIOHookDeferred::Close  what seems to be related to the line IO.HintDoneWithFile(*((FString*)in_fileDesc.pCustomParam));

Ran out of memory allocating 18446744072564227002 bytes with alignment 0

 

I've tried to delete old intermediate files and soundbanks, then rebuild all in a hope that the problem was on my side only. No luck.

 

So I guess the question is, Does anyone else have related problems?

 

 

 

 

General Discussion Arnleif M. (340 포인트) 로 부터
I've now tested with an empty level that just plays 1 sound on starts and then reloads the level after 7 seconds. I've also stripped away all but 1 sound in the main soundbank.

All sounds are gone after the reload. Even when you stop and restart the 'game'. Only a restart of unreal fixes sound. Normal unreal sound still work. (The crash hardly happens now, but it has occurred at least one time. That was in CAkUnrealIOHookDeferred::Close on shutdown of 'game')

When the level is loaded the second time, that is when the sound goes away, this line is in the log:

LogLoad: Took 0.044536 seconds to LoadMap(/Game/Developers/Arnleif/UEDPIE_0_ArnleifsTestMap)
[2016.12.06-09.22.02:897][133]LogAkAudio: Audio thread suspended.  Audio output will be silent.

Just a log message. Not an error or warning. I have no clue where it comes from or why.

So it seems like something that is not so dangerous happens, but it leads to all audio to be silent. (Which for me is a serious thing..)

The log will not say anything about banks not being loaded or events not being found.

(I have an oculus connected, in case this has any impact at all..)


Does anyone know what causes the log message "Audio thread suspended.  Audio output will be silent."   ?
Hi,
We are experiencing a similar issue. The function LoadData of AsyncIOSystemBase receives an Invalid FileName and crashes afterwards. We will try turning off the streaming (thanks for the hint, Arnleif), but for us is just a temporary solution, we can't work with that in a long term.

We haven't experienced the log message you talk about.
Same here in 4.14.1. The issue seems to be connected to "CAkUnrealIOHookDeferred::Close" with an "in_fileDesc.pCustomParam" pointing to an invalid FString pointer

>    UE4Editor-Core-Win64-Debug.dll!TArray<wchar_t,FDefaultAllocator>::ResizeForCopy(int NewMax=-572662307, int PrevMax=0) Line 2263    C++
     UE4Editor-Core-Win64-Debug.dll!TArray<wchar_t,FDefaultAllocator>::CopyToEmpty<wchar_t>(const wchar_t * OtherData=0x0000000000000000, int OtherNum=-572662307, int PrevMax=0, int ExtraSlack=0) Line 2291    C++
     UE4Editor-Core-Win64-Debug.dll!TArray<wchar_t,FDefaultAllocator>::operator=(const TArray<wchar_t,FDefaultAllocator> & Other={...}) Line 422    C++
     UE4Editor-Core-Win64-Debug.dll!FAsyncIOSystemBase::QueueDestroyHandleRequest(const FString & FileName={...}) Line 111    C++
     UE4Editor-Core-Win64-Debug.dll!FAsyncIOSystemBase::PlatformHandleHintDoneWithFile(const FString & Filename={...}) Line 202    C++
     UE4Editor-Core-Win64-Debug.dll!FAsyncIOSystemBase::HintDoneWithFile(const FString & Filename={...}) Line 581    C++
     UE4Editor-AkAudio-Win64-Debug.dll!CAkUnrealIOHookDeferred::Close(AkFileDesc & in_fileDesc={...}) Line 340    C++
     UE4Editor-AkAudio-Win64-Debug.dll!AK::StreamMgr::CAkStmTask::~CAkStmTask() Line 963    C++
     UE4Editor-AkAudio-Win64-Debug.dll!AK::StreamMgr::CAkAutoStmDeferredLinedUp::`scalar deleting destructor'(unsigned int)    C++
     UE4Editor-AkAudio-Win64-Debug.dll!AK::StreamMgr::CAkDeviceBase::SchedulerFindNextTask(float & out_fOpDeadline=0.000000000) Line 487    C++
     UE4Editor-AkAudio-Win64-Debug.dll!AK::StreamMgr::CAkDeviceDeferredLinedUp::PerformIO() Line 225    C++
     UE4Editor-AkAudio-Win64-Debug.dll!AK::StreamMgr::CAkIOThread::IOSchedThread(void * lpParameter=0x0000027259ff0a58) Line 297    C++
     kernel32.dll!BaseThreadInitThunk() + 20 bytes    Unknown
     ntdll.dll!RtlUserThreadStart() + 33 bytes    Unknown
We're also having the same crash, when it tries to read from the StreamManager.

FAsyncIOSystemBase::QueueIORequest
FAsyncIOSystemBase::LoadData
CAkUnrealIOHookDeferred::Read
AK::StreamMgr::CAkLowLevelTransferDeferred::Execute
AK::StreamMgr::CAkDeviceDeferredLinedUp::ExecuteTask
AK::StreamMgr::CAkDeviceDeferredLinedUp::PerformIO
AK::StreamMgr::CAkIOThread::IOSchedThread


  The AkFileDesc structure's customParam is pointing to a bad FString - the FString's data field points to freed memory, and fails on this:

IORequest.FileNameHash = FCrc::StrCrc32<TCHAR>(*FileName.ToLower());

 I don't think the refcounting of FStrings is being handled nicely, but that's just a guess.

1 답변

+1 투표
Support tells me that the Unreal Integration team is working on the problem (The crashing). Apparently any fix will not be in Wwise 2016.2.1, but probably the next.
Arnleif M. (340 포인트) 로 부터
The log message "Audio thread suspended.  Audio output will be silent."  is related to Oculus being connected. Disconnecting Oculus will make sound not go away on reload of level.
...