Go to Post If I thank everyone that I want to, we might be here for a while - Karthik [more]
Home
Go Back   Chief Delphi > Technical > Programming
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Reply
 
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 15-10-2016, 12:56
Jayd009's Avatar
Jayd009 Jayd009 is offline
Registered User
AKA: Jonathan
FRC #4468 (Fernbank LINKS)
Team Role: Programmer
 
Join Date: Jan 2016
Rookie Year: 2016
Location: Atlanta, Georgia
Posts: 27
Jayd009 is on a distinguished road
GRIP Deploy Not Working

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/WPIRoboticsProjec...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


Code:
/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.NTManager.<init>(Unknown Source)
  at edu.wpi.grip.core.operations.networktables.NTManager.class(Unknown Source)
  while locating edu.wpi.grip.core.operations.networktables.NTManager
    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(Unknown Source)
  at edu.wpi.grip.core.serialization.Project.class(Unknown 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.NetworkTablesJNI.<clinit>(NetworkTablesJNI.java:57)
	at edu.wpi.grip.core.operations.networktables.NTManager.<init>(NTManager.java:50)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
	at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:86)
	at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:105)
	at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
	at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)
	at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
	at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
	at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)
	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
	at com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:54)
	at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:132)
	at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:114)
	at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
	at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)
	at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
	at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
	at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)
	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
	at com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:54)
	at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:132)
	at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:114)
	at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
	at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)
	at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
	at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
	at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)
	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
	at com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:54)
	at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:132)
	at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:114)
	at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
	at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)
	at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:1016)
	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092)
	at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1012)
	at com.google.inject.internal.InjectorImpl.getInstance(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.NetworkTablesJNI
  at edu.wpi.grip.core.operations.networktables.NTManager.<init>(Unknown Source)
  at edu.wpi.grip.core.operations.networktables.NTManager.class(Unknown Source)
  while locating edu.wpi.grip.core.operations.networktables.NTManager
    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.pipeline(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(Unknown 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.NetworkTablesJNI
	at edu.wpi.grip.core.operations.networktables.NTManager.<init>(NTManager.java:50)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
	at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:86)
	at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:105)
	at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
	at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)
	at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
	at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
	at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)
	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
	at com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:54)
	at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:132)
	at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:114)
	at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
	at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)
	at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
	at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
	at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)
	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
	at com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:54)
	at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:132)
	at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:114)
	at com.google.inject.internal.ConstructorInjector.construct(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.inject(SingleMethodInjector.java:84)
	at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:132)
	at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:114)
	at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
	at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)
	at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
	at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
	at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)
	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
	at com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:54)
	at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:132)
	at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:114)
	at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
	at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)
	at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:1016)
	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092)
	at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1012)
	at com.google.inject.internal.InjectorImpl.getInstance(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.NetworkTablesJNI
  at edu.wpi.grip.core.operations.networktables.NTManager.<init>(Unknown Source)
  at edu.wpi.grip.core.operations.networktables.NTManager.class(Unknown Source)
  while locating edu.wpi.grip.core.operations.networktables.NTManager
    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.pipeline(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(Unknown 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.NetworkTablesJNI
	at edu.wpi.grip.core.operations.networktables.NTManager.<init>(NTManager.java:50)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
	at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:86)
	at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:105)
	at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
	at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)
	at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
	at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
	at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)
	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
	at com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:54)
	at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:132)
	at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:114)
	at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
	at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)
	at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
	at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
	at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)
	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
	at com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:54)
	at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:132)
	at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:114)
	at com.google.inject.internal.ConstructorInjector.construct(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.inject(SingleMethodInjector.java:84)
	at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:132)
	at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:114)
	at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
	at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)
	at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
	at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
	at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)
	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
	at com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:54)
	at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:132)
	at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:114)
	at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
	at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)
	at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:1016)
	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092)
	at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1012)
	at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1051)
	at edu.wpi.grip.core.Main.main(Main.java:43)

3 errors
	at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1025)
	at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1051)
	at edu.wpi.grip.core.Main.main(Main.java:43)
__________________
2016: District Event Winner @ Columbus District Qualifier (PCH)
2016: Engineering Inspiration Award @ Peachtree District State Championship
2016: Tesla Subdivision Playoffs Appearance @ FIRST Championship


Reply With Quote
  #2   Spotlight this post!  
Unread 16-10-2016, 15:04
bankst's Avatar
bankst bankst is offline
Registered User
FRC #0832 (OSCAR)
Team Role: Mentor
 
Join Date: Feb 2016
Rookie Year: 2012
Location: Roswell, GA
Posts: 9
bankst is an unknown quantity at this point
Re: GRIP Deploy Not Working

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 page it has this command:
Code:
$ 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.
Reply With Quote
  #3   Spotlight this post!  
Unread 18-10-2016, 17:46
Jayd009's Avatar
Jayd009 Jayd009 is offline
Registered User
AKA: Jonathan
FRC #4468 (Fernbank LINKS)
Team Role: Programmer
 
Join Date: Jan 2016
Rookie Year: 2016
Location: Atlanta, Georgia
Posts: 27
Jayd009 is on a distinguished road
Re: GRIP Deploy Not Working

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?
__________________
2016: District Event Winner @ Columbus District Qualifier (PCH)
2016: Engineering Inspiration Award @ Peachtree District State Championship
2016: Tesla Subdivision Playoffs Appearance @ FIRST Championship


Reply With Quote
  #4   Spotlight this post!  
Unread 20-11-2016, 18:57
kmckay's Avatar
kmckay kmckay is offline
Registered User
FRC #5401 (Fightin' Robotic Owls)
Team Role: Mentor
 
Join Date: Jan 2016
Rookie Year: 2015
Location: Bensalem, PA
Posts: 39
kmckay will become famous soon enough
Re: GRIP Deploy Not Working

Quote:
Originally Posted by bankst View Post
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 page it has this command:
Code:
$ 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?
Reply With Quote
  #5   Spotlight this post!  
Unread 21-11-2016, 10:35
SamCarlberg's Avatar
SamCarlberg SamCarlberg is offline
GRIP, WPILib. 2084 alum
AKA: Sam Carlberg
no team
Team Role: Mentor
 
Join Date: Nov 2015
Rookie Year: 2009
Location: MA
Posts: 45
SamCarlberg is a splendid one to beholdSamCarlberg is a splendid one to beholdSamCarlberg is a splendid one to beholdSamCarlberg is a splendid one to beholdSamCarlberg is a splendid one to beholdSamCarlberg is a splendid one to beholdSamCarlberg is a splendid one to behold
Re: GRIP Deploy Not Working

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:

Code:
$ 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:

Code:
export LD_LIBRARY_PATH=/home/pi/vision/grip:$LD_LIBRARY_PATH
You can edit this file with "$ nano ~/.bashrc".
__________________
WPILib
GRIP, RobotBuilder
Reply With Quote
  #6   Spotlight this post!  
Unread 21-11-2016, 12:58
kmckay's Avatar
kmckay kmckay is offline
Registered User
FRC #5401 (Fightin' Robotic Owls)
Team Role: Mentor
 
Join Date: Jan 2016
Rookie Year: 2015
Location: Bensalem, PA
Posts: 39
kmckay will become famous soon enough
Re: GRIP Deploy Not Working

Quote:
Originally Posted by SamCarlberg View Post
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:

Code:
$ 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:

Code:
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:
Code:
terminate called after throwing an instance of 'std::logic_error'
what(): basic_string::_S_construct null not valid
Reply With Quote
  #7   Spotlight this post!  
Unread 21-11-2016, 13:17
SamCarlberg's Avatar
SamCarlberg SamCarlberg is offline
GRIP, WPILib. 2084 alum
AKA: Sam Carlberg
no team
Team Role: Mentor
 
Join Date: Nov 2015
Rookie Year: 2009
Location: MA
Posts: 45
SamCarlberg is a splendid one to beholdSamCarlberg is a splendid one to beholdSamCarlberg is a splendid one to beholdSamCarlberg is a splendid one to beholdSamCarlberg is a splendid one to beholdSamCarlberg is a splendid one to beholdSamCarlberg is a splendid one to behold
Re: GRIP Deploy Not Working

Yeah, the wiki could be better.

Can you post the full stacktrace?
__________________
WPILib
GRIP, RobotBuilder
Reply With Quote
  #8   Spotlight this post!  
Unread 21-11-2016, 13:48
kmckay's Avatar
kmckay kmckay is offline
Registered User
FRC #5401 (Fightin' Robotic Owls)
Team Role: Mentor
 
Join Date: Jan 2016
Rookie Year: 2015
Location: Bensalem, PA
Posts: 39
kmckay will become famous soon enough
Re: GRIP Deploy Not Working

Quote:
Originally Posted by SamCarlberg View Post
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?
Reply With Quote
  #9   Spotlight this post!  
Unread 21-11-2016, 14:02
SamCarlberg's Avatar
SamCarlberg SamCarlberg is offline
GRIP, WPILib. 2084 alum
AKA: Sam Carlberg
no team
Team Role: Mentor
 
Join Date: Nov 2015
Rookie Year: 2009
Location: MA
Posts: 45
SamCarlberg is a splendid one to beholdSamCarlberg is a splendid one to beholdSamCarlberg is a splendid one to beholdSamCarlberg is a splendid one to beholdSamCarlberg is a splendid one to beholdSamCarlberg is a splendid one to beholdSamCarlberg is a splendid one to behold
Re: GRIP Deploy Not Working

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)"
__________________
WPILib
GRIP, RobotBuilder
Reply With Quote
  #10   Spotlight this post!  
Unread 21-11-2016, 14:09
alst alst is offline
Programming Mentor
AKA: Alan
FRC #0830 (RatPack)
Team Role: Mentor
 
Join Date: Jul 2015
Rookie Year: 1830
Location: MI
Posts: 10
alst is an unknown quantity at this point
Re: GRIP Deploy Not Working

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.
Reply With Quote
  #11   Spotlight this post!  
Unread 21-11-2016, 14:41
kmckay's Avatar
kmckay kmckay is offline
Registered User
FRC #5401 (Fightin' Robotic Owls)
Team Role: Mentor
 
Join Date: Jan 2016
Rookie Year: 2015
Location: Bensalem, PA
Posts: 39
kmckay will become famous soon enough
Re: GRIP Deploy Not Working

Quote:
Originally Posted by alst View Post
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.
Reply With Quote
  #12   Spotlight this post!  
Unread 21-11-2016, 18:04
kmckay's Avatar
kmckay kmckay is offline
Registered User
FRC #5401 (Fightin' Robotic Owls)
Team Role: Mentor
 
Join Date: Jan 2016
Rookie Year: 2015
Location: Bensalem, PA
Posts: 39
kmckay will become famous soon enough
Re: GRIP Deploy Not Working

Quote:
Originally Posted by SamCarlberg View Post
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

Last edited by kmckay : 21-11-2016 at 19:54.
Reply With Quote
  #13   Spotlight this post!  
Unread 21-11-2016, 18:46
SamCarlberg's Avatar
SamCarlberg SamCarlberg is offline
GRIP, WPILib. 2084 alum
AKA: Sam Carlberg
no team
Team Role: Mentor
 
Join Date: Nov 2015
Rookie Year: 2009
Location: MA
Posts: 45
SamCarlberg is a splendid one to beholdSamCarlberg is a splendid one to beholdSamCarlberg is a splendid one to beholdSamCarlberg is a splendid one to beholdSamCarlberg is a splendid one to beholdSamCarlberg is a splendid one to beholdSamCarlberg is a splendid one to behold
Re: GRIP Deploy Not Working

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
__________________
WPILib
GRIP, RobotBuilder
Reply With Quote
  #14   Spotlight this post!  
Unread 21-11-2016, 20:42
kmckay's Avatar
kmckay kmckay is offline
Registered User
FRC #5401 (Fightin' Robotic Owls)
Team Role: Mentor
 
Join Date: Jan 2016
Rookie Year: 2015
Location: Bensalem, PA
Posts: 39
kmckay will become famous soon enough
Re: GRIP Deploy Not Working

Quote:
Originally Posted by SamCarlberg View Post
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.
Reply With Quote
  #15   Spotlight this post!  
Unread 22-11-2016, 09:41
kmckay's Avatar
kmckay kmckay is offline
Registered User
FRC #5401 (Fightin' Robotic Owls)
Team Role: Mentor
 
Join Date: Jan 2016
Rookie Year: 2015
Location: Bensalem, PA
Posts: 39
kmckay will become famous soon enough
Re: GRIP Deploy Not Working

Quote:
Originally Posted by SamCarlberg View Post
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):
Code:
/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.MapNetworkPublisherFactory 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(Unknown 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(InjectorImpl.java:1028)
    at com.google.inject.internal.InjectorImpl.getInstance(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.NetworkTablesJNI.<clinit>(NetworkTablesJNI.java:57)
    at edu.wpi.grip.core.operations.network.networktables.NTManager.<init>(NTManager.java:78)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
    at com.google.inject.internal.DefaultConstructionProxyFactory$ReflectiveProxy.newInstance(DefaultConstructionProxyFactory.java:126)
    at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:111)
    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:90)
    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:268)
    at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092)
    at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
    at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:194)
    at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
    at com.google.inject.internal.FactoryProxy.get(FactoryProxy.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.provision(ConstructorInjector.java:110)
    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:90)
    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:268)
    at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092)
    at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
    at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:194)
    at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
    at com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:54)
    at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:132)
    at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:120)
    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:90)
    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:268)
    at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:1019)
    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1085)
    at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.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)
Attached Files
File Type: txt GRIP.txt (29.9 KB, 1 views)
Reply With Quote
Reply


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -5. The time now is 08:50.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi