Bug 21350 - Arduino IDE on crashes on M6 (missing jackson-module-mrbean dependency)
Summary: Arduino IDE on crashes on M6 (missing jackson-module-mrbean dependency)
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: 6
Hardware: x86_64 Linux
Priority: High critical
Target Milestone: Mageia 6
Assignee: QA Team
QA Contact:
URL:
Whiteboard: MGA6-32-OK MGA6-64-OK
Keywords: advisory, validated_update
Depends on:
Blocks:
 
Reported: 2017-07-25 18:08 CEST by Piotr Mackowiak
Modified: 2017-11-07 14:50 CET (History)
7 users (show)

See Also:
Source RPM: arduino-1.6.5-3.mga6
CVE:
Status comment:


Attachments

Description Piotr Mackowiak 2017-07-25 18:08:54 CEST
Description of problem:

I try to run Arduino IDE on M6. But it crashes with such errors:

    [maciek@Piotr ~]$ arduino
    /usr/bin/build-classpath: Could not find jackson-module-mrbean Java extension for this JVM
    /usr/bin/build-classpath: error: Some specified jars were not found
    Picked up JAVA_TOOL_OPTIONS:
    java.lang.NoClassDefFoundError: com/fasterxml/jackson/module/mrbean/MrBeanModule
            at processing.app.BaseNoGui.initPackages(BaseNoGui.java:605)
            at processing.app.Base.<init>(Base.java:299)
            at processing.app.Base.guardedMain(Base.java:226)
            at processing.app.Base.main(Base.java:137)
    Caused by: java.lang.ClassNotFoundException: com.fasterxml.jackson.module.mrbean.MrBeanModule
            at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
            at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
            ... 4 more


How reproducible:

Simply install Arduino IDE from M6 repo and run "arduino" command from terminal.
Comment 1 Piotr Mackowiak 2017-07-25 18:15:26 CEST
There is workaround (thanks to doktor5000) by enter command from terminal:

ln -s /usr/share/java/jackson-modules-base /usr/share/java/jackson-module-mrbean

Addition informations about JAVA installation on system:

[root@Piotr ~]# java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-b12)
OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)
[root@Piotr ~]# /sbin/alternatives --display java
java — stan: automatycznie.
 dowiązanie obecnie wskazuje na /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-1.b12.1.mga6.x86_64/jre/bin/java
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-1.b12.1.mga6.x86_64/jre/bin/java - family java-1.8.0-openjdk.x86_64 priority 1800131
 podrzędne jjs: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-1.b12.1.mga6.x86_64/jre/bin/jjs
 podrzędne keytool: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-1.b12.1.mga6.x86_64/jre/bin/keytool
 podrzędne orbd: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-1.b12.1.mga6.x86_64/jre/bin/orbd
 podrzędne pack200: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-1.b12.1.mga6.x86_64/jre/bin/pack200
 podrzędne policytool: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-1.b12.1.mga6.x86_64/jre/bin/policytool
 podrzędne rmid: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-1.b12.1.mga6.x86_64/jre/bin/rmid
 podrzędne rmiregistry: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-1.b12.1.mga6.x86_64/jre/bin/rmiregistry
 podrzędne servertool: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-1.b12.1.mga6.x86_64/jre/bin/servertool
 podrzędne tnameserv: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-1.b12.1.mga6.x86_64/jre/bin/tnameserv
 podrzędne unpack200: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-1.b12.1.mga6.x86_64/jre/bin/unpack200
 podrzędne jre_exports: /usr/lib/jvm-exports/jre-1.8.0-openjdk-1.8.0.131-1.b12.1.mga6.x86_64
 podrzędne jre: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-1.b12.1.mga6.x86_64/jre
 podrzędne java.1.xz: /usr/share/man/man1/java-java-1.8.0-openjdk-1.8.0.131-1.b12.1.mga6.x86_64.1.xz
 podrzędne jjs.1.xz: /usr/share/man/man1/jjs-java-1.8.0-openjdk-1.8.0.131-1.b12.1.mga6.x86_64.1.xz
 podrzędne keytool.1.xz: /usr/share/man/man1/keytool-java-1.8.0-openjdk-1.8.0.131-1.b12.1.mga6.x86_64.1.xz
 podrzędne orbd.1.xz: /usr/share/man/man1/orbd-java-1.8.0-openjdk-1.8.0.131-1.b12.1.mga6.x86_64.1.xz
 podrzędne pack200.1.xz: /usr/share/man/man1/pack200-java-1.8.0-openjdk-1.8.0.131-1.b12.1.mga6.x86_64.1.xz
 podrzędne policytool.1.xz: /usr/share/man/man1/policytool-java-1.8.0-openjdk-1.8.0.131-1.b12.1.mga6.x86_64.1.xz
 podrzędne rmid.1.xz: /usr/share/man/man1/rmid-java-1.8.0-openjdk-1.8.0.131-1.b12.1.mga6.x86_64.1.xz
 podrzędne rmiregistry.1.xz: /usr/share/man/man1/rmiregistry-java-1.8.0-openjdk-1.8.0.131-1.b12.1.mga6.x86_64.1.xz
 podrzędne servertool.1.xz: /usr/share/man/man1/servertool-java-1.8.0-openjdk-1.8.0.131-1.b12.1.mga6.x86_64.1.xz
 podrzędne tnameserv.1.xz: /usr/share/man/man1/tnameserv-java-1.8.0-openjdk-1.8.0.131-1.b12.1.mga6.x86_64.1.xz
 podrzędne unpack200.1.xz: /usr/share/man/man1/unpack200-java-1.8.0-openjdk-1.8.0.131-1.b12.1.mga6.x86_64.1.xz
