Technical Support for Jaksta Media Recorder
Faulting module jsc.ni.dll
Asked by Andreas @ 13 Feb 2017 00:02 / Views: 25
Every now and then Jaksta crashes. It happened with previous versions, it happens with the latest 22.214.171.124 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: 126.96.36.199, time stamp: 0x58633d81 Faulting module name: jsc.ni.dll, version: 188.8.131.52, 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?
From Andreas @ 13 Feb 2017 00:02
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.
From CRS @ 13 Feb 2017 08:02
At some point, during install, Jaksta ask if it should optimize my system. Is this were said dll comes from? That would be a bit weird since I thought I told it not to (because, to be honest, any program asking to optimize my system sounds suspicious and just wrong to me).
Anways, after two days of intense testing without the dll (I didn't remove all native images) I can say that this change resulted in the most stable Jaksta version ever. Not a single crash, no performance loss at all. Even clicking on "auto" in short intervals, something Jaksta didn't forgive in the past, works like a charm now.
From Andreas @ 15 Feb 2017 04:02
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.
From CRS @ 15 Feb 2017 14:02