View Issue Details

IDProjectCategoryView StatusLast Update
0001003GT-MP ClientStabilitypublic2018-03-22 20:31
ReporterAnonyAssigned To 
PrioritynormalSeverityminorReproducibilitysometimes
Status newResolutionopen 
Product Version 
Target VersionFixed in Version 
Summary0001003: [0.1.7] Client-side crash when loading CEF onResourceLoad
DescriptionNOTE: This issue MIGHT happen only when joining server after fresh GTA V launch.

Two individual scripts (different mods) loads CEF with onResourceLoad event. For unknown reason sometimes after launching GTA V and connecting to server it doesnt load CEF correctly and crash script (leaves fatal error in log).
It is possible to disconnect and reconnect again but it will result in ScriptHook crash "You are not authorized..". After launching GTA again its working as it is intended.
Steps To ReproduceScriptA contains some valid .html
ScriptB contains empty .html

let browser = API.createCefBrowser(1, 1, true);
API.waitUntilCefBrowserInit(browser);
API.setCefBrowserPosition(browser, 0, 0);
API.loadPageCefBrowser(browser, 'ScriptB/empty.html');

API.waitUntilCefBrowserLoaded(browser); // crash
Additional Information[20:32:16.906] [24] [ Info] [RichPresenceService] Found Discord, rich presence inc. nice!
[20:32:49.034] [51] [ Info] [MainCefRenderHandler] Instantiated Renderer
[20:32:52.097] [51] [ Warn] [ScriptContext] ScriptA waitUntilCefBrowserInit TimeOut
[20:32:52.097] [51] [ Warn] [ScriptContext] ScriptA waitUntilCefBrowserInit TimeOut
[20:32:53.173] [51] [ Info] [MainCefRenderHandler] Instantiated Renderer
[20:32:56.187] [51] [ Warn] [ScriptContext] ScriptB waitUntilCefBrowserInit TimeOut
[20:32:56.187] [51] [ Warn] [ScriptContext] ScriptB waitUntilCefBrowserInit TimeOut
[20:32:56.208] [51] [Fatal] [JavascriptHook] CLIENTSIDE ERROR Microsoft.ClearScript.ScriptEngineException: Error: Odwołanie do obiektu nie zostało ustawione na wystąpienie obiektu. ---> System.Reflection.TargetInvocationException: Obiekt docelowy wywołania zgłosił wyjątek. ---> System.NullReferenceException: Odwołanie do obiektu nie zostało ustawione na wystąpienie obiektu.
   w GrandTheftMultiplayer.Client.GUI.CEF.Browser.IsNotLoading()
   w GrandTheftMultiplayer.Client.Javascript.ScriptContext.waitUntilCefBrowserLoaded(Browser browser)
   --- Koniec śladu stosu wyjątków wewnętrznych ---
   w System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   w System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   w System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   w Microsoft.ClearScript.Util.InvokeHelpers.InvokeMethod(IHostInvokeContext context, Object target, MethodInfo method, Object[] args)
   w Microsoft.ClearScript.HostItem.InvokeMethod(String name, Object[] args, Object[] bindArgs)
   w Microsoft.ClearScript.HostItem.InvokeHostMember(String name, BindingFlags invokeFlags, Object[] args, Object[] bindArgs, CultureInfo culture, Boolean& isCacheable)
   w Microsoft.ClearScript.HostItem.InvokeMember(String name, BindingFlags invokeFlags, Object[] args, Object[] bindArgs, CultureInfo culture, Boolean bypassTunneling, Boolean& isCacheable)
   w Microsoft.ClearScript.HostMethod.TryInvoke(IHostInvokeContext context, BindingFlags invokeFlags, Object[] args, Object[] bindArgs, Object& result)
   w Microsoft.ClearScript.Util.InvokeHelpers.TryInvokeObject(IHostInvokeContext context, Object target, BindingFlags invokeFlags, Object[] args, Object[] bindArgs, Boolean tryDynamic, Object& result)
   w Microsoft.ClearScript.HostItem.InvokeHostMember(String name, BindingFlags invokeFlags, Object[] args, Object[] bindArgs, CultureInfo culture, Boolean& isCacheable)
   w Microsoft.ClearScript.HostItem.InvokeMember(String name, BindingFlags invokeFlags, Object[] args, Object[] bindArgs, CultureInfo culture, Boolean bypassTunneling, Boolean& isCacheable)
   w Microsoft.ClearScript.HostItem.<>c__DisplayClass151_0.<InvokeReflectMember>b__0()
   w Microsoft.ClearScript.ScriptEngine.HostInvoke[T](Func`1 func)
   w Microsoft.ClearScript.HostItem.InvokeReflectMember(String name, BindingFlags invokeFlags, Object[] wrappedArgs, CultureInfo culture, String[] namedParams, Boolean& isCacheable)
   w Microsoft.ClearScript.HostItem.System.Reflection.IReflect.InvokeMember(String name, BindingFlags invokeFlags, Binder binder, Object invokeTarget, Object[] wrappedArgs, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParams)
   w Microsoft.ClearScript.HostItem.Microsoft.ClearScript.Util.IDynamic.Invoke(Object[] args, Boolean asConstructor)
   w HostObjectHelpers.Invoke(V8Value* , Void* pvObject, vector<V8Value\,std::allocator<V8Value> >* args, Boolean asConstructor)
   --- Koniec śladu stosu wyjątków wewnętrznych ---
   w V8Exception.ThrowScriptEngineException(V8Exception* )
   w Microsoft.ClearScript.V8.V8ObjectImpl.Invoke(Object[] gcArgs, Boolean asConstructor)
   w Microsoft.ClearScript.V8.V8ScriptItem.TryBindAndInvoke(DynamicMetaObjectBinder binder, Object[] args, Object& result)
   w Microsoft.ClearScript.ScriptItem.<>c__DisplayClass7_0.<TryWrappedBindAndInvoke>b__0()
   w Microsoft.ClearScript.ScriptEngine.ScriptInvoke[T](Func`1 func)
   w Microsoft.ClearScript.V8.V8ScriptEngine.<>c__DisplayClass75_0`1.<ScriptInvoke>b__0()
   w Microsoft.ClearScript.V8.V8ContextProxyImpl.InvokeWithLock(Action gcAction)
   w Microsoft.ClearScript.V8.V8ScriptEngine.ScriptInvoke[T](Func`1 func)
   w Microsoft.ClearScript.ScriptItem.TryWrappedBindAndInvoke(DynamicMetaObjectBinder binder, Object[] wrappedArgs, Object& result)
   w Microsoft.ClearScript.ScriptItem.TryWrappedInvokeOrInvokeMember(DynamicMetaObjectBinder binder, ParameterInfo[] parameters, Object[] args, Object& result)
   w Microsoft.ClearScript.ScriptItem.TryInvoke(InvokeBinder binder, Object[] args, Object& result)
   w CallSite.Target(Closure , CallSite , Object )
   w GrandTheftMultiplayer.Client.Javascript.ClientsideScriptWrapper.StartScript()
   w GrandTheftMultiplayer.Client.Javascript.JavascriptHook.<>c__DisplayClass38_0.<StartScripts>b__0()
   w GrandTheftMultiplayer.Client.Javascript.JavascriptHook.OnTick(Object sender, EventArgs e)
   --- Script error details follow ---
   Error: Odwołanie do obiektu nie zostało ustawione na wystąpienie obiektu.
       at CEF (Script Document:175:13) -> API.waitUntilCefBrowserLoaded(browser);
       at Initialize (Script Document:90:27)
       at Script Document:52:5