Obecnie „najlepszą” wersją jest /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-1.b12.1.mga6.x86_64/jre/bin/java.
[root@Piotr ~]# readlink -f $(which java)
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-1.b12.1.mga6.x86_64/jre/bin/java

Target Milestone: --- => Mageia 6
Assignee: sysadmin-bugs => bugsquad
Product: Infrastructure => Mageia
Component: BuildSystem => Release (media or process)
Version: unspecified => 6
Severity: normal => major

Rémi Verschelde 2017-07-25 18:29:07 CEST

Assignee: bugsquad => yann.cantin
CC: (none) => pkg-bugs
Component: Release (media or process) => RPM Packages
Source RPM: (none) => arduino-1.6.5-3.mga6

Rémi Verschelde 2017-07-25 18:29:23 CEST

Summary: Arduino IDE on crashes on M6 => Arduino IDE on crashes on M6 (missing jackson-module-mrbean dependency)

Comment 2 Barry Jackson 2017-11-02 10:46:31 CET
Why is this still broken when a simple fix was suggested months ago?

Can we not apply the symlink in the package and update it to fix this?

For such an important package to be broken for so long in a stable release is really bad.

Priority: Normal => High
Severity: major => critical
CC: (none) => zen25000

Comment 3 Jack M 2017-11-02 11:31:28 CET
Will see if I can do something regarding this. Assuming the fix is simple, of course.

CC: (none) => jackal.j
Assignee: yann.cantin => jackal.j

Comment 4 Jack M 2017-11-02 12:27:06 CET
I could obviously fix it in the way that was suggested, but I am not sure if the fix is in arduino or in jackson-modules-base
Comment 5 Barry Jackson 2017-11-02 14:07:21 CET
Hi Jack,
Having tested the fix and attempted to use the IDE in Mga6 I don't think it's worth the effort as that version seems broken in other ways.

The current upstream version built and installed in Mga6 using the upstream scripts is so far working fine, so I would suggest updating rather than trying to fix our current version.

https://github.com/arduino/Arduino/wiki/Building-Arduino
https://github.com/arduino/Arduino/releases

We currently have 1.6.5 in both cauldron and Mga6 whereas upstream current is 1.8.5.
Comment 6 Jack M 2017-11-02 14:26:11 CET
Even if we could update it in cauldron, updating it in mga6 might require a different bug report, especially if it doesn't satisfy this one.

I am cc'ing the maintainer of jackson-modules to see where the change might be in.

CC: (none) => mageia

Comment 7 Barry Jackson 2017-11-02 14:39:05 CET
(In reply to Jack M from comment #6)
> Even if we could update it in cauldron, updating it in mga6 might require a
> different bug report, especially if it doesn't satisfy this one.

Yes - I could file another bug about the the sketch editor, although there are so many bug fixes between these releases that I would suspect that those alone would be sufficient reason to allow an update in Mga6 especially if Mga6.1 is going to happen.

> 
> I am cc'ing the maintainer of jackson-modules to see where the change might
> be in.

OK thanks for looking into this.
Comment 8 Jack M 2017-11-02 14:56:50 CET
(In reply to Barry Jackson from comment #7)
> (In reply to Jack M from comment #6)
> > Even if we could update it in cauldron, updating it in mga6 might require a
> > different bug report, especially if it doesn't satisfy this one.
> 
> Yes - I could file another bug about the the sketch editor, although there
> are so many bug fixes between these releases that I would suspect that those
> alone would be sufficient reason to allow an update in Mga6 especially if
> Mga6.1 is going to happen.
> 

The process of sending updates to a stable version basically requires a bug report indicating the reason for the said update to happen. Without such a bug report an update will never happen. Also the reason must be some sort of security or working related fix, so it only happens if something is broken or isn't working as intended.
Comment 9 Barry Jackson 2017-11-03 00:16:24 CET
OK ignore my comments #5 and #7.
In attempting to reproduce for another bug report the issues that I was hitting last night with 1.6.5 are not happening on another machine, where I also applied the workaround.
I have successfully edited a sketch and uploaded it to an Arduino without problems.

So maybe there was a gremlin in the first machine, I will try to reproduce, after removing 1.8.5 from it.
Comment 10 David GEIGER 2017-11-03 06:15:16 CET
Should be fixed now on Cauldron and also for mga6 in Core/Updates_testing repo!

Please test it!

- arduino-1.6.5-4.mga7
- arduino-1.6.5-3.1.mga6

CC: (none) => geiger.david68210

Comment 11 Jack M 2017-11-03 06:34:12 CET
Thanks for the fix David! That didn't cross my mind.
Comment 12 Barry Jackson 2017-11-03 11:50:08 CET
Thanks David - nice!

Tested OK in Mga6 x86_64
There are some other unrelated GUI issues but they are not critical and it is usable.

Will test in Cauldron later.
Comment 13 Barry Jackson 2017-11-03 12:57:27 CET
Tested OK in Cauldron x86_64
Comment 14 Barry Jackson 2017-11-03 13:22:27 CET
Tested OK in Mga6 - 32bit plasma5 in VM

The GUI issue I briefly referred to previously happens on my laptop and in a VM and appears to be screen resolution and font related. Changing the editor font size in ~/.arduino15/preferences.txt from the default 12pt to 14pt fixes it.
With 12pt "void setup() {"  is displayed as "void setup(} {"
Comment 15 Jack M 2017-11-03 17:59:59 CET
Assigning it to QA.

Please refer to comment :

(In reply to David GEIGER from comment #10)
> Should be fixed now on Cauldron and also for mga6 in Core/Updates_testing
> repo!
> 
> Please test it!
> 
> - arduino-1.6.5-4.mga7
> - arduino-1.6.5-3.1.mga6

Suggested Advisory:
==============================

Arduino doesn't open and shows a build-classpath error "Could not find jackson-module-mrbean Java extension". The update passed by David GEIGER resolves this.

Packages updated are in mga6 in core/updates_testing and in cauldron.

Assignee: jackal.j => qa-bugs

Comment 16 Herman Viaene 2017-11-04 15:06:40 CET
MGA6-32 on Asus A6000VM MATE
No installation issues.
First runof arduino brings a dialogue for the user to become member of the dialout and lock groups. Need to login again to make these active.
After new login, arduino starts with feedback on CLI:
$ arduino
Picked up JAVA_TOOL_OPTIONS: 
and a code editing window. All seems OK.

CC: (none) => herman.viaene
Whiteboard: (none) => MGA6-32-OK

Lewis Smith 2017-11-05 13:55:28 CET

Keywords: (none) => advisory

Comment 17 Lewis Smith 2017-11-06 09:11:50 CET
Testing M6/64

BEFORE the update;
Installing 'arduino' pulled in a total of 27 pkgs, including:
 arduino-1.6.5-3.mga6
 arduino-doc-1.6.5-3.mga6
 arduino-core-1.6.5-3.mga6
and 'jackson-module-mrbean'

 $ arduino
...
/usr/bin/build-classpath: Could not find jackson-module-mrbean Java extension for this JVM
...
A GUI popped up briefly, disappeared, and then as Comment 16 a dialogue to join groups dialout & lock; adding which asked for root permission.
Need now to logout/in.

CC: (none) => lewyssmith

Comment 18 Lewis Smith 2017-11-06 09:29:05 CET
Testing M6/64 continued.
BEFORE update: after logout/in,
 $ arduino
again the brief appearance/diappearance of a GUI, and the same console O/P as above.

UPDATED to:
- arduino-1.6.5-3.1.mga6.noarch
- arduino-core-1.6.5-3.1.mga6.noarch
- arduino-doc-1.6.5-3.1.mga6.noarch

 $ arduino
 Picked up JAVA_TOOL_OPTIONS:
and displayed a proper GUI primed with skeleton code for 'sketch_nov06a'.
Same from the menu Development->IDE->Arduino IDE.

Update looks good. OKing & validating.

CC: lewyssmith => (none)
Whiteboard: MGA6-32-OK => MGA6-32-OK MGA6-64-OK
Keywords: (none) => validated_update

Comment 19 Mageia Robot 2017-11-07 14:50:07 CET
An update for this issue has been pushed to the Mageia Updates repository.

https://advisories.mageia.org/MGAA-2017-0105.html

Resolution: (none) => FIXED
Status: NEW => RESOLVED


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