[Bug Report] Custom onlinesubsystem login

Hello. I was developing custom onlinesubsystem googleplay login fucntion in C++.
but after update 4.14.0, this function always crash…

here is log.

D/UE4     (24761): LogTemp:Warning: AKAccountManagerBP_C_0 : ShowExternalLoginUI
D/UE4     (24761): [2016.11.26-05.51.20:901][  0]LogTemp:Warning: AKAccountManagerBP_C_0 : ShowExternalLoginUI
D/UE4     (24761): LogTemp:Warning: AKAccountManagerBP_C_0 : Bind and ShowLoginUI Call
D/UE4     (24761): [2016.11.26-05.51.20:901][  0]LogTemp:Warning: AKAccountManagerBP_C_0 : Bind and ShowLoginUI Call
D/UE4     (24761): Google Client Connect using email xxxxxxx@gmail.com
D/UE4     (24761): Google Client Connect using Access Token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
D/UE4     (24761): Google Client connected successfully, Access Token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
D/UE4     (24761): Assertion failed: CurrentLoginTask == nullptr [File:D:\Private\SVN\NextStageUE4140_B\Engine\Plugins\Online\Android\OnlineSubsystemGooglePlay\Source\Private\OnlineSubsystemGooglePlay.cpp] [Line: 266]
D/UE4     (24761): libUE4.so!FDebug::LogAssertFailedMessage(char const*, char const*, int, wchar_t const*, ...)
D/UE4     (24761): libUE4.so!FOnlineSubsystemGooglePlay::ProcessGoogleClientConnectResult(bool, FString)
D/UE4     (24761): libUE4.so![Unknown]()
D/UE4     (24761): libUE4.so![Unknown]()
D/UE4     (24761): libUE4.so!TGraphTask<FSimpleDelegateGraphTask>::ExecuteTask(TArray<FBaseGraphTask*, FDefaultAllocator>&, ENamedThreads::Type)
D/UE4     (24761): libUE4.so!FNamedTaskThread::ProcessTasksNamedThread(int, bool)
D/UE4     (24761): libUE4.so!FNamedTaskThread::ProcessTasksUntilIdle(int)
D/UE4     (24761): libUE4.so![Unknown]()
D/UE4     (24761): libUE4.so!FEngineLoop::Tick()
D/UE4     (24761): libUE4.so!AndroidMain(android_app*)
D/UE4     (24761): libUE4.so!android_main()
D/UE4     (24761): libUE4.so![Unknown]()
D/UE4     (24761): libc.so!__thread_entry()
D/UE4     (24761): libc.so!pthread_create()
D/UE4     (24761): [2016.11.26-05.51.21:331][  0]Assertion failed: Assertion failed: CurrentLoginTask == nullptr [File:D:\Private\SVN\NextStageUE4140_B\Engine\Plugins\Online\Android\OnlineSubsystemGooglePlay\Source\Private\OnlineSubsystemGooglePlay.cpp] [Line: 266]
D/UE4     (24761): [2016.11.26-05.51.21:341][  0]LogWindows: FAndroidMisc::RequestExit(1)
D/UE4     (23138): Battery: status = 3, rawlevel = 85, scale = 100
D/UE4     (23138): nativeBatteryEvent(stat = 3, lvl = 85, t = 33.90)

and here is my code.

void AAKAccountManager::ShowExternalLoginUI()
	UAKLibrary::PrintErrorMessage(this, TEXT("ShowExternalLoginUI"));
	if (IOnlineSubsystem* OnlineSubsystem = IOnlineSubsystem::Get("GooglePlay"))
		UAKLibrary::PrintErrorMessage(this, TEXT("Bind and ShowLoginUI Call"));
		OnCompleteLoginUIClosedDelegate.BindUObject(this, &AAKAccountManager::OnCompleteLoginUIClosed);
		OnlineSubsystem->GetExternalUIInterface()->ShowLoginUI(0, false, OnCompleteLoginUIClosedDelegate);

and I know some rule.
when I set DefaultPlatformService = GooglePlay in DefaultEngine.ini, It’s fine.

but When I set DefaultPlatformService = CustomPlatform in DefaultEngine.ini, It always print my log.

help me…

Hey minnow,

Next time the crash occurs, please provide the following information:

  • Logs from your project’s Saved->Logs folder
  • Machine ID from the Crash Reporter window if you’re getting one, and ensure to hit Send & Close. If you are not getting a crash reporter window, please provide the callstack from Visual Studio.
  • A list of repro steps, or a simplified test project that showcases the issue.

Thank you

Thanks to reply my post, Sean Flint.
Unfortunatly I can’t see callstack, because I run the game in Android device.
Is it possible to see callstack in Android device?..

You can try grabbing the logs off of your device. Here’s a wiki page that goes through how to do this:

Hello, Sean Flint.
First, thanks to give information for me.

but I don’t need to use custom onlinesubsystem at now.
this function transform to custom plugin…

Thanks to give me help.