HTML5 URL Links not working

When clicking on URL links in HTML5 exports from 4.7 preview 8, the javascript crashes and produces the following error:

jsStackTrace@http://jacobbeauseigneur.com/64bit/UE4Game.js:853:12
stackTrace@http://jacobbeauseigneur.com/64bit/UE4Game.js:867:21
abort@http://jacobbeauseigneur.com/64bit/UE4Game.js:5089947:24
abort@http://jacobbeauseigneur.com/64bit/UE4Game.js:9533:2
__ZN20FGenericPlatformMisc11RequestExitEb
[FGenericPlatformMisc::RequestExit(bool)]@http://jacobbeauseigneur.com/64bit/UE4Game.js:4163038:10
__ZN22FOutputDeviceAnsiError9SerializeEPKwN13ELogVerbosity4TypeERK5FName
[FOutputDeviceAnsiError::Serialize?N(wchar_t*)]@http://jacobbeauseigneur.com/64bit/UE4Game.js:2623641:3
__ZN4FMsg4LogfEPKciRK5FNameN13ELogVerbosity4TypeEPKwz
[FMsg::Logf?1(char*, int,
FName?N?&)]@http://jacobbeauseigneur.com/64bit/UE4Game.js:2615796:4
__ZN23FGenericPlatformProcess9LaunchURLEPKwS1_P7FString
[FGenericPlatformProcess::LaunchURL?S(wchar_t*)]@http://jacobbeauseigneur.com/64bit/UE4Game.js:4120377:2
__ZN20UKismetSystemLibrary9LaunchURLERK7FString
[UKismetSystemLibrary::LaunchURL(FString?&)]@http://jacobbeauseigneur.com/64bit/UE4Game.js:4708654:2
__ZN20UKismetSystemLibrary13execLaunchURLER6FFramePv
[UKismetSystemLibrary::execLaunchURL(void*&)]@http://jacobbeauseigneur.com/64bit/UE4Game.js:3800538:2
__ZN9UFunction6InvokeEP7UObjectR6FFramePv
[UFunction::Invoke(void*&)]@http://jacobbeauseigneur.com/64bit/UE4Game.js:3474026:3
__ZN7UObject12CallFunctionER6FFramePvP9UFunction
[UObject::CallFunction(void&,
UFunction?)]@http://jacobbeauseigneur.com/64bit/UE4Game.js:879656:24
__ZN7UObject17execFinalFunctionER6FFramePv
[UObject::execFinalFunction(void&)]@http://jacobbeauseigneur.com/64bit/UE4Game.js:4333029:2
__ZN6FFrame4StepEP7UObjectPv [FFrame::Step(void**)]@http://jacobbeauseigneur.com/64bit/UE4Game.js:3829769:3
__ZN7UObject20ProcessContextOpcodeER6FFramePvb
[UObject::ProcessContextOpcode(void*&,
bool)]@http://jacobbeauseigneur.com/64bit/UE4Game.js:1804289:3
__ZN7UObject22execContext_FailSilentER6FFramePv
[UObject::execContext_FailSilent(void*&)]@http://jacobbeauseigneur.com/64bit/UE4Game.js:4829305:2
__ZN6FFrame4StepEP7UObjectPv [FFrame::Step(void**)]@http://jacobbeauseigneur.com/64bit/UE4Game.js:3829769:3
__ZN7UObject15ProcessInternalER6FFramePv
[UObject::ProcessInternal(void*&)]@http://jacobbeauseigneur.com/64bit/UE4Game.js:981112:4
__ZN7UObject12CallFunctionER6FFramePvP9UFunction
[UObject::CallFunction(void*&,
UFunction?)]@http://jacobbeauseigneur.com/64bit/UE4Game.js:879836:23
__ZN7UObject19execVirtualFunctionER6FFramePv
[UObject::execVirtualFunction(void&)]@http://jacobbeauseigneur.com/64bit/UE4Game.js:3754771:2
__ZN6FFrame4StepEP7UObjectPv [FFrame::Step(void**)]@http://jacobbeauseigneur.com/64bit/UE4Game.js:3829769:3
__ZN7UObject15ProcessInternalER6FFramePv
[UObject::ProcessInternal(void*&)]@http://jacobbeauseigneur.com/64bit/UE4Game.js:981112:4
__ZN9UFunction6InvokeEP7UObjectR6FFramePv
[UFunction::Invoke(void*&)]@http://jacobbeauseigneur.com/64bit/UE4Game.js:3474026:3
__ZN7UObject12ProcessEventEP9UFunctionPv
[UObject::ProcessEvent(void**)]@http://jacobbeauseigneur.com/64bit/UE4Game.js:678071:42
__ZNK15TScriptDelegateI14FWeakObjectPtrE15ProcessDelegateI7UObjectEEvPv
[void
TScriptDelegate(void)]@http://jacobbeauseigneur.com/64bit/UE4Game.js:3225832:2
__ZNK24TMulticastScriptDelegateI14FWeakObjectPtrE24ProcessMulticastDelegateI7UObjectEEvPv
[void
TMulticastScriptDelegate(void*)]@http://jacobbeauseigneur.com/64bit/UE4Game.js:2835517:11
__ZN7UButton18SlateHandleClickedEv [UButton::SlateHandleClicked()]@http://jacobbeauseigneur.com/64bit/UE4Game.js:4132330:2
__ZN21TMemberFunctionCallerI7UButtonMS0_F6FReplyvEEclIJEEEDTclpmdtdefpT3ObjdtdefpT9MemFunPtrspcl7ForwardIT_Efp_EEEDpOS6
[undefined?S?
TMemberFunctionCaller?0()]@http://jacobbeauseigneur.com/64bit/UE4Game.js:3855103:3
__ZNK34TBaseUObjectMethodDelegateInstanceILb0E7UButtonF6FReplyvEJEE7ExecuteEv
[undefined?B?
TBaseUObjectMethodDelegateInstance<0,
undefined?U?>?u()]@http://jacobbeauseigneur.com/64bit/UE4Game.js:2895187:2
__ZN7SButton15OnMouseButtonUpERK9FGeometryRK13FPointerEvent
[SButton::OnMouseButtonUp(FPointerEvent?&&)]@http://jacobbeauseigneur.com/64bit/UE4Game.js:2467737:4
__ZN17FSlateApplication25ProcessMouseButtonUpEventER13FPointerEvent
[FSlateApplication::ProcessMouseButtonUpEvent(FPointerEvent?&)]@http://jacobbeauseigneur.com/64bit/UE4Game.js:949260:6
__ZN17FSlateApplication9OnMouseUpEN13EMouseButtons4TypeE
[FSlateApplication::OnMouseUp?N()]@http://jacobbeauseigneur.com/64bit/UE4Game.js:2510515:3
__ZThn12_N17FSlateApplication9OnMouseUpEN13EMouseButtons4TypeE
[undefined?T()]@http://jacobbeauseigneur.com/64bit/UE4Game.js:4755523:7
__ZN20FHTML5InputInterface4TickEfRK9SDL_EventR10TSharedRefI14FGenericWindowL7ESPMode0EE
[FHTML5InputInterface::Tick?0(float,
double TSharedRef<, undefined?M?*,
FGenericWindow?o?>?e?&&)]@http://jacobbeauseigneur.com/64bit/UE4Game.js:1685744:4
__ZN17FHTML5Application19PollGameDeviceStateEf
[FHTML5Application::PollGameDeviceState(float)]@http://jacobbeauseigneur.com/64bit/UE4Game.js:1727438:4
__ZN17FSlateApplication19PollGameDeviceStateEv
[FSlateApplication::PollGameDeviceState()]@http://jacobbeauseigneur.com/64bit/UE4Game.js:4191021:2
__ZN11FEngineLoop4TickEv [FEngineLoop::Tick()]@http://jacobbeauseigneur.com/64bit/UE4Game.js:340461:3
__Z10HTML5_Tickv [HTML5_Tick()]@http://jacobbeauseigneur.com/64bit/UE4Game.js:5044516:2
dynCall_v@http://jacobbeauseigneur.com/64bit/UE4Game.js:5081777:2
Runtime.dynCall@http://jacobbeauseigneur.com/64bit/UE4Game.js:189:11
Browser_mainLoop_runner/<@http://jacobbeauseigneur.com/64bit/UE4Game.js:9649:5
Browser.mainLoop.runIter@http://jacobbeauseigneur.com/64bit/UE4Game.js:8348:5
Browser_mainLoop_runner@http://jacobbeauseigneur.com/64bit/UE4Game.js:9645:3
If this abort() is unexpected, build
with -s ASSERTIONS=1 which can give
more information.

To view the error yourself, I’ve continued hosting the HTML5 site at www.JacobBeauseigneur.com/64bit/PortfolioArcade

Version: 4.7p8 Binary Build

It seems like FGenericPlatformProcess::LaunchURL is not implemented for HTML5 - UE-10825 has been created for internal tracking - It seems like it should be a quick fix.

I will update this once it has been implemented.

Hi Sephern, This should now be fixed in GitHub master branch.

Just commenting that if the fix was/is in the master branch, it didn’t make it into 4.7.2. I’m downloading from source now to test for myself if it is in the master branch.

I have tried in both the 4.7.3 source and the master branch source, and the links still are not working, and they are giving me the same error.

Hi Sephern,

Is the error log exactly the same? I would expect is to be different as it should be calling a new function. Might be worth confirming you’ve got the commit into your source? The commit to fix the problem was this link text . The commit is in master, so it won’t be in 4.7.3

I was wrong, it is a new error. I apologize, that was my mistake. Here’s the error:

Error: uncaught exception: abort() at
jsStackTrace@http://jacobbeauseigneur.com/HTML5/UE4Game.js:853:1
stackTrace@http://jacobbeauseigneur.com/HTML5/UE4Game.js:867:2
abort@http://jacobbeauseigneur.com/HTML5/UE4Game.js:5090709:2
_abort@http://jacobbeauseigneur.com/HTML5/UE4Game.js:9533:2
dynCall_v@http://jacobbeauseigneur.com/HTML5/UE4Game.js:5082537:10
Runtime.dynCall@http://jacobbeauseigneur.com/HTML5/UE4Game.js:189:4
Browser_mainLoop_runner/<@http://jacobbeauseigneur.com/HTML5/UE4Game.js:9649:5
Browser.mainLoop.runIter@http://jacobbeauseigneur.com/HTML5/UE4Game.js:8348:5
Browser_mainLoop_runner@http://jacobbeauseigneur.com/HTML5/UE4Game.js:9645:3

