Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Plugin can't find the library #4

Closed
stonier opened this issue Nov 4, 2012 · 14 comments
Closed

Plugin can't find the library #4

stonier opened this issue Nov 4, 2012 · 14 comments

Comments

@stonier
Copy link

stonier commented Nov 4, 2012

In an installation from groovy debs, when the plugin gets used it cannot locate the library.

A simple workaround in image_transport/default_plugins.xml on the first line, prefix the path with: '../../'. I'm not sure if this is the 'correct' solution.

See also ros-perception/image_pipeline/issues/1

@vrabaud
Copy link
Contributor

vrabaud commented Nov 4, 2012

This issue has been fixed in the past few days. Can you please mention the version of pluginlib, class_loader and image_common you are using ? thx.

@stonier
Copy link
Author

stonier commented Nov 4, 2012

Thought it may have been - I noticed the plugins were installing now.

We were using the latest debs

  • image_common 1.9.15
  • pluginlib 1.8.6

Not sure about class loader?

@vrabaud
Copy link
Contributor

vrabaud commented Nov 5, 2012

pluginlib is at 1.9.3. You probably looked at the fuerte one there.
Can you please try with the latest ? pluginlin 1.9.3 and image_common 1.9.17 : we were able to run image_view and other ones.

Also, what command are you running ?

@stonier
Copy link
Author

stonier commented Nov 5, 2012

Ah - stupid of me. I completely forgot to beta test turtlebot on the latest debs (shadow-fixed) so we were using 3 week old debs, hence 1.8.6.

I've got shadow-fixed now, with pluginlib 1.9.3 and image_common 1.9.17, nodelet 1.7.7.

I'm getting a different error now when running image_view (directly or via rosrun).

snorri@snorriwork64:/opt/ros/groovy/lib/image_view$ ./image_view
[ WARN] [1352091307.675216276]: Topic 'image' has not been remapped! Typical command-line usage:
        $ rosrun image_view image_view image:=<image topic> [transport]
[ERROR] [1352091308.700416231]: Failed to load nodelet [/image_view_1352091307675093812] of type [image_view/image]: MultiLibraryClassLoader: Could not create object of class type image_view::ImageNodelet as no factory exists for it. Make sure that the library exists and was explicitly loaded through MultiLibraryClassLoader::loadLibrary()

Redirecting it as above doesn't work and I'm getting this elsewhere with anything that is a nodelet though, so perhaps need to chase down the problem there.

@stonier
Copy link
Author

stonier commented Nov 6, 2012

Ok, Ive completely reinstalled from shadow-fixed, also on a second machine and the problem is persisting. Are you successfully running image_view under the same conditions?

@mirzashah
Copy link

Hey Daniel,
The problem was in class_loader, I accidentally released a buggy version
last night. The fix was pushed and released this morning. Shadow-fixed just
got updated, class_loader is now at 0.1.7. Try that first, I was able to
run rviz fine with the image viewer inside.
-Mirza

On Tue, Nov 6, 2012 at 3:17 PM, Daniel Stonier notifications@github.comwrote:

Ok, Ive completely reinstalled from shadow-fixed, also on a second machine
and the problem is persisting. Are you successfully running image_view
under the same conditions?


Reply to this email directly or view it on GitHubhttps://github.com//issues/4#issuecomment-10132085.

@mirzashah
Copy link

Hey Daniel,
The problem was in class_loader, I accidentally released a buggy version
last night. The fix was pushed and released this morning. My packages just
got updated, class_loader is now at 0.1.7. Try that first, I was able to
run rviz fine with the image viewer inside.
-Mirza

On Tue, Nov 6, 2012 at 3:17 PM, Daniel Stonier notifications@github.comwrote:

Ok, Ive completely reinstalled from shadow-fixed, also on a second machine
and the problem is persisting. Are you successfully running image_view
under the same conditions?


Reply to this email directly or view it on GitHubhttps://github.com//issues/4#issuecomment-10132085.

@jihoonl
Copy link

jihoonl commented Nov 7, 2012

Hello Mirza,

I have tried to load rviz with new version of class-loader(v 0.1.7) and got these error logs.
Do you have any insight into it?

Jihoon


jihoonl@whoolala:~$ rosrun rviz rviz > log

Warning: class_loader::class_loader_core: SEVERE WARNING: A library containing plugins has been opened through a means other than through the class_loader or pluginlib package. This can happen if you build plugin libraries that contain more than just plugins (i.e. normal code your app links against). This inherently will trigger a dlopen() prior to main() and cause problems as class_loader is not aware of plugin factories that autoregister under the hood. The class_loader package can compensate, but you may run into namespace collision problems (e.g. if you have the same plugin class in two different libraries and you load them both at the same time). The biggest problem is that library can now no longer be safely unloaded as the ClassLoader does not know when non-plugin code is still in use. In fact, no ClassLoader instance in your application will be unable to unload any library once a non-pure one has been opened. Please refactor your code to isolate plugins into their own libraries.
at line 151 in /opt/ros/groovy/include/class_loader/class_loader_core.h
Warning: class_loader::class_loader_core: SEVERE WARNING: A library containing plugins has been opened through a means other than through the class_loader or pluginlib package. This can happen if you build plugin libraries that contain more than just plugins (i.e. normal code your app links against). This inherently will trigger a dlopen() prior to main() and cause problems as class_loader is not aware of plugin factories that autoregister under the hood. The class_loader package can compensate, but you may run into namespace collision problems (e.g. if you have the same plugin class in two different libraries and you load them both at the same time). The biggest problem is that library can now no longer be safely unloaded as the ClassLoader does not know when non-plugin code is still in use. In fact, no ClassLoader instance in your application will be unable to unload any library once a non-pure one has been opened. Please refactor your code to isolate plugins into their own libraries.
at line 151 in /opt/ros/groovy/include/class_loader/class_loader_core.h
[ERROR] [1352246890.731977368]: Attempting to create unmanged instance...
[ERROR] [1352246890.732051706]: Loading library for class rviz/Orbit...
[ERROR] [1352246890.803168398]: Attempting to create instance through low level multi-library class loader.
[ERROR] [1352246890.861010455]: Attempting to create unmanged instance...
[ERROR] [1352246890.861092189]: Loading library for class rviz/MoveCamera...
[ERROR] [1352246890.907314473]: Attempting to create instance through low level multi-library class loader.
[ERROR] [1352246890.922941362]: Attempting to create unmanged instance...
[ERROR] [1352246890.922987712]: Loading library for class rviz/Interact...
[ERROR] [1352246890.974318660]: Attempting to create instance through low level multi-library class loader.
[ERROR] [1352246890.986012206]: Attempting to create unmanged instance...
[ERROR] [1352246890.986058403]: Loading library for class rviz/Select...
[ERROR] [1352246891.033708099]: Attempting to create instance through low level multi-library class loader.
[ERROR] [1352246891.046022805]: Attempting to create unmanged instance...
[ERROR] [1352246891.046061854]: Loading library for class rviz/SetInitialPose...
[ERROR] [1352246891.096293768]: Attempting to create instance through low level multi-library class loader.
[ERROR] [1352246891.115711275]: Attempting to create unmanged instance...
[ERROR] [1352246891.115748231]: Loading library for class rviz/SetGoal...
[ERROR] [1352246891.161085351]: Attempting to create instance through low level multi-library class loader.

@mirzashah
Copy link

Hey Jihoon,
Those errors are a misuse of ROS_ERROR instead of ROS_DEBUG. The issue is
in pluginlib, I released a new version a few minutes ago -- it'll be a few
hours before the .debs are ready.
-mas

On Tue, Nov 6, 2012 at 4:11 PM, Jihoon Lee notifications@github.com wrote:

Hello Mirza,

I have tried to load rviz with new version of class-loader(v 0.1.7) and
got these error logs.
Do you have any insight into it?

Jihoon

jihoonl@whoolala:~$ rosrun rviz rviz > log

