Log in

View Full Version : GRIP Deploy Not Working


Jayd009
15-10-2016, 12:56
Hello everyone,

My team is trying to use GRIP on our Raspberry Pi 3 to run the vision code for our robot. Each time we deploy, we keep recieving an error that I have pasted at the bottom of this post. We've followed all of the steps at https://github.com/WPIRoboticsProjects/GRIP/wiki/Running-GRIP-on-a-Raspberry-Pi-2 and have copied over the shared libraries. Each time we deploy, it keeps saying that it can't instantiate files related to network tables. I'm sure that we have placed the shared libraries in the right folders and have deployed the project to the right folder, so do you know why this isn't working? I'm using GRIP 1.2 on Raspbian.

Thanks,

Jonathan



/usr//bin/java -Xmx50m -XX:-OmitStackTraceInFastThrow -XX:+HeapDumpOnOutOfMemoryError -jar '/home/pi/code/grip/grip.jar' '/home/pi/code/grip/project.grip'
Loading Dependency Injection Framework
Oct 15, 2016 3:58:43 PM java.util.logging.LogManager$RootLogger log
CONFIG: Configuration done.
Oct 15, 2016 3:58:43 PM java.util.logging.LogManager$RootLogger log
CONFIG: GRIP Version: 1.2.0-5-g3a658db
platform: /Linux/arm/
Oct 15, 2016 3:58:45 PM edu.wpi.grip.core.GRIPCoreModule onThreadException
SEVERE: Uncaught Exception on thread Thread[main,5,main]
com.google.inject.ProvisionException: Unable to provision, see the following errors:

1) Error injecting constructor, java.lang.UnsatisfiedLinkError: no ntcore in java.library.path
at edu.wpi.grip.core.operations.networktables.NTManag er.<init>(Unknown Source)
at edu.wpi.grip.core.operations.networktables.NTManag er.class(Unknown Source)
while locating edu.wpi.grip.core.operations.networktables.NTManag er
for field at edu.wpi.grip.core.Pipeline.ntManager(Unknown Source)
at edu.wpi.grip.core.Pipeline.class(Unknown Source)
while locating edu.wpi.grip.core.Pipeline
for field at edu.wpi.grip.core.serialization.Project.pipeline(U nknown Source)
at edu.wpi.grip.core.serialization.Project.class(Unkn own Source)
while locating edu.wpi.grip.core.serialization.Project
for field at edu.wpi.grip.core.Main.project(Unknown Source)
while locating edu.wpi.grip.core.Main
Caused by: java.lang.UnsatisfiedLinkError: no ntcore in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java :1864)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1122)
at edu.wpi.first.wpilibj.networktables.NetworkTablesJ NI.<clinit>(NetworkTablesJNI.java:57)
at edu.wpi.grip.core.operations.networktables.NTManag er.<init>(NTManager.java:50)
at sun.reflect.NativeConstructorAccessorImpl.newInsta nce0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInsta nce(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newI nstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Construc tor.java:422)
at com.google.inject.internal.DefaultConstructionProx yFactory$1.newInstance(DefaultConstructionProxyFac tory.java:86)
at com.google.inject.internal.ConstructorInjector.pro vision(ConstructorInjector.java:105)
at com.google.inject.internal.ConstructorInjector.con struct(ConstructorInjector.java:85)
at com.google.inject.internal.ConstructorBindingImpl$ Factory.get(ConstructorBindingImpl.java:267)
at com.google.inject.internal.ProviderToInternalFacto ryAdapter$1.call(ProviderToInternalFactoryAdapter. java:46)
at com.google.inject.internal.InjectorImpl.callInCont ext(InjectorImpl.java:1103)
at com.google.inject.internal.ProviderToInternalFacto ryAdapter.get(ProviderToInternalFactoryAdapter.jav a:40)
at com.google.inject.internal.SingletonScope$1.get(Si ngletonScope.java:145)
at com.google.inject.internal.InternalFactoryToProvid erAdapter.get(InternalFactoryToProviderAdapter.jav a:41)
at com.google.inject.internal.SingleFieldInjector.inj ect(SingleFieldInjector.java:54)
at com.google.inject.internal.MembersInjectorImpl.inj ectMembers(MembersInjectorImpl.java:132)
at com.google.inject.internal.ConstructorInjector.pro vision(ConstructorInjector.java:114)
at com.google.inject.internal.ConstructorInjector.con struct(ConstructorInjector.java:85)
at com.google.inject.internal.ConstructorBindingImpl$ Factory.get(ConstructorBindingImpl.java:267)
at com.google.inject.internal.ProviderToInternalFacto ryAdapter$1.call(ProviderToInternalFactoryAdapter. java:46)
at com.google.inject.internal.InjectorImpl.callInCont ext(InjectorImpl.java:1103)
at com.google.inject.internal.ProviderToInternalFacto ryAdapter.get(ProviderToInternalFactoryAdapter.jav a:40)
at com.google.inject.internal.SingletonScope$1.get(Si ngletonScope.java:145)
at com.google.inject.internal.InternalFactoryToProvid erAdapter.get(InternalFactoryToProviderAdapter.jav a:41)
at com.google.inject.internal.SingleFieldInjector.inj ect(SingleFieldInjector.java:54)
at com.google.inject.internal.MembersInjectorImpl.inj ectMembers(MembersInjectorImpl.java:132)
at com.google.inject.internal.ConstructorInjector.pro vision(ConstructorInjector.java:114)
at com.google.inject.internal.ConstructorInjector.con struct(ConstructorInjector.java:85)
at com.google.inject.internal.ConstructorBindingImpl$ Factory.get(ConstructorBindingImpl.java:267)
at com.google.inject.internal.ProviderToInternalFacto ryAdapter$1.call(ProviderToInternalFactoryAdapter. java:46)
at com.google.inject.internal.InjectorImpl.callInCont ext(InjectorImpl.java:1103)
at com.google.inject.internal.ProviderToInternalFacto ryAdapter.get(ProviderToInternalFactoryAdapter.jav a:40)
at com.google.inject.internal.SingletonScope$1.get(Si ngletonScope.java:145)
at com.google.inject.internal.InternalFactoryToProvid erAdapter.get(InternalFactoryToProviderAdapter.jav a:41)
at com.google.inject.internal.SingleFieldInjector.inj ect(SingleFieldInjector.java:54)
at com.google.inject.internal.MembersInjectorImpl.inj ectMembers(MembersInjectorImpl.java:132)
at com.google.inject.internal.ConstructorInjector.pro vision(ConstructorInjector.java:114)
at com.google.inject.internal.ConstructorInjector.con struct(ConstructorInjector.java:85)
at com.google.inject.internal.ConstructorBindingImpl$ Factory.get(ConstructorBindingImpl.java:267)
at com.google.inject.internal.InjectorImpl$2$1.call(I njectorImpl.java:1016)
at com.google.inject.internal.InjectorImpl.callInCont ext(InjectorImpl.java:1092)
at com.google.inject.internal.InjectorImpl$2.get(Inje ctorImpl.java:1012)
at com.google.inject.internal.InjectorImpl.getInstanc e(InjectorImpl.java:1051)
at edu.wpi.grip.core.Main.main(Main.java:43)

