Every now and then Jaksta crashes. It happened with previous versions, it happens with the latest 220.127.116.11 version. I'm a poweruser. Jaksta is software. There are millions of hardware/software configurations and they can't be all tested. It happens and I'm ok with it. However, since yesterday Jaksta crashed every one or two hours for me. That's too much, even for me. The only thing I changed the last two days was updating the Nvidia drivers from 376.33 to 378.49. So I went to the Windows logs and took a look what is causing the problem.
Every time Jaksta crashes there's the following entries:
Faulting application name: jmrp.exe, version: 18.104.22.168, time stamp: 0x58633d81 Faulting module name: jsc.ni.dll, version: 22.214.171.124, time stamp: 0x58633d82 Exception code: 0xc0000005 Fault offset: 0x002abf93 Faulting process id: 0x1d34 Faulting application start time: 0x01d28533ced92adb Faulting application path: C:\Program Files (x86)\Jaksta Media Recorder 6\jmrp.exe Faulting module path: C:\Windows\assembly\NativeImages_v4.0.30319_32\jsc\5eecf4b6fa63cd16149f13b58c5a2c35\jsc.ni.dll Report Id: 6be97afa-f12e-11e6-a202-c86000451d98.NET Runtime
Application: jmrp.exe Framework Version: v4.0.30319 Description: The process was terminated due to an unhandled exception. Exception Info: System.NullReferenceException at ae6.d(System.IAsyncResult) at System.Net.LazyAsyncResult.Complete(IntPtr) at System.Net.LazyAsyncResult.ProtectedInvokeCallback(System.Object, IntPtr) at System.Net.FixedSizeReader.ReadCallback(System.IAsyncResult) at System.Net.LazyAsyncResult.Complete(IntPtr) at System.Net.ContextAwareResult.CompleteCallback(System.Object) at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object) at System.Net.ContextAwareResult.Complete(IntPtr) at System.Net.LazyAsyncResult.ProtectedInvokeCallback(System.Object, IntPtr) at System.Net.Sockets.BaseOverlappedAsyncResult.CompletionPortCallback(UInt32, UInt32, System.Threading.NativeOverlapped*) at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32, UInt32, System.Threading.NativeOverlapped*)
I couldn't find an answer through Google or in these forums anywhere. I have no idea if it is related to Nvidia's drivers. I just mentioned it because it really was the only thing I changed lately. And because I was too lazy to install an older version to get a previous version of jsc.ni.dll (and copy it over the latest version) I just deleted jsc.ni.dll from the folder, rebooted and gave everything a try. I expected Jaksta to not work without it or spam me with error messages but nothing, it works flawless.
So maybe my "report" helps a bit if someone encounters the same problem. But the question I ask myself is, what's jsc.ni.dll good for anyway?
jsc.ni.dll is the native compiled version of jsc.dll which is in the install folder.
Our Windows products are written in .NET 4.0 (which is part of your os). At install time we run .net's ngen.exe which produces these native versions and should give a performance boost. You can read more about it here.
For whatever reason your system is producing a native dll that crashes. Removing that file, the system will default back to using the managed jsc.dll in the install folder. This is why the application still works.
You can safely remove all native images if you wish by running the following command as an administrator:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\ngen.exe "uninstall" "C:\Program Files (x86)\Jaksta Technologies\Jaksta Media Recorder 6\jmrp.exe"
The application will run using the managed dll's in the install folder.
Its not asking to optimise your system, its asking to optimise JMR's performance on your system. Yes ngen is run on the application to produce native images at that time during the install and won't be if you uncheck that box. Native images are also removed at uninstallation using the command I gave you above. Anyway glad its now working for you.