Warning: class_loader::class_loader_core: SEVERE WARNING: A library
containing plugins has been opened through a means other than through the
class_loader or pluginlib package. This can happen if you build plugin
libraries that contain more than just plugins (i.e. normal code your app
links against). This inherently will trigger a dlopen() prior to main() and
cause problems as class_loader is not aware of plugin factories that
autoregister under the hood. The class_loader package can compensate, but
you may run into namespace collision problems (e.g. if you have the same
plugin class in two different libraries and you load them both at the same
time). The biggest problem is that library can now no longer be safely
unloaded as the ClassLoader does not know when non-plugin code is still in
use. In fact, no ClassLoader instance in your application will be unable to
unload any library once a non-pure one has been opened. Please refactor
your code to isolate plugins into their own libraries.
at line 151 in /opt/ros/groovy/include/class_loader/class_loader_core.h
Warning: class_loader::class_loader_core: SEVERE WARNING: A library
containing plugins has been opened through a means other than through the
class_loader or pluginlib package. This can happen if you build plugin
libraries that contain more than just plugins (i.e. normal code your app
links against). This inherently will trigger a dlopen() prior to main() and
cause problems as class_loader is not aware of plugin factories that
autoregister under the hood. The class_loader package can compensate, but
you may run into namespace collision problems (e.g. if you have the same
plugin class in two different libraries and you load them both at the same
time). The biggest problem is that library can now no longer be safely
unloaded as the ClassLoader does not know when non-plugin code is still in
use. In fact, no ClassLoader instance in your application will be unable to
unload any library once a non-pure one has been opened. Please refactor
your code to isolate plugins into their own libraries.
at line 151 in /opt/ros/groovy/include/class_loader/class_loader_core.h
[ERROR] [1352246890.731977368]: Attempting to create unmanged instance...
[ERROR] [1352246890.732051706]: Loading library for class rviz/Orbit...
[ERROR] [1352246890.803168398]: Attempting to create instance through low
level multi-library class loader.
[ERROR] [1352246890.861010455]: Attempting to create unmanged instance...
[ERROR] [1352246890.861092189]: Loading library for class
rviz/MoveCamera...
[ERROR] [1352246890.907314473]: Attempting to create instance through low
level multi-library class loader.
[ERROR] [1352246890.922941362]: Attempting to create unmanged instance...
[ERROR] [1352246890.922987712]: Loading library for class rviz/Interact...
[ERROR] [1352246890.974318660]: Attempting to create instance through low
level multi-library class loader.
[ERROR] [1352246890.986012206]: Attempting to create unmanged instance...
[ERROR] [1352246890.986058403]: Loading library for class rviz/Select...
[ERROR] [1352246891.033708099]: Attempting to create instance through low
level multi-library class loader.
[ERROR] [1352246891.046022805]: Attempting to create unmanged instance...
[ERROR] [1352246891.046061854]: Loading library for class
rviz/SetInitialPose...
[ERROR] [1352246891.096293768]: Attempting to create instance through low
level multi-library class loader.
[ERROR] [1352246891.115711275]: Attempting to create unmanged instance...
[ERROR] [1352246891.115748231]: Loading library for class rviz/SetGoal...
[ERROR] [1352246891.161085351]: Attempting to create instance through low
level multi-library class loader.


Reply to this email directly or view it on GitHubhttps://github.com//issues/4#issuecomment-10133424.

@stonier
Copy link
Author

stonier commented Nov 7, 2012

Cool - successfully got rviz image plugin showing images here as well. Still have a problem with 'rosrun image_view image_view' though. Same error as mentioned above.

@mirzashah
Copy link

I had issues with rosrun with overlaid catkin projects myself today...I ran
rviz and image_viewer directly without rosrun. I'll check it out tomorrow
and see if I can shed some light on it. -mas
On Nov 6, 2012 6:32 PM, "Daniel Stonier" notifications@github.com wrote:

Cool - successfully got rviz image plugin showing images here as well.
Still have a problem with 'rosrun image_view image_view' though. Same error
as mentioned above.


Reply to this email directly or view it on GitHubhttps://github.com//issues/4#issuecomment-10136235.

@stonier
Copy link
Author

stonier commented Nov 11, 2012

Seems to be fixed. I'll check again on Monday at work and see if I can create problems with it again and close the issue if it's ok.

@vrabaud
Copy link
Contributor

vrabaud commented Dec 5, 2012

@stonier : is that fixed for you. Should that bug be closed ?

@stonier
Copy link
Author

stonier commented Dec 5, 2012

@vrabaud Just tested with uvc_camera and image_view, bonza.

@stonier stonier closed this as completed Dec 5, 2012
crdelsey pushed a commit to crdelsey/image_common that referenced this issue Feb 11, 2019
Formatted files to be double space indent per ROS standards
furushchev added a commit to furushchev/image_common that referenced this issue Dec 26, 2019
[image_transport] update include statements to use new pluginlib and …
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants