Bug 1514971 - Eclipse fails to send bug reports
Summary: Eclipse fails to send bug reports
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: eclipse-abrt
Version: 27
Hardware: x86_64
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Mat Booth
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-11-19 19:06 UTC by Bill Chatfield
Modified: 2018-01-17 16:19 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-01-17 16:19:10 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
Screenshot of error dialog in question (34.77 KB, image/png)
2017-11-19 19:06 UTC, Bill Chatfield
no flags Details
Content of "Preview" text block of eclipse-abrt's "An Error occurred…" (7.98 KB, text/plain)
2017-11-24 09:39 UTC, Christian Stadelmann
no flags Details

Description Bill Chatfield 2017-11-19 19:06:12 UTC
Created attachment 1355333 [details]
Screenshot of error dialog in question

Description of problem: The attempt to send any bug report collected by eclipse fails with a "Multiple problems have occurred" dialog which includes the error: An internal error occurred during: "Sending Error Reports". jnr/enxio/channels/NativeSelectableChannel


Version-Release number of selected component (if applicable):  eclipse-abrt-0.0.3-3.fc27.src.rpm


How reproducible: Cause an error and try to report it


Steps to Reproduce:

1. Cause an error: Help --> Install New Software --> http://www.viplugin.com That caused an error for me, but it may have been a transitory event.

2. The eclipse error report tool pops up a window to report the error. Choose to send the error.


Actual results: The error reporting fails with an error. See attached dialog image.


Expected results: The error reporting succeeds with no errors.


Additional info: 

I am not sure which Fedora package contains the component that failed. I've guessed that it is eclipse-abrt. But, it could be another component that displays that dialog. I don't know. I'm not sure how to determine which component it is.

It is ironic to get an error while trying to report an error. 
And you can't report the second error because the error reporting system is the thing that failed. :-)

Comment 1 Christian Stadelmann 2017-11-24 09:39:38 UTC
Created attachment 1358574 [details]
Content of "Preview" text block of eclipse-abrt's "An Error occurred…"

Same issue here. I've attached the data that should be reported to abrt about this bug.

Comment 2 Bill Chatfield 2017-12-11 15:24:22 UTC
This is really a serious problem. Maybe my original message didn't explain it well enough. ALL problem reporting for Eclipse is blocked by this problem. There are a lot of problems occurring with Eclipse and I can't report any of them because of this bug which blocks any reporting from Eclipse. Please let me know what I can do to help. Any additional info I can collect? I'd really like to get this working so the problems with Eclipse can get fixed. Thanks.

Comment 3 Mat Booth 2017-12-11 16:11:56 UTC
Hey, thanks for the report. I will into this, you're totally right this seems quite important

Comment 4 Bill Chatfield 2017-12-15 13:33:28 UTC
Looking into this more I was able to get the text of the error. Here are two instances. The problem is that this class is missing: jnr/enxio/channels/NativeSelectableChannel.



The following will be send to: ABRT


REPORT

anonymousId         4f760569-6cd6-401b-a1c1-27af329cede2
name                Bill Chatfield
email               bill_chatfield
comment             
eclipseBuildId      4.7.1.v20170915-1447
eclipseProduct      org.eclipse.platform.ide
javaRuntimeVersion  1.8.0_151-b12
osgiWs              gtk
osgiOs              Linux
osgiOsVersion       4.14.3.fc27
osgiArch            x86_64
severity            UNKNOWN


STATUS

pluginId            org.eclipse.core.jobs
pluginVersion       3.9.1.v20170915-1447
code                2
severity            4
message             An internal error occurred during: "Sending Error Reports".
fingerprint         7cd0f99ade123b50e8fc172b6743369d

Exception:java.lang.NoClassDefFoundError: jnr/unixsocket/UnixSocketChannel
	 at org.fedoraproject.abrt.AbrtConnection.upload(AbrtConnection.java:90)
	 at org.fedoraproject.abrt.AbrtConnection.submit(AbrtConnection.java:79)
	 at org.eclipse.epp.internal.logging.aeri.ide.utils.UploadReportsScheduler.send(UploadReportsScheduler.java:53)
	 at org.eclipse.epp.internal.logging.aeri.ide.utils.UploadReportsScheduler.send(UploadReportsScheduler.java:77)
	 at org.eclipse.epp.internal.logging.aeri.ide.IDEStartup$2.send(IDEStartup.java:109)
	 at org.eclipse.epp.internal.logging.aeri.ide.utils.UploadReportsScheduler$UploadJob.run(UploadReportsScheduler.java:118)
	 at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)


BUNDLES

name                org.eclipse.core.jobs
version             3.9.1.v20170915-1447

name                org.eclipse.epp.logging.aeri.ide
version             2.0.6.v20170917-2136

name                org.fedoraproject.abrt
version             0.0.2.201707260714





The following will be send to: ABRT


REPORT

anonymousId         4f760569-6cd6-401b-a1c1-27af329cede2
name                Bill Chatfield
email               bill_chatfield
comment             
eclipseBuildId      4.7.1.v20170915-1447
eclipseProduct      org.eclipse.platform.ide
javaRuntimeVersion  1.8.0_151-b12
osgiWs              gtk
osgiOs              Linux
osgiOsVersion       4.14.3.fc27
osgiArch            x86_64
severity            UNKNOWN


STATUS

pluginId            org.eclipse.core.jobs
pluginVersion       3.9.1.v20170915-1447
code                2
severity            4
message             An internal error occurred during: "Sending Error Reports".
fingerprint         3684b96ac087e583a75bd8f582bfdfd3

Exception:java.lang.NoClassDefFoundError: jnr/enxio/channels/NativeSelectableChannel
	 at java.lang.ClassLoader.defineClass1(ClassLoader.java:-2)
	 at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
	 at org.eclipse.osgi.internal.loader.ModuleClassLoader.defineClass(ModuleClassLoader.java:276)
	 at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.defineClass(ClasspathManager.java:655)
	 at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findClassImpl(ClasspathManager.java:578)
	 at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClassImpl(ClasspathManager.java:538)
	 at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:525)
	 at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
	 at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:368)
	 at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:446)
	 at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:395)
	 at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:387)
	 at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
	 at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	 at java.lang.ClassLoader.defineClass1(ClassLoader.java:-2)
	 at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
	 at org.eclipse.osgi.internal.loader.ModuleClassLoader.defineClass(ModuleClassLoader.java:276)
	 at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.defineClass(ClasspathManager.java:655)
	 at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findClassImpl(ClasspathManager.java:578)
	 at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClassImpl(ClasspathManager.java:538)
	 at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:525)
	 at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
	 at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:368)
	 at org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:36)
	 at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:430)
	 at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:395)
	 at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:387)
	 at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
	 at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	 at org.fedoraproject.abrt.AbrtConnection.upload(AbrtConnection.java:90)
	 at org.fedoraproject.abrt.AbrtConnection.submit(AbrtConnection.java:79)
	 at org.eclipse.epp.internal.logging.aeri.ide.utils.UploadReportsScheduler.send(UploadReportsScheduler.java:53)
	 at org.eclipse.epp.internal.logging.aeri.ide.utils.UploadReportsScheduler.send(UploadReportsScheduler.java:77)
	 at org.eclipse.epp.internal.logging.aeri.ide.IDEStartup$2.send(IDEStartup.java:109)
	 at org.eclipse.epp.internal.logging.aeri.ide.utils.UploadReportsScheduler$UploadJob.run(UploadReportsScheduler.java:118)
	 at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)
Caused by: java.lang.ClassNotFoundException: jnr.enxio.channels.NativeSelectableChannel cannot be found by com.github.jnr.unixsocket_0.18.0
	 at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:484)
	 at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:395)
	 at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:387)
	 at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
	 at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	 at java.lang.ClassLoader.defineClass1(ClassLoader.java:-2)
	 at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
	 at org.eclipse.osgi.internal.loader.ModuleClassLoader.defineClass(ModuleClassLoader.java:276)
	 at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.defineClass(ClasspathManager.java:655)
	 at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findClassImpl(ClasspathManager.java:578)
	 at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClassImpl(ClasspathManager.java:538)
	 at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:525)
	 at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
	 at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:368)
	 at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:446)
	 at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:395)
	 at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:387)
	 at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
	 at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	 at java.lang.ClassLoader.defineClass1(ClassLoader.java:-2)
	 at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
	 at org.eclipse.osgi.internal.loader.ModuleClassLoader.defineClass(ModuleClassLoader.java:276)
	 at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.defineClass(ClasspathManager.java:655)
	 at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findClassImpl(ClasspathManager.java:578)
	 at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClassImpl(ClasspathManager.java:538)
	 at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:525)
	 at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
	 at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:368)
	 at org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:36)
	 at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:430)
	 at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:395)
	 at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:387)
	 at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
	 at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	 at org.fedoraproject.abrt.AbrtConnection.upload(AbrtConnection.java:90)
	 at org.fedoraproject.abrt.AbrtConnection.submit(AbrtConnection.java:79)
	 at org.eclipse.epp.internal.logging.aeri.ide.utils.UploadReportsScheduler.send(UploadReportsScheduler.java:53)
	 at org.eclipse.epp.internal.logging.aeri.ide.utils.UploadReportsScheduler.send(UploadReportsScheduler.java:77)
	 at org.eclipse.epp.internal.logging.aeri.ide.IDEStartup$2.send(IDEStartup.java:109)
	 at org.eclipse.epp.internal.logging.aeri.ide.utils.UploadReportsScheduler$UploadJob.run(UploadReportsScheduler.java:118)
	 at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)


BUNDLES

name                org.eclipse.core.jobs
version             3.9.1.v20170915-1447

name                org.eclipse.epp.logging.aeri.ide
version             2.0.6.v20170917-2136

name                org.eclipse.osgi
version             3.12.1.v20170915-1447

name                org.fedoraproject.abrt
version             0.0.2.201707260714

Comment 5 Bill Chatfield 2017-12-15 17:37:20 UTC
The problem is that the jnr-enxio.jar is not included in the plugin. jnr-enxio.jar contains the missing class: jnr.enxio.channels.NativeSelectableChannel

I put jnr-enxio.jar in the right directory /usr/share/eclipse/droplets/abrt/eclipse/plugins. But, it's not being picked up. I'm not sure what to do next to fix it.

I have written a great tool for finding class files. It searches through all the jar files in a directory hierarchy and finds classes matching a substring search term. It is a Swing GUI that is easy to use.

https://github.com/gungwald/classfinder/releases/tag/v1.0.0

Comment 6 Fedora Update System 2018-01-08 14:51:42 UTC
jnr-unixsocket-0.18-4.fc27 jnr-enxio-0.16-3.fc27 has been submitted as an update to Fedora 27. https://bodhi.fedoraproject.org/updates/FEDORA-2018-ea64d0b187

Comment 7 Mat Booth 2018-01-08 15:02:45 UTC
(In reply to Fedora Update System from comment #6)
> jnr-unixsocket-0.18-4.fc27 jnr-enxio-0.16-3.fc27 has been submitted as an
> update to Fedora 27.
> https://bodhi.fedoraproject.org/updates/FEDORA-2018-ea64d0b187

Please try the new jnr-* packages in the above update

Due to bug 1459606, it may be necessary to force clean the OSGi cache before you observe any fix, i.e.:

Invoke Eclipse with "eclipse -clean" or clear the user area with "mv ~/.eclipse ~/.eclipse.old"

Comment 8 Fedora Update System 2018-01-09 17:43:08 UTC
jnr-enxio-0.16-3.fc27, jnr-unixsocket-0.18-4.fc27 has been pushed to the Fedora 27 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-ea64d0b187

Comment 9 Fedora Update System 2018-01-17 16:19:10 UTC
jnr-enxio-0.16-3.fc27, jnr-unixsocket-0.18-4.fc27 has been pushed to the Fedora 27 stable repository. If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.