JRE fatal error while using OpenNI java wrapper - java-native-interface

Im trying to record a depth map to an .oni file with OpenNI using the java wrapper. This is my current code:
Context context = new Context();
DepthGenerator depth = DepthGenerator.create(context);
Recorder recorder = Recorder.create(context, null); //null gives .oni.
recorder.addNodeToRecording(depth);
context.startGeneratingAll();
while(true){
context.waitAnyUpdateAll();
recorder.Record();
}
When Im running it, this error is produced:
A fatal error has been detected by the Java Runtime Environment:
EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x000000005b7bd579, pid=8048, tid=6784
JRE version: 7.0-b147
Java VM: Java HotSpot(TM) 64-Bit Server VM (21.0-b17 mixed mode windows-amd64 compressed oops)
Problematic frame:
V [jvm.dll+0xed579]
Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
An error report file with more information is saved as:
If you would like to submit a bug report, please visit:
http://bugreport.sun.com/bugreport/crash.jsp
Anyone have any ideas?

I figured it out.
Recorder recorder = Recorder.create(context, "oni");
I needed to specify the file format. Passing in a null value was not the best idea obviously.

Related

Run issue with Deepstream 5.1 and YOLOv4

Complete information of setup.
• Hardware Platform (Jetson / GPU) : GPU
• CUDA : 11.1
• DeepStream Version : 5.1
• JetPack Version (valid for Jetson only): None
• TensorRT Version : 7.2.3.4
• NVIDIA GPU Driver Version (valid for GPU only) : 460.84
I have done Deepstream 5.1 setup and while Run the Sample getting below error.
Can anybody help me around?
ERROR:
............
(deepstreamer_env) xxxx#xxxx:/opt/nvidia/deepstream/deepstream-5.1/sources/deepstream_yolov4$ deepstream-app -c deepstream_app_config_yoloV4.txt
Unknown or legacy key specified 'is-classifier' for group [property]
** ERROR: main:655: Failed to set pipeline to PAUSED
Quitting
ERROR from sink_sub_bin_sink1: Could not open file "yolov4.mp4" for writing.
Debug info: gstfilesink.c(431): gst_file_sink_open_file (): /GstPipeline:pipeline/GstBin:processing_bin_0/GstBin:sink_bin/GstBin:sink_sub_bin1/GstFileSink:sink_sub_bin_sink1:
system error: Permission denied
ERROR from sink_sub_bin_sink1: GStreamer error: state change failed and some element failed to post a proper error message with the reason for the failure.
Debug info: gstbasesink.c(5265): gst_base_sink_change_state (): /GstPipeline:pipeline/GstBin:processing_bin_0/GstBin:sink_bin/GstBin:sink_sub_bin1/GstFileSink:sink_sub_bin_sink1:
Failed to start
App run failed
#deepstream #tensorrt #yolov4
It looks like that deepstream can not write into the specified directory because of permission issue. You may first check if your user has write permission to that directory or run the app with sudo.

Omnet++ (Eclipse IDE?) crashes when running INET projects - EXCEPTION_ACCESS_VIOLATION in opplibs.dll

Currently working with Omnet++ and INET on my bachelors thesis. I managed to work just fine, however since a few weeks my Omnet IDE starts crashing either when trying to run a simulation, or just after a few minutes when opening normally.
I've already reinstalled the entire Omnet++ and Inet package, as if it were entirely new. After this reinstall, the IDE doesn't seem to crash by itself anymore, and I'm able to run non INET simulations. However, still, after trying to run a INET simulation the program crashes immediatly.
Here's an error similar to all the ones I get, usually with just few differences:
# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x000000006848962e, pid=14676, tid=0x0000000000001f98
#
# JRE version: Java(TM) SE Runtime Environment (8.0_102-b14) (build 1.8.0_102-b14)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.102-b14 mixed mode windows-amd64 compressed oops)
# Problematic frame:
# C [opplibs.dll+0xc962e]
#
opplibs.dll is in every single one of these error messages. But even a reinstalled opplibs has not fixed the issue. I'm really at a wits end and need pointers. Thank you.
AFAIK this project have its repository on github - https://github.com/omnetpp/omnetpp
so it's the best place to ask for it. Simply go to "Issues" bookmark and search for your issue or create new one.
You can also look there for similiar issues: Possible causes of Java VM EXCEPTION_ACCESS_VIOLATION?
I managed to figure out the mistake in this part.
Inside my .ini file, I was calling
tkenv-plugin-path = ../../../etc/plugins , however due to a change in my file structure that path was no longer correct. This was throwing the EXCEPTION_ACCESS_VIOLATION without any further error message.

Windows biometric framework sample umdf driver: This device cannot start. (Code 10)

I am trying to run a windows biometric driver sample and I am naive to driver development
I have changed the hardware id in the inx file and rebuilt the driver project and installed the resulting driver on my Windows 10 Pro version 1803.
I am using a Fingerprint Morpho Device 1300 E3
Driver got installed successfully but there is one error showing up:
This device cannot start. (Code 10)
The specified request is not a valid operation for the target device.
I reviewed the file C:\Windows\INF\setupapi.dev.log
It shows the next warnings:
sig: {_VERIFY_FILE_SIGNATURE} 10:13:03.130
sig: Key = wudfbiousbsample.inf
sig: FilePath = C:\WINDOWS\System32\DriverStore\Temp\{ee9ffca3-751f-0b4e-a7ac-dce2543d995e}\wudfbiousbsample.inf
sig: Catalog = C:\WINDOWS\System32\DriverStore\Temp\{ee9ffca3-751f-0b4e-a7ac-dce2543d995e}\biometrics.cat
! sig: Verifying file against specific (valid) catalog failed.
! sig: Error 0x800b0109: A certificate chain processed, but terminated in a root certificate which is not trusted by the trust provider.
!!! dvi: Device not started: Device has problem: 0x0a (CM_PROB_FAILED_START), problem status: 0xc0000450.
But I installed the TestCertificate on the Trusted Root Certification Authorities and Trusted Publishers on the local machine
I also checked the EventViewer:
Application and Services Logs > Microsoft\Windows\CodeIntegrity
Application and Services Logs > Microsoft\Windows\Biometrics
I tried to debug with wdfverifier.exe following some videos from msdn but the process is not started so I couldn't debug :(
I verified that Visual Studio is not signing the EngineAdapter.dll plugin file so I disabled driver signing and did it manually following this paper. But I get the same error code 10 :(
I also wondered if error code 10 is this the expected behavior because the code of EngineAdapter.dll is not implemented.
UPDATE: I am testing on a Windows 10 Pro Version 1709 Virtual Machine VMWare and I get other error:
This device is not working properly because Windows cannot load the drivers required for this device. (Code 31)
!!! dvi: Device not started: Device has problem: 0x1f (CM_PROB_FAILED_ADD), problem status: 0xc0000001.
And the same warnings:
sig: {_VERIFY_FILE_SIGNATURE} 17:19:01.646
sig: Key = wudfbiousbsample.inf
sig: FilePath = C:\Windows\System32\DriverStore\Temp\{85323f79-3f5f-f84c-a52b-639b6ae57db1}\wudfbiousbsample.inf
sig: Catalog = C:\Windows\System32\DriverStore\Temp\{85323f79-3f5f-f84c-a52b-639b6ae57db1}\biometrics.cat
! sig: Verifying file against specific (valid) catalog failed.
! sig: Error 0x800b0109: A certificate chain processed, but terminated in a root certificate which is not trusted by the trust provider.
sig: {_VERIFY_FILE_SIGNATURE exit(0x800b0109)} 17:19:01.661
sig: {_VERIFY_FILE_SIGNATURE} 17:19:01.676
sig: Key = wudfbiousbsample.inf
sig: FilePath = C:\Windows\System32\DriverStore\Temp\{85323f79-3f5f-f84c-a52b-639b6ae57db1}\wudfbiousbsample.inf
sig: Catalog = C:\Windows\System32\DriverStore\Temp\{85323f79-3f5f-f84c-a52b-639b6ae57db1}\biometrics.cat
sig: Success: File is signed in Authenticode(tm) catalog.
sig: Error 0xe0000241: The INF was signed with an Authenticode(tm) catalog from a trusted publisher.
sig: {_VERIFY_FILE_SIGNATURE exit(0xe0000241)} 17:19:01.708
sto: {DRIVERSTORE IMPORT VALIDATE: exit(0x00000000)} 17:19:01.739
Full log file here setupapi.dev.log
I tought the driver does not load because the warnings about the certificate or the error could be somewhere else.
If someone could give me a small advice to continue. I am stuck now :(
Many Thanks.
All started when I was able to install my Biometric Driver but it showed a "Yellow Exclamation Mark" and a generic message "This device cannot start. (Code 10)"
The biometric sample project does not include an example how to sign properly EngineAdapter.dll with Visual Studio I found this resource (page 33-34) where shows How to Sign The EngineAdapter on project properties Build Events -> Post Build Event:
Command Line: signtool sign /v /ac "Path_to_cross_certificate_DigiCert Assured ID Root CA.crt" /tr http://timestamp.digicert.com /td sha256 /fd sha256 /f "path_to_my_certificate_file.pfx" /p mypassword "$(Platform)\$(ConfigurationName)\EngineAdapter.dll"
Use In Build: Yes
Next This first video tutorial shows an example of debugging umdf driver using a tool from the WDK wdfverifier.exe
I couldn't attach the debugger to my driver process because the process is not present. But I could debug at startup before the process crashes.
To debug with wdfverifier.exe I took the following steps:
Settings Tab:
Check the option "Automatically Launch user-mode debugger when requested", specify 15 seconds in the input "Host Process will wait"
Preferences Tab:
Check "Use WinDbg", then
Disable/Enable my device on Device Manager
WinDbg launches and I can check if my driver module was loaded with the next command:
lm m *bio*
//the module is not loaded, use g commant to continue
g
//again see if the module was loaded
lm m *bio*
//module shows up, great!
Now I can set break points but before that I had to specify to WinDbg where are the symbol file (*.pdb) and source code of the driver with the next commands (the paths may be different if you build the package project, I am building the WudfBioUsbSample with a reference to EngineAdapter Project):
.symfix
.srcpath+ C:\Users\myuser\Documents\Windows-driver-samples\biometrics\driver
.sympath+ C:\Users\myuser\Documents\Windows-driver-samples\biometrics\driver\x64\Debug
.reload /f
Next I could set a break point:
//x command is used to search if the method exist
x WudfBioUsbSample!CBiometricDriver::*
x WudfBioUsbSample!CBiometricDevice::*
x WudfBioUsbSample!CBiometricDevice::OnGetAttributes
//examples of breakpoints
bp WudfBioUsbSample!CBiometricDriver::OnDeviceAdd
bp WudfBioUsbSample!CBiometricDevice::OnGetAttributes
bp WudfBioUsbSample!CBiometricDevice::CreateUsbIoTargets
The method CreateUsbIoTargets is where the errors show up. These errors are fixed by JinZhuXing in this github issue
After fixing the driver code and debugging that the method CreateUsbIoTargets runs Ok
Still showed me The Yellow Exclamation Mark but this time the error was in the EngineAdapter.dll. The next error shows in EventViewer: Application and Services Logs > Microsoft\Windows\Biometrics
The module's "Engine Adapter" initialization routine failed with error: 0x80004001
The EngineAdapter project methods were returning E_NOTIMPL I just changed this to return S_OK instead for all methods. And the biometric unit was successfully created.
Also debugging of the Engine Plugin is done with Visual Studio. Here are the steps I followed:
Use wdfverifier.exe to attach WinDbg to the process of my umdf driver and set a break point to OnGetAttributes method (this method is called when I start/restart the Windows Biometric Service)This breakpoint will make the service to wait before it calls the EngineAdapter Plugin code.
x WudfBioUsbSample!CBiometricDevice::OnGetAttributes
bp WudfBioUsbSample!CBiometricDevice::OnGetAttributes
g
Restart or start Windows Biometric Service (WbioSrvc on Task Manager->Services Tab)
Copy The Process ID (PID)
Run Visual Studio as Administrator, Open WBDIsample project
Use Menu Debug -> Attach to Process...
Enter the following values:
Connection Type: Windows User Mode Debugger
Connection Target: Localhost
Check "Show processes from all users"
Filter by Process ID
Select the process and Click Attach button.
Set Breakpoints on WbioQueryEngineInterface, EngineAdapterAttach, EngineAdapterDetach
a sample implementation is on msdn
run the command g (Go) on WinDbg
g
After this you can debug the code of the plugin on Visual Studio.
What is left is to implement the code for the Biometric Driver and The necessary plugins for your device

Using node-ffi with Electron not working (cannot find message text for message number 0x%1...)

I'm actually trying to use a dll with electron but I've got an error when it reaches the line:
const ffi = require("ffi");
Error
Translation : The system cannot find message text for message number
0x%1 in the message file for %2
Using Electron 1.8.2
newbie here. After some research it might be because you're trying to laod a 32-bit DLL in a 64-bit environment.
Check this post for more info.

NS_ERROR_XPC_GS_RETURNED_FAILURE error code

I'm developing extension for Firefox which calls XPCOM component writen in C++ and I get this error:
[Exception... "Component returned failure code: 0x80570016
(NS_ERROR_XPC_GS_RETURNED_FAILURE) [nsIJSCID.getService]" nsresult: "0x80570016
(NS_ERROR_XPC_GS_RETURNED_FAILURE)" location: "JS frame ::
chrome://testtest/content/mytest.js :: loadTestPage :: line 128" data: no]
When I try to execute this code from java script:
cid = '#myCompany.com/MyComponent;1';
obj = Components.classes[cid].getService(Components.interfaces.IMyComponent);
Does anybody know what this error code means?
This error occures only on few machines running Vista (both x86 and x64) running FF 3.5.2 (32-bits official build, even after FF is reinstalled and new profiles are created), on other platforms it is working. XPCOM component is compiled with Visual C++ 2008 (sp1).
I tried to delete compreg.dat and xpti.dat and it doesn't work, I also tried to create new profile and then install extension again but still I get the same error.
I know for a fact that Firefox successfully loads my XPCOM component and that component is working, because I can access and use it from another component written in javascript.
Evaluating from error console also works.
Expression:
Components.classes['#myCompany.com/MyComponent;1'].getService(
Components.interfaces.IMyComponent);
returns:
[xpconnect wrapped IMyComponent]
Thanks!
It's also possible that you're trying to call .getService while you're still in the middle of component registration. You should not try to create any external components during registration, because they may not be registered or completely available yet.
The error means that your component threw during the getService call.