2) Error injecting constructor, java.lang.NoClassDefFoundError: Could not initialize class edu.wpi.first.wpilibj.networktables.NetworkTablesJ NI
at edu.wpi.grip.core.operations.networktables.NTManag er.<init>(Unknown Source)
at edu.wpi.grip.core.operations.networktables.NTManag er.class(Unknown Source)
while locating edu.wpi.grip.core.operations.networktables.NTManag er
for field at edu.wpi.grip.core.Pipeline.ntManager(Unknown Source)
at edu.wpi.grip.core.Pipeline.class(Unknown Source)
while locating edu.wpi.grip.core.Pipeline
for field at edu.wpi.grip.core.serialization.StepConverter.pipe line(Unknown Source)
while locating edu.wpi.grip.core.serialization.StepConverter
for parameter 0 at edu.wpi.grip.core.serialization.Project.initialize (Unknown Source)
at edu.wpi.grip.core.serialization.Project.class(Unkn own Source)
while locating edu.wpi.grip.core.serialization.Project
for field at edu.wpi.grip.core.Main.project(Unknown Source)
while locating edu.wpi.grip.core.Main
Caused by: java.lang.NoClassDefFoundError: Could not initialize class edu.wpi.first.wpilibj.networktables.NetworkTablesJ NI
at edu.wpi.grip.core.operations.networktables.NTManag er.<init>(NTManager.java:50)
at sun.reflect.NativeConstructorAccessorImpl.newInsta nce0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInsta nce(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newI nstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Construc tor.java:422)
at com.google.inject.internal.DefaultConstructionProx yFactory$1.newInstance(DefaultConstructionProxyFac tory.java:86)
at com.google.inject.internal.ConstructorInjector.pro vision(ConstructorInjector.java:105)
at com.google.inject.internal.ConstructorInjector.con struct(ConstructorInjector.java:85)
at com.google.inject.internal.ConstructorBindingImpl$ Factory.get(ConstructorBindingImpl.java:267)
at com.google.inject.internal.ProviderToInternalFacto ryAdapter$1.call(ProviderToInternalFactoryAdapter. java:46)
at com.google.inject.internal.InjectorImpl.callInCont ext(InjectorImpl.java:1103)
at com.google.inject.internal.ProviderToInternalFacto ryAdapter.get(ProviderToInternalFactoryAdapter.jav a:40)
at com.google.inject.internal.SingletonScope$1.get(Si ngletonScope.java:145)
at com.google.inject.internal.InternalFactoryToProvid erAdapter.get(InternalFactoryToProviderAdapter.jav a:41)
at com.google.inject.internal.SingleFieldInjector.inj ect(SingleFieldInjector.java:54)
at com.google.inject.internal.MembersInjectorImpl.inj ectMembers(MembersInjectorImpl.java:132)
at com.google.inject.internal.ConstructorInjector.pro vision(ConstructorInjector.java:114)
at com.google.inject.internal.ConstructorInjector.con struct(ConstructorInjector.java:85)
at com.google.inject.internal.ConstructorBindingImpl$ Factory.get(ConstructorBindingImpl.java:267)
at com.google.inject.internal.ProviderToInternalFacto ryAdapter$1.call(ProviderToInternalFactoryAdapter. java:46)
at com.google.inject.internal.InjectorImpl.callInCont ext(InjectorImpl.java:1103)
at com.google.inject.internal.ProviderToInternalFacto ryAdapter.get(ProviderToInternalFactoryAdapter.jav a:40)
at com.google.inject.internal.SingletonScope$1.get(Si ngletonScope.java:145)
at com.google.inject.internal.InternalFactoryToProvid erAdapter.get(InternalFactoryToProviderAdapter.jav a:41)
at com.google.inject.internal.SingleFieldInjector.inj ect(SingleFieldInjector.java:54)
at com.google.inject.internal.MembersInjectorImpl.inj ectMembers(MembersInjectorImpl.java:132)
at com.google.inject.internal.ConstructorInjector.pro vision(ConstructorInjector.java:114)
at com.google.inject.internal.ConstructorInjector.con struct(ConstructorInjector.java:85)
at com.google.inject.internal.ConstructorBindingImpl$ Factory.get(ConstructorBindingImpl.java:267)
at com.google.inject.internal.SingleParameterInjector .inject(SingleParameterInjector.java:38)
at com.google.inject.internal.SingleParameterInjector .getAll(SingleParameterInjector.java:62)
at com.google.inject.internal.SingleMethodInjector.in ject(SingleMethodInjector.java:84)
at com.google.inject.internal.MembersInjectorImpl.inj ectMembers(MembersInjectorImpl.java:132)
at com.google.inject.internal.ConstructorInjector.pro vision(ConstructorInjector.java:114)
at com.google.inject.internal.ConstructorInjector.con struct(ConstructorInjector.java:85)
at com.google.inject.internal.ConstructorBindingImpl$ Factory.get(ConstructorBindingImpl.java:267)
at com.google.inject.internal.ProviderToInternalFacto ryAdapter$1.call(ProviderToInternalFactoryAdapter. java:46)
at com.google.inject.internal.InjectorImpl.callInCont ext(InjectorImpl.java:1103)
at com.google.inject.internal.ProviderToInternalFacto ryAdapter.get(ProviderToInternalFactoryAdapter.jav a:40)
at com.google.inject.internal.SingletonScope$1.get(Si ngletonScope.java:145)
at com.google.inject.internal.InternalFactoryToProvid erAdapter.get(InternalFactoryToProviderAdapter.jav a:41)
at com.google.inject.internal.SingleFieldInjector.inj ect(SingleFieldInjector.java:54)
at com.google.inject.internal.MembersInjectorImpl.inj ectMembers(MembersInjectorImpl.java:132)
at com.google.inject.internal.ConstructorInjector.pro vision(ConstructorInjector.java:114)
at com.google.inject.internal.ConstructorInjector.con struct(ConstructorInjector.java:85)
at com.google.inject.internal.ConstructorBindingImpl$ Factory.get(ConstructorBindingImpl.java:267)
at com.google.inject.internal.InjectorImpl$2$1.call(I njectorImpl.java:1016)
at com.google.inject.internal.InjectorImpl.callInCont ext(InjectorImpl.java:1092)
at com.google.inject.internal.InjectorImpl$2.get(Inje ctorImpl.java:1012)
at com.google.inject.internal.InjectorImpl.getInstanc e(InjectorImpl.java:1051)
at edu.wpi.grip.core.Main.main(Main.java:43)

3) Error injecting constructor, java.lang.NoClassDefFoundError: Could not initialize class edu.wpi.first.wpilibj.networktables.NetworkTablesJ NI
at edu.wpi.grip.core.operations.networktables.NTManag er.<init>(Unknown Source)
at edu.wpi.grip.core.operations.networktables.NTManag er.class(Unknown Source)
while locating edu.wpi.grip.core.operations.networktables.NTManag er
for field at edu.wpi.grip.core.Pipeline.ntManager(Unknown Source)
at edu.wpi.grip.core.Pipeline.class(Unknown Source)
while locating edu.wpi.grip.core.Pipeline
for field at edu.wpi.grip.core.serialization.SocketConverter.pi peline(Unknown Source)
while locating edu.wpi.grip.core.serialization.SocketConverter
for parameter 2 at edu.wpi.grip.core.serialization.Project.initialize (Unknown Source)
at edu.wpi.grip.core.serialization.Project.class(Unkn own Source)
while locating edu.wpi.grip.core.serialization.Project
for field at edu.wpi.grip.core.Main.project(Unknown Source)
while locating edu.wpi.grip.core.Main
Caused by: java.lang.NoClassDefFoundError: Could not initialize class edu.wpi.first.wpilibj.networktables.NetworkTablesJ NI
at edu.wpi.grip.core.operations.networktables.NTManag er.<init>(NTManager.java:50)
at sun.reflect.NativeConstructorAccessorImpl.newInsta nce0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInsta nce(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newI nstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Construc tor.java:422)
at com.google.inject.internal.DefaultConstructionProx yFactory$1.newInstance(DefaultConstructionProxyFac tory.java:86)
at com.google.inject.internal.ConstructorInjector.pro vision(ConstructorInjector.java:105)
at com.google.inject.internal.ConstructorInjector.con struct(ConstructorInjector.java:85)
at com.google.inject.internal.ConstructorBindingImpl$ Factory.get(ConstructorBindingImpl.java:267)
at com.google.inject.internal.ProviderToInternalFacto ryAdapter$1.call(ProviderToInternalFactoryAdapter. java:46)
at com.google.inject.internal.InjectorImpl.callInCont ext(InjectorImpl.java:1103)
at com.google.inject.internal.ProviderToInternalFacto ryAdapter.get(ProviderToInternalFactoryAdapter.jav a:40)
at com.google.inject.internal.SingletonScope$1.get(Si ngletonScope.java:145)
at com.google.inject.internal.InternalFactoryToProvid erAdapter.get(InternalFactoryToProviderAdapter.jav a:41)
at com.google.inject.internal.SingleFieldInjector.inj ect(SingleFieldInjector.java:54)
at com.google.inject.internal.MembersInjectorImpl.inj ectMembers(MembersInjectorImpl.java:132)
at com.google.inject.internal.ConstructorInjector.pro vision(ConstructorInjector.java:114)
at com.google.inject.internal.ConstructorInjector.con struct(ConstructorInjector.java:85)
at com.google.inject.internal.ConstructorBindingImpl$ Factory.get(ConstructorBindingImpl.java:267)
at com.google.inject.internal.ProviderToInternalFacto ryAdapter$1.call(ProviderToInternalFactoryAdapter. java:46)
at com.google.inject.internal.InjectorImpl.callInCont ext(InjectorImpl.java:1103)
at com.google.inject.internal.ProviderToInternalFacto ryAdapter.get(ProviderToInternalFactoryAdapter.jav a:40)
at com.google.inject.internal.SingletonScope$1.get(Si ngletonScope.java:145)
at com.google.inject.internal.InternalFactoryToProvid erAdapter.get(InternalFactoryToProviderAdapter.jav a:41)
at com.google.inject.internal.SingleFieldInjector.inj ect(SingleFieldInjector.java:54)
at com.google.inject.internal.MembersInjectorImpl.inj ectMembers(MembersInjectorImpl.java:132)
at com.google.inject.internal.ConstructorInjector.pro vision(ConstructorInjector.java:114)
at com.google.inject.internal.ConstructorInjector.con struct(ConstructorInjector.java:85)
at com.google.inject.internal.ConstructorBindingImpl$ Factory.get(ConstructorBindingImpl.java:267)
at com.google.inject.internal.SingleParameterInjector .inject(SingleParameterInjector.java:38)
at com.google.inject.internal.SingleParameterInjector .getAll(SingleParameterInjector.java:62)
at com.google.inject.internal.SingleMethodInjector.in ject(SingleMethodInjector.java:84)
at com.google.inject.internal.MembersInjectorImpl.inj ectMembers(MembersInjectorImpl.java:132)
at com.google.inject.internal.ConstructorInjector.pro vision(ConstructorInjector.java:114)
at com.google.inject.internal.ConstructorInjector.con struct(ConstructorInjector.java:85)
at com.google.inject.internal.ConstructorBindingImpl$ Factory.get(ConstructorBindingImpl.java:267)
at com.google.inject.internal.ProviderToInternalFacto ryAdapter$1.call(ProviderToInternalFactoryAdapter. java:46)
at com.google.inject.internal.InjectorImpl.callInCont ext(InjectorImpl.java:1103)
at com.google.inject.internal.ProviderToInternalFacto ryAdapter.get(ProviderToInternalFactoryAdapter.jav a:40)
at com.google.inject.internal.SingletonScope$1.get(Si ngletonScope.java:145)
at com.google.inject.internal.InternalFactoryToProvid erAdapter.get(InternalFactoryToProviderAdapter.jav a:41)
at com.google.inject.internal.SingleFieldInjector.inj ect(SingleFieldInjector.java:54)
at com.google.inject.internal.MembersInjectorImpl.inj ectMembers(MembersInjectorImpl.java:132)
at com.google.inject.internal.ConstructorInjector.pro vision(ConstructorInjector.java:114)
at com.google.inject.internal.ConstructorInjector.con struct(ConstructorInjector.java:85)
at com.google.inject.internal.ConstructorBindingImpl$ Factory.get(ConstructorBindingImpl.java:267)
at com.google.inject.internal.InjectorImpl$2$1.call(I njectorImpl.java:1016)
at com.google.inject.internal.InjectorImpl.callInCont ext(InjectorImpl.java:1092)
at com.google.inject.internal.InjectorImpl$2.get(Inje ctorImpl.java:1012)
at com.google.inject.internal.InjectorImpl.getInstanc e(InjectorImpl.java:1051)
at edu.wpi.grip.core.Main.main(Main.java:43)