[20:32:56.208] [51] [Fatal] [JavascriptHook] CLIENTSIDE ERROR Microsoft.ClearScript.ScriptEngineException: Error: Odwołanie do obiektu nie zostało ustawione na wystąpienie obiektu. ---> System.Reflection.TargetInvocationException: Obiekt docelowy wywołania zgłosił wyjątek. ---> System.NullReferenceException: Odwołanie do obiektu nie zostało ustawione na wystąpienie obiektu.
   w GrandTheftMultiplayer.Client.GUI.CEF.Browser.IsNotLoading()
   w GrandTheftMultiplayer.Client.Javascript.ScriptContext.waitUntilCefBrowserLoaded(Browser browser)
   --- Koniec śladu stosu wyjątków wewnętrznych ---
   w System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   w System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   w System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   w Microsoft.ClearScript.Util.InvokeHelpers.InvokeMethod(IHostInvokeContext context, Object target, MethodInfo method, Object[] args)
   w Microsoft.ClearScript.HostItem.InvokeMethod(String name, Object[] args, Object[] bindArgs)
   w Microsoft.ClearScript.HostItem.InvokeHostMember(String name, BindingFlags invokeFlags, Object[] args, Object[] bindArgs, CultureInfo culture, Boolean& isCacheable)
   w Microsoft.ClearScript.HostItem.InvokeMember(String name, BindingFlags invokeFlags, Object[] args, Object[] bindArgs, CultureInfo culture, Boolean bypassTunneling, Boolean& isCacheable)
   w Microsoft.ClearScript.HostMethod.TryInvoke(IHostInvokeContext context, BindingFlags invokeFlags, Object[] args, Object[] bindArgs, Object& result)
   w Microsoft.ClearScript.Util.InvokeHelpers.TryInvokeObject(IHostInvokeContext context, Object target, BindingFlags invokeFlags, Object[] args, Object[] bindArgs, Boolean tryDynamic, Object& result)
   w Microsoft.ClearScript.HostItem.InvokeHostMember(String name, BindingFlags invokeFlags, Object[] args, Object[] bindArgs, CultureInfo culture, Boolean& isCacheable)
   w Microsoft.ClearScript.HostItem.InvokeMember(String name, BindingFlags invokeFlags, Object[] args, Object[] bindArgs, CultureInfo culture, Boolean bypassTunneling, Boolean& isCacheable)
   w Microsoft.ClearScript.HostItem.<>c__DisplayClass151_0.<InvokeReflectMember>b__0()
   w Microsoft.ClearScript.ScriptEngine.HostInvoke[T](Func`1 func)
   w Microsoft.ClearScript.HostItem.InvokeReflectMember(String name, BindingFlags invokeFlags, Object[] wrappedArgs, CultureInfo culture, String[] namedParams, Boolean& isCacheable)
   w Microsoft.ClearScript.HostItem.System.Reflection.IReflect.InvokeMember(String name, BindingFlags invokeFlags, Binder binder, Object invokeTarget, Object[] wrappedArgs, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParams)
   w Microsoft.ClearScript.HostItem.Microsoft.ClearScript.Util.IDynamic.Invoke(Object[] args, Boolean asConstructor)
   w HostObjectHelpers.Invoke(V8Value* , Void* pvObject, vector<V8Value\,std::allocator<V8Value> >* args, Boolean asConstructor)
   --- Koniec śladu stosu wyjątków wewnętrznych ---
   w V8Exception.ThrowScriptEngineException(V8Exception* )
   w Microsoft.ClearScript.V8.V8ObjectImpl.Invoke(Object[] gcArgs, Boolean asConstructor)
   w Microsoft.ClearScript.V8.V8ScriptItem.TryBindAndInvoke(DynamicMetaObjectBinder binder, Object[] args, Object& result)
   w Microsoft.ClearScript.ScriptItem.<>c__DisplayClass7_0.<TryWrappedBindAndInvoke>b__0()
   w Microsoft.ClearScript.ScriptEngine.ScriptInvoke[T](Func`1 func)
   w Microsoft.ClearScript.V8.V8ScriptEngine.<>c__DisplayClass75_0`1.<ScriptInvoke>b__0()
   w Microsoft.ClearScript.V8.V8ContextProxyImpl.InvokeWithLock(Action gcAction)
   w Microsoft.ClearScript.V8.V8ScriptEngine.ScriptInvoke[T](Func`1 func)
   w Microsoft.ClearScript.ScriptItem.TryWrappedBindAndInvoke(DynamicMetaObjectBinder binder, Object[] wrappedArgs, Object& result)
   w Microsoft.ClearScript.ScriptItem.TryWrappedInvokeOrInvokeMember(DynamicMetaObjectBinder binder, ParameterInfo[] parameters, Object[] args, Object& result)
   w Microsoft.ClearScript.ScriptItem.TryInvoke(InvokeBinder binder, Object[] args, Object& result)
   w CallSite.Target(Closure , CallSite , Object )
   w GrandTheftMultiplayer.Client.Javascript.ClientsideScriptWrapper.StartScript()
   w GrandTheftMultiplayer.Client.Javascript.JavascriptHook.<>c__DisplayClass38_0.<StartScripts>b__0()
   w GrandTheftMultiplayer.Client.Javascript.JavascriptHook.OnTick(Object sender, EventArgs e)
   --- Script error details follow ---
   Error: Odwołanie do obiektu nie zostało ustawione na wystąpienie obiektu.
       at CEF (Script Document:175:13) -> API.waitUntilCefBrowserLoaded(browser);
       at Initialize (Script Document:90:27)
       at Script Document:52:5
[20:32:56.241] [51] [ Warn] [Main] Script <GTMP>bin\scripts\GrandTheftMultiplayer.Client.dll / GrandTheftMultiplayer.Client.Javascript.JavascriptHook took 8766 ms!
[20:32:56.241] [51] [ Warn] [Main] Script <GTMP>\bin\scripts\GrandTheftMultiplayer.Client.dll / GrandTheftMultiplayer.Client.Javascript.JavascriptHook took 8766 ms!
[20:33:11.031] [56] [ Info] [SecureSchemeFactory] [Local mode] Uri: https://scriptA/gui.html
[20:33:11.031] [56] [ Info] [SecureSchemeFactory] Loading: <path>\scriptA\gui.html
[20:33:11.469] [24] [ Info] [ClientsideScriptWrapper] scriptA Calls 937 TicksUsed: 111ms 00:00:00.1110000 Avg 0ms
...
[20:33:11.484] [24] [ Info] [ClientsideScriptWrapper] scriptB Calls 937 TicksUsed: 31ms 00:00:00.0310000 Avg 0ms
...
[20:33:18.632] [24] [ Warn] [Main] Script <GTMP>\bin\scripts\GrandTheftMultiplayer.Client.dll / GrandTheftMultiplayer.Client.Main took 4609 ms!
[20:33:18.632] [24] [ Warn] [Main] Script <GTMP>\bin\scripts\GrandTheftMultiplayer.Client.dll / GrandTheftMultiplayer.Client.Main took 4609 ms!
TagsNo tags attached.

Activities

manaszon

2018-03-22 20:31

reporter   ~0001467

Same here.

Issue History

Date Modified Username Field Change
2018-03-16 22:21 Anony New Issue
2018-03-22 20:31 manaszon Note Added: 0001467