If this abort() is unexpected, build
with -s ASSERTIONS=1 which can give
more information.

That callstack doesn’t really help much, is there any other error information before it?

There isn’t. It is a rather large project and I haven’t looked into how to gzip yet, but your internet is probably faster than mine.

http://www.jacobbeauseigneur.com/HTML5/PortfolioArcade

It works perfectly when working in editor, and I won’t be at a computer with emscripten, nor do I know exactly how I’d look up any other errors for this from the engine. This iteration may have been packaged in 4.7.2 from the Launcher, but when I get home I will export one with 4.7.3 to grab the error. At home, the error was still giving me this part of the error:

jsStackTrace@http://jacobbeauseigneur.com/64bit/UE4Game.js:853:12 stackTrace@http://jacobbeauseigneur.com/64bit/UE4Game.js:867:21 abort@http://jacobbeauseigneur.com/64bit/UE4Game.js:5089947:24 abort@http://jacobbeauseigneur.com/64bit/UE4Game.js:9533:2

It seems to give less of an error from the server side now than it did for me last night.

I did have it exported from 4.8.0 (master branch) and 4.7.3, and when it didn’t work I deleted out my master branch compiled from the source and went to the 4.7 branch thinking it would work since I believe you made the update in 4.7.2.

When opening the file from my desktop onto Firefox 32-bit in 4.7.3:
link text

Hi Sephern,

Sorry it’s a late reply. Although the fix was done around the 4.7.2 release is not been moved to the 4.7 branch and I wouldn’t expect to be added for any 4.7 release. You’ll have to build from 4.8/master branch to get it.

Thank you so much for the fix! I truly appreciate the time and effort of everyone that helped get this working!