3 errors
at com.google.inject.internal.InjectorImpl$2.get(Inje ctorImpl.java:1025)
at com.google.inject.internal.InjectorImpl.getInstanc e(InjectorImpl.java:1051)
at edu.wpi.grip.core.Main.main(Main.java:43)

bankst
16-10-2016, 15:04
I had this issue too. The Deploy page won't properly run GRIP, you have to use a custom script to do it. On this (https://github.com/WPIRoboticsProjects/GRIP/wiki/Running-GRIP-on-a-Raspberry-Pi-2#running-grip) page it has this command:
$ env LD_LIBRARY_PATH=/home/pi/vision/grip:$LD_LIBRARY_PATH java -jar /home/pi/vision/grip/grip.jar /home/pi/vision/grip/project.grip
Replace any paths with the proper ones for your set up, and make sure you have the libntcore.so and libstdc++.so.6 in there. This worked for me, but I'm switching to straight OpenCV for other reasons. Hope that helps.

Jayd009
18-10-2016, 17:46
I tried that but now it can't create a JVM. I'm just going to run GRIP on the driver station and stream the camera through the RIO USB port. Maybe we can get openCV running on the Pi next season. Is there a guide you followed for getting it to work with Network Tables?

Jchau
18-10-2016, 18:18
I really recommend doing OpenCV and network tables. Here is a guide for integrating network tables. http://pynetworktables.readthedocs.io/en/latest/

Sent from my SM-N920G using Tapatalk

bankst
19-10-2016, 19:19
I recently finished up the OpenCV code for my Raspi 3, if you want to take a look, or copy it completely, here it is (https://github.com/oscarrobotics/VisionOnPi2016). I'll be updating it with a tuning window tomorrow, so keep an eye out for that. I'll admit, its definitely not the best code, but it works very well with little latency.

There are instructions in the README.md on the process I went through to install everything. I cannot recommend running this on anything but the Pi 3. I tried it on the Pi 2 and it took too long, and left me with a very low framerate. I can't imagine how the Pi 1 would handle it, if at all.

If you have any questions, please PM me. Even better, if you have any improvements, pull request me!

kmckay
20-11-2016, 18:57
I had this issue too. The Deploy page won't properly run GRIP, you have to use a custom script to do it. On this (https://github.com/WPIRoboticsProjects/GRIP/wiki/Running-GRIP-on-a-Raspberry-Pi-2#running-grip) page it has this command:
$ env LD_LIBRARY_PATH=/home/pi/vision/grip:$LD_LIBRARY_PATH java -jar /home/pi/vision/grip/grip.jar /home/pi/vision/grip/project.grip
Replace any paths with the proper ones for your set up, and make sure you have the libntcore.so and libstdc++.so.6 in there. This worked for me, but I'm switching to straight OpenCV for other reasons. Hope that helps.

Having a similar problem. Are you saying the GRIP deploy window will never succeed on the pi (at least until GRIP is patched)? After the deploy operation, is GRIP ready to run on the pi?

SamCarlberg
21-11-2016, 10:35
You need to set the "LD_LIBRARY_PATH" environment variable to have the directory you put the ntcore libraries. You can do this either by the method on the wiki:


$ env LD_LIBRARY_PATH=/home/pi/vision/grip:$LD_LIBRARY_PATH java -jar ...


or by setting it in the .bashrc file in your home directory by adding this line:


export LD_LIBRARY_PATH=/home/pi/vision/grip:$LD_LIBRARY_PATH


You can edit this file with "$ nano ~/.bashrc".

kmckay
21-11-2016, 12:58
You need to set the "LD_LIBRARY_PATH" environment variable to have the directory you put the ntcore libraries. You can do this either by the method on the wiki:


$ env LD_LIBRARY_PATH=/home/pi/vision/grip:$LD_LIBRARY_PATH java -jar ...


or by setting it in the .bashrc file in your home directory by adding this line:


export LD_LIBRARY_PATH=/home/pi/vision/grip:$LD_LIBRARY_PATH


You can edit this file with "$ nano ~/.bashrc".

Speaking on behalf of the amateur programmers, seeing this answer and others like it, I think I've found the problem.
I think we missed this line in the wiki guide:
"From the deploy window, click deploy. Once it's finished deploying just hit stop as GRIP will fail to run properly due to library issues."

We're supposed to get the errors when we deploy, its normal, we should ignore it, and continue down the wiki where we run GRIP from the command line using the "env". I understand this is an RTFM error on mine and others' parts, but it might eliminate some questions if this was highlighted a bit more in the wiki.
Correct?

Well, I did that, and from the command line I'm getting:
terminate called after throwing an instance of 'std::logic_error'
what(): basic_string::_S_construct null not valid

SamCarlberg
21-11-2016, 13:17
Yeah, the wiki could be better.

Can you post the full stacktrace?

kmckay
21-11-2016, 13:48
Yeah, the wiki could be better.

Can you post the full stacktrace?

Pardon my ignorance but Linux is not my first language, where can I find the full stacktrace?

SamCarlberg
21-11-2016, 14:02
It's the entire output you got when you tried to run it from the command line, not just that one line. There should be a lot of lines that look like

"at edu.wpi.grip....(123)"

alst
21-11-2016, 14:09
That's not a Java stack trace (it appears to be something in libstdc++), so I doubt there's anything else. I would recommend double-checking and making sure the correct libstdc++ is in the same folder you have in LD_LIBRARY_PATH, but I'm not really familiar enough with GRIP, so I can't offer much more than that.

kmckay
21-11-2016, 14:41
That's not a Java stack trace (it appears to be something in libstdc++), so I doubt there's anything else. I would recommend double-checking and making sure the correct libstdc++ is in the same folder you have in LD_LIBRARY_PATH, but I'm not really familiar enough with GRIP, so I can't offer much more than that.

I will get the full output when I get home.
I definitely have the files linked to on the wiki there. Only difference is that I ftp'd them there and not scp. The only reason I can think that might make a difference is if the file permissions don't set the same.

kmckay
21-11-2016, 18:04
It's the entire output you got when you tried to run it from the command line, not just that one line. There should be a lot of lines that look like

"at edu.wpi.grip....(123)"

I'm using a RPi3, putty ssh via a peer to peer. I do not have a RoboRio on the network right now.
I did alter the start_vision.sh from the wiki to include a -b to run in the background. Without it, I found the mjpg_streamer sat there and grip never started.
Any help would be appreciated.

Combined Vision Starting Script
Start mjpg streamer
enabling daemon modeforked to background (776)
/home/pi/vision/start_vision.sh: line 5: pause: command not found
Starting GRIP processing
pi@pulsatrix:~ $ Nov 19, 2016 6:28:58 PM java.util.logging.LogManager$RootLogger log
CONFIG: Configuration done.
Nov 19, 2016 6:28:58 PM java.util.logging.LogManager$RootLogger log
CONFIG: GRIP Version: 1.5.0-rc3
2016-11-19 18:29:02.026:INFO::main: Logging initialized @3761ms
platform: /Linux/arm/
terminate called after throwing an instance of 'std::logic_error'
what(): basic_string::_S_construct null not valid

Edit: Seeing the pause error, I changed that line to read-p "--" and just counted to 5 before continuing. Same result.
Edit2: pulsatrix is the name of the pi. Its the species name of the spectacled owl

SamCarlberg
21-11-2016, 18:46
That's bizarre. I'll see if I can reproduce this tonight. If not, you can use 1.5 and generate OpenCV code to run on the Pi without needing to deploy GRIP

kmckay
21-11-2016, 20:42
That's bizarre. I'll see if I can reproduce this tonight. If not, you can use 1.5 and generate OpenCV code to run on the Pi without needing to deploy GRIP

Just to be clear, this is the ssh window, not the grip deploy log.

kmckay
22-11-2016, 09:41
That's bizarre. I'll see if I can reproduce this tonight. If not, you can use 1.5 and generate OpenCV code to run on the Pi without needing to deploy GRIP

If its helpful, these were my Deploy window errors (which its my understanding that Pi users should ignore):

/usr/bin/java -Xmx50m -XX:-OmitStackTraceInFastThrow -XX:+HeapDumpOnOutOfMemoryError -jar '/home/pi/vision/grip/grip.jar' '/home/pi/vision/grip/project.grip'
Nov 19, 2016 3:38:27 PM java.util.logging.LogManager$RootLogger log
CONFIG: Configuration done.
Nov 19, 2016 3:38:27 PM java.util.logging.LogManager$RootLogger log
CONFIG: GRIP Version: 1.5.0-rc3
2016-11-19 15:38:30.111:INFO::main: Logging initialized @3056ms
platform: /Linux/arm/
Nov 19, 2016 3:38:32 PM edu.wpi.grip.core.GripCoreModule onThreadException
SEVERE: Uncaught Exception on thread Thread[main,5,main]
com.google.inject.ProvisionException: Unable to provision, see the following errors:
1) Error injecting constructor, java.lang.UnsatisfiedLinkError: no ntcore in java.library.path
at edu.wpi.grip.core.operations.network.networktables .NTManager.<init>(Unknown Source)
at edu.wpi.grip.core.operations.network.networktables .NTManager.class(Unknown Source)
while locating edu.wpi.grip.core.operations.network.networktables .NTManager
while locating edu.wpi.grip.core.operations.network.MapNetworkPub lisherFactory annotated with @com.google.inject.name.Named(value=ntManager)
for the 2nd parameter of edu.wpi.grip.core.operations.Operations.<init>(Unknown Source)
at edu.wpi.grip.core.operations.Operations.class(Unkn own Source)
while locating edu.wpi.grip.core.operations.Operations
for field at edu.wpi.grip.core.Main.operations(Unknown Source)
while locating edu.wpi.grip.core.Main
1 error
at com.google.inject.internal.InjectorImpl$2.get(Inje ctorImpl.java:1028)
at com.google.inject.internal.InjectorImpl.getInstanc e(InjectorImpl.java:1054)
at edu.wpi.grip.core.Main.main(Main.java:52)
Caused by: java.lang.UnsatisfiedLinkError: no ntcore in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java :1864)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1122)
at edu.wpi.first.wpilibj.networktables.NetworkTablesJ NI.<clinit>(NetworkTablesJNI.java:57)
at edu.wpi.grip.core.operations.network.networktables .NTManager.<init>(NTManager.java:78)
at sun.reflect.NativeConstructorAccessorImpl.newInsta nce0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInsta nce(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newI nstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Construc tor.java:422)
at com.google.inject.internal.DefaultConstructionProx yFactory$ReflectiveProxy.newInstance(DefaultConstr uctionProxyFactory.java:126)
at com.google.inject.internal.ConstructorInjector.pro vision(ConstructorInjector.java:111)
at com.google.inject.internal.ConstructorInjector.con struct(ConstructorInjector.java:90)
at com.google.inject.internal.ConstructorBindingImpl$ Factory.get(ConstructorBindingImpl.java:268)
at com.google.inject.internal.ProviderToInternalFacto ryAdapter$1.call(ProviderToInternalFactoryAdapter. java:46)
at com.google.inject.internal.InjectorImpl.callInCont ext(InjectorImpl.java:1092)
at com.google.inject.internal.ProviderToInternalFacto ryAdapter.get(ProviderToInternalFactoryAdapter.jav a:40)
at com.google.inject.internal.SingletonScope$1.get(Si ngletonScope.java:194)
at com.google.inject.internal.InternalFactoryToProvid erAdapter.get(InternalFactoryToProviderAdapter.jav a:41)
at com.google.inject.internal.FactoryProxy.get(Factor yProxy.java:56)
at com.google.inject.internal.SingleParameterInjector .inject(SingleParameterInjector.java:38)
at com.google.inject.internal.SingleParameterInjector .getAll(SingleParameterInjector.java:62)
at com.google.inject.internal.ConstructorInjector.pro vision(ConstructorInjector.java:110)
at com.google.inject.internal.ConstructorInjector.con struct(ConstructorInjector.java:90)
at com.google.inject.internal.ConstructorBindingImpl$ Factory.get(ConstructorBindingImpl.java:268)
at com.google.inject.internal.ProviderToInternalFacto ryAdapter$1.call(ProviderToInternalFactoryAdapter. java:46)
at com.google.inject.internal.InjectorImpl.callInCont ext(InjectorImpl.java:1092)
at com.google.inject.internal.ProviderToInternalFacto ryAdapter.get(ProviderToInternalFactoryAdapter.jav a:40)
at com.google.inject.internal.SingletonScope$1.get(Si ngletonScope.java:194)
at com.google.inject.internal.InternalFactoryToProvid erAdapter.get(InternalFactoryToProviderAdapter.jav a:41)
at com.google.inject.internal.SingleFieldInjector.inj ect(SingleFieldInjector.java:54)
at com.google.inject.internal.MembersInjectorImpl.inj ectMembers(MembersInjectorImpl.java:132)
at com.google.inject.internal.ConstructorInjector.pro vision(ConstructorInjector.java:120)
at com.google.inject.internal.ConstructorInjector.con struct(ConstructorInjector.java:90)
at com.google.inject.internal.ConstructorBindingImpl$ Factory.get(ConstructorBindingImpl.java:268)
at com.google.inject.internal.InjectorImpl$2$1.call(I njectorImpl.java:1019)
at com.google.inject.internal.InjectorImpl.callInCont ext(InjectorImpl.java:1085)
at com.google.inject.internal.InjectorImpl$2.get(Inje ctorImpl.java:1015)
... 2 more

I don't know how to view the 2 more.

I have also attached the GRIP log. I'm 90% sure this is the newly generated file from last night running from command line, but I just realized the date is wonky on my pi so I am not 100% sure. (file format changed to txt for cd post)

kmckay
25-11-2016, 14:52
Worth noting I've got the RIO on the network now, no change.
I've also changed the GRIP to not report out to network tables.
No change from either.

Worth noting Driver Station gives a DNS error, though I can ping the RIO. I think this is a Win10 network problem.

kmckay
25-11-2016, 17:14
It seems like the interwebs think this error, in an OpenCV context, comes from failing to provide a required argument.

Anyone? Anyone? Bueller?