Segmentation fault at ImageJ startup

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Segmentation fault at ImageJ startup

Silas Kraus-2
Good morning/evening depending on time zone.

Ever since about a week ago, I am not able to start ImageJ on Linux.
Whenever I try to start it from console, the Java splash screen appears
for ~ 1 second, then disappears and the console reports a segmentation
fault without any further information.

I have the suspicion that the error might have occured since 2017-06-22
when I upgraded the package "libservlet3.1-java". Does ImageJ make use
of this library? Does anyone else have this problem?

My system is Kubuntu 16.10 64bit, so a Debian-family system. On my home
computer with Kubuntu 14.04, the same error happens. On Windows
everything works fine.

Any hint or help is very much appreciated.
Silas

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html
Reply | Threaded
Open this post in threaded view
|

Re: Segmentation fault at ImageJ startup

Volker Baecker
Hello Silas,
yes this has been discussed here and in the FIJI forum before. The cause
is in the binary launcher and the linux kernel update. You can use the
--system switch to make it work, i.e. from the command line run

ImageJ --system for ImageJ and
ImageJ-linux64 --system for FIJI

Best regards,
Volker

Silas Kraus:

> Good morning/evening depending on time zone.
>
> Ever since about a week ago, I am not able to start ImageJ on Linux.
> Whenever I try to start it from console, the Java splash screen appears
> for ~ 1 second, then disappears and the console reports a segmentation
> fault without any further information.
>
> I have the suspicion that the error might have occured since 2017-06-22
> when I upgraded the package "libservlet3.1-java". Does ImageJ make use
> of this library? Does anyone else have this problem?
>
> My system is Kubuntu 16.10 64bit, so a Debian-family system. On my home
> computer with Kubuntu 14.04, the same error happens. On Windows
> everything works fine.
>
> Any hint or help is very much appreciated.
> Silas
>
> --
> ImageJ mailing list: http://imagej.nih.gov/ij/list.html


--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html

signature.asc (465 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Segmentation fault at ImageJ startup

Michael Schmid
Hi everyone,

for most functions, "ImageJ --system" works. It seems that this makes
ImageJ use the default Java installation.

Unfortunately, I can't use 'Compile&Run' with it.

I always get an error relating to some Java built-in class, e.g.
   /home/schmid/ImageJ/plugins/Various/Test.java:23: cannot access
java.lang.CharSequence
bad class file:
/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/rt.jar(java/lang/CharSequence.class)
bad constant pool tag: 18 at 10

and a lot of warnings like:
   warning:
/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/rt.jar(java/lang/Object.class):
major version 52 is newer than 51, the highest major version supported
by this compiler.
It is recommended that the compiler be upgraded.

So, obviously there is a mismatch between the Java Compiler that comes
with ImageJ and the Java of the system. The compiler works only if
ImageJ uses the Java installed with ImageJ.
---

It works if I start ImageJ using the following shell script instead of
the normal ImageJ Launcher (I've named it named 'ImageJ.sh'). The shell
script should be inside the ImageJ directory. It does not fully replace
the ImageJ launcher, but given its simplicity it is not so bad:

#!/bin/sh
unset CDPATH
MYPATH="`realpath "$0"`"
DIRECTORY="`dirname "$MYPATH"`"
cd $DIRECTORY
$DIRECTORY/jre/bin/java -jar $DIRECTORY/ij.jar "$*"

This file should be executable (Right-click>Properties>Permissions>Allow
executing file as program).


I also have an ImageJ.desktop file now pointing to this shell script
instead of the launcher, so it is possible to drag&drop files onto it to
open them. The ImageJ.desktop file should be also executable and in the
user's ~/.local/share/applications (hidden directory, type CTRL-H to see
it in the 'Files' window; the tilde stands for the user's home
directory). Replace the path to the shell script in Exec and TryExec
with that in your system, and also set the lines with Path and Icon
accordingly:

[Desktop Entry]
Version=1.0
Name=ImageJ
GenericName=ImageJ
X-GNOME-FullName=Image Processing
Comment=Scientific Image Processing and Analysis
Type=Application
Categories=Science;Graphics;
Exec=/home/schmid/ImageJ/ImageJ.sh
TryExec=/home/schmid/ImageJ/ImageJ.sh
Path=/home/schmid/ImageJ/
Terminal=false
StartupNotify=true
Icon=/home/schmid/ImageJ/images/icon.png
StartupWMClass=ij-ImageJ
MimeType=image/bmp;image/gif;image/tiff;image/jpeg;image/png;image/x-portable-graymap;application/zip;text/x-java;text/english;text/plain;application/javascript;

(Beware of line breaks caused by the mailer, the line starting with
'MimeType=' is rather long and the last line of the file)


I'm using ImageJ 1.51p; System Java is OpeJDK Java 1.8.0_131 [64-bit]
Ubuntu 16.04TLS Linux 4.4.0-81-generic


Michael
________________________________________________________________
On 30/06/2017 11:03, Volker Baecker wrote:

> Hello Silas,
> yes this has been discussed here and in the FIJI forum before. The cause
> is in the binary launcher and the linux kernel update. You can use the
> --system switch to make it work, i.e. from the command line run
>
> ImageJ --system for ImageJ and
> ImageJ-linux64 --system for FIJI
>
> Best regards,
> Volker
>
> Silas Kraus:
>> Good morning/evening depending on time zone.
>>
>> Ever since about a week ago, I am not able to start ImageJ on Linux.
>> Whenever I try to start it from console, the Java splash screen appears
>> for ~ 1 second, then disappears and the console reports a segmentation
>> fault without any further information.
>>
>> I have the suspicion that the error might have occured since 2017-06-22
>> when I upgraded the package "libservlet3.1-java". Does ImageJ make use
>> of this library? Does anyone else have this problem?
>>
>> My system is Kubuntu 16.10 64bit, so a Debian-family system. On my home
>> computer with Kubuntu 14.04, the same error happens. On Windows
>> everything works fine.
>>
>> Any hint or help is very much appreciated.
>> Silas
>>
>> --
>> ImageJ mailing list: http://imagej.nih.gov/ij/list.html
>
>
>
> --
> ImageJ mailing list: http://imagej.nih.gov/ij/list.html
>

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html
Reply | Threaded
Open this post in threaded view
|

Re: Segmentation fault at ImageJ startup

ctrueden
Hi Michael,

It would be helpful to post this information on the ImageJ Forum thread:

http://forum.imagej.net/t/unable-to-start-imagej-on-ubuntu-16-04-2-fresh-install/5757/42

Also, for what it's worth, I guess the problem was just fixed and pushed as
an update, at least on Ubuntu Linux.

Regards,
Curtis

--
Curtis Rueden
LOCI software architect - https://loci.wisc.edu/software
ImageJ2 lead, Fiji maintainer - https://imagej.net/User:Rueden
Did you know ImageJ has a forum? http://forum.imagej.net/


On Fri, Jun 30, 2017 at 6:22 PM, Michael Schmid <[hidden email]>
wrote:

> Hi everyone,
>
> for most functions, "ImageJ --system" works. It seems that this makes
> ImageJ use the default Java installation.
>
> Unfortunately, I can't use 'Compile&Run' with it.
>
> I always get an error relating to some Java built-in class, e.g.
>   /home/schmid/ImageJ/plugins/Various/Test.java:23: cannot access
> java.lang.CharSequence
> bad class file: /usr/lib/jvm/java-8-openjdk-am
> d64/jre/lib/rt.jar(java/lang/CharSequence.class)
> bad constant pool tag: 18 at 10
>
> and a lot of warnings like:
>   warning: /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/rt.jar(java/lang/Object.class):
> major version 52 is newer than 51, the highest major version supported by
> this compiler.
> It is recommended that the compiler be upgraded.
>
> So, obviously there is a mismatch between the Java Compiler that comes
> with ImageJ and the Java of the system. The compiler works only if ImageJ
> uses the Java installed with ImageJ.
> ---
>
> It works if I start ImageJ using the following shell script instead of the
> normal ImageJ Launcher (I've named it named 'ImageJ.sh'). The shell script
> should be inside the ImageJ directory. It does not fully replace the ImageJ
> launcher, but given its simplicity it is not so bad:
>
> #!/bin/sh
> unset CDPATH
> MYPATH="`realpath "$0"`"
> DIRECTORY="`dirname "$MYPATH"`"
> cd $DIRECTORY
> $DIRECTORY/jre/bin/java -jar $DIRECTORY/ij.jar "$*"
>
> This file should be executable (Right-click>Properties>Permissions>Allow
> executing file as program).
>
>
> I also have an ImageJ.desktop file now pointing to this shell script
> instead of the launcher, so it is possible to drag&drop files onto it to
> open them. The ImageJ.desktop file should be also executable and in the
> user's ~/.local/share/applications (hidden directory, type CTRL-H to see it
> in the 'Files' window; the tilde stands for the user's home directory).
> Replace the path to the shell script in Exec and TryExec with that in your
> system, and also set the lines with Path and Icon accordingly:
>
> [Desktop Entry]
> Version=1.0
> Name=ImageJ
> GenericName=ImageJ
> X-GNOME-FullName=Image Processing
> Comment=Scientific Image Processing and Analysis
> Type=Application
> Categories=Science;Graphics;
> Exec=/home/schmid/ImageJ/ImageJ.sh
> TryExec=/home/schmid/ImageJ/ImageJ.sh
> Path=/home/schmid/ImageJ/
> Terminal=false
> StartupNotify=true
> Icon=/home/schmid/ImageJ/images/icon.png
> StartupWMClass=ij-ImageJ
> MimeType=image/bmp;image/gif;image/tiff;image/jpeg;image/png
> ;image/x-portable-graymap;application/zip;text/x-java;text/
> english;text/plain;application/javascript;
>
> (Beware of line breaks caused by the mailer, the line starting with
> 'MimeType=' is rather long and the last line of the file)
>
>
> I'm using ImageJ 1.51p; System Java is OpeJDK Java 1.8.0_131 [64-bit]
> Ubuntu 16.04TLS Linux 4.4.0-81-generic
>
>
> Michael
> ________________________________________________________________
>
> On 30/06/2017 11:03, Volker Baecker wrote:
>
>> Hello Silas,
>> yes this has been discussed here and in the FIJI forum before. The cause
>> is in the binary launcher and the linux kernel update. You can use the
>> --system switch to make it work, i.e. from the command line run
>>
>> ImageJ --system                 for ImageJ and
>> ImageJ-linux64 --system         for FIJI
>>
>> Best regards,
>> Volker
>>
>> Silas Kraus:
>>
>>> Good morning/evening depending on time zone.
>>>
>>> Ever since about a week ago, I am not able to start ImageJ on Linux.
>>> Whenever I try to start it from console, the Java splash screen appears
>>> for ~ 1 second, then disappears and the console reports a segmentation
>>> fault without any further information.
>>>
>>> I have the suspicion that the error might have occured since 2017-06-22
>>> when I upgraded the package "libservlet3.1-java". Does ImageJ make use
>>> of this library? Does anyone else have this problem?
>>>
>>> My system is Kubuntu 16.10 64bit, so a Debian-family system. On my home
>>> computer with Kubuntu 14.04, the same error happens. On Windows
>>> everything works fine.
>>>
>>> Any hint or help is very much appreciated.
>>> Silas
>>>
>>> --
>>> ImageJ mailing list: http://imagej.nih.gov/ij/list.html
>>>
>>
>>
>>
>> --
>> ImageJ mailing list: http://imagej.nih.gov/ij/list.html
>>
>>
> --
> ImageJ mailing list: http://imagej.nih.gov/ij/list.html
>

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html