Bug 37089 - LibreOffice should warn explicitly that it can't use a 64bit JRE
Summary: LibreOffice should warn explicitly that it can't use a 64bit JRE
Status: RESOLVED WONTFIX
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: LibreOffice (show other bugs)
Version:
(earliest affected)
Inherited From OOo
Hardware: x86-64 (AMD64) Windows (All)
: high normal
Assignee: Not Assigned
QA Contact:
URL:
Whiteboard: Temporary solution: Comment 35
Keywords:
: 47031 48181 80509 91284 92949 (view as bug list)
Depends on:
Blocks: Java-Runtime-JRE
  Show dependency treegraph
 
Reported: 2011-05-10 18:48 UTC by muso
Modified: 2017-02-28 22:22 UTC (History)
12 users (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description muso 2011-05-10 18:48:42 UTC
I use LO 3.3.2. I had the 32bit version of the Java SE 6_24 installed. With this version, LO had no problem - I could set/unset the usage of this Java version in the LO options.
Today I uninstalled Java to install Java Se 6_25 in the 64bit version subsequently, because I run Win XP 64bit.
Now LO doesn't accept  Java at all. Even if I give LO the correct path to the Java binaries, LO tells me that this is no Java.
Comment 1 Rainer Bielefeld Retired 2011-05-10 21:38:04 UTC
This one might be INVALID. AFAIK 64 bit Java only can be used (and must be used) with 64 bit programs (like 64 bit IE). It can not be used and must not be used with 32 bit programs like LibO. Selection of Java version only is related to Program 32 bit /64 bit not to OS.

To be honest, that's only knowledge I read about, I have no own experience.
Comment 2 Don't use this account, use tml@iki.fi 2011-05-10 23:36:58 UTC
Rainer is correct. The bug here is that LibreOffice could perhaps be clever enough to notice that there is a 64-bit Java and then give a different warning message.
Comment 3 Rainer Bielefeld Retired 2011-05-11 00:45:26 UTC
@Jan: 
We should have a hint on <http://help.libreoffice.org/Common/Java> and in local Help. Can you proceed without separate report?
Comment 4 muso 2011-05-11 15:02:59 UTC
> 64 bit Java only can be used (and must be used) with 64 bit programs
> (like 64 bit IE).

From where do you have this info? I can use the 64bit Java without problems for other programs, e.g. the editor program jedit, which is a 32bit application.

On a 64bit Windows I had never a problem to run 64bit and 32bit version side by side. I use for example the 64bit version of Ghostscript and this program can be used by 32bit programs without problems to create Postscript and PDF files.

So before you permit 64bit Java for LibreOffice, please test if LibreOffice is not already able to handle it.

Btw., are there plans to offer a 64bit version of LO?
Comment 5 Don't use this account, use tml@iki.fi 2011-05-11 17:47:21 UTC
jEdit, at least the 4.4pre1 version I just installed, is a Java application. The jedit.exe file that is included is only a thin wrapper that just starts a separate javaw process to run it. Check with Task Manager or Process Explorer. Even if jedit.exe is 32-bit, sure, for me on a 64-bit OS it starts a 64-bit javaw. And yes, I have both 32- and 64-bit versions of the JRE and JDK installed.

LibreOffice uses Java by loading the JVM dll. Please explain how you think a 32-bit LibreOffice process could load a DLL containing x64 code.

No, there are no current plans to offer a 64-bit version of LibreOffice on Windows as far as I know. If (paying) customers start asking for it, some company might consider continuing working on the effort to port LibreOffice to 64-bit Windows. Any volunteer is of course also welcome to work on that. If such a port would be completed and reliable, whether the Document Foundation would then decide to offer it as an official build, I don't know.
Comment 6 Don't use this account, use tml@iki.fi 2011-05-11 18:27:27 UTC
Also, you mention the 64-bit ghostscript program being used by 32-but programs. So what, there is absolutely no problem in a 32-bit program starting a 64-bit program as a child process, or vice versa.

What isn't possible is a 32-bit process loading a 64-bit DLl or vice versa. (Well, to some extent on a low level it *is* possible, both the 64- and 32-bit ntdll.dll DLLs are mapped in a 32-bit process, but I don't know how that works in practice (should read up on wow64). Anyway, doing cross-bitness DLL load and use for normal code would require quite some hacks and it would hardly be possible from normal C++ code like that of LibreOffice.)
Comment 7 muso 2011-05-11 18:29:05 UTC
> LibreOffice uses Java by loading the JVM dll.

I didn't know that. I thought that LO also starts a javaw process.
Comment 8 Björn Michaelsen 2011-12-23 12:03:56 UTC Comment hidden (obsolete)
Comment 9 vitriol 2012-04-02 03:14:19 UTC
*** Bug 48181 has been marked as a duplicate of this bug. ***
Comment 10 Eric Stob 2012-04-20 11:43:00 UTC
+1
This is extremely user unfriendly.
Honestly this bug should be "add compatibility for 64 bit JRE" but if we *must* dictate the use of 32 bit JRE, then it should be explicitly communicated to the user.  Forcing the user to download and try a bunch of JREs to find one that works (as I just had to do to discover that only 32-bit JREs work) is enough to turn users back to Excel forever.
Comment 11 Rainer Bielefeld Retired 2012-07-06 22:22:58 UTC
@Stephan, Caolán:
You are working on this?
Comment 12 Stephan Bergmann 2012-07-09 12:52:07 UTC
(In reply to comment #11)
> @Stephan, Caolán:
> You are working on this?

no
Comment 13 Kumāra 2013-10-07 04:40:57 UTC
The Summary is very accurate:
LibreOffice should warn explicitly that it can't use a 64bit JRE

Yes, it's okay to have both 64bit and 32bit version JRE. I used to have that. Then I foolishly thought I can do without the 32bit version. So, I removed it.

That's when I get the "JRE is Defective" error message. Even worse is when I click OK. I get an empty "LibreOffice Document Recovery" dialog box. (?!?!). Click OK, and LibO restarts and the same thing repeats, over and over, till I kill the multiple processes with Task Manager.

Perhaps no fix should be done on the program, but it _is_ important to make this explicit--at least at the download page.
Comment 14 ign_christian 2013-10-07 09:05:57 UTC
*** Bug 47031 has been marked as a duplicate of this bug. ***
Comment 15 Alex Thurgood 2015-05-15 15:07:16 UTC
*** Bug 91284 has been marked as a duplicate of this bug. ***
Comment 16 Kumāra 2015-05-17 00:58:55 UTC
This is an issue for LO for Windows, which is still available in 32bit only. Does it affect Linux 32bit too?
Comment 17 Maxim Monastirsky 2015-07-27 04:32:12 UTC
*** Bug 80509 has been marked as a duplicate of this bug. ***
Comment 18 Maxim Monastirsky 2015-07-27 04:33:26 UTC
*** Bug 92949 has been marked as a duplicate of this bug. ***
Comment 19 Adolfo Jayme 2015-08-01 07:55:31 UTC
Increasing importance a bit given that we now provide 64-bit Windows builds.
Comment 20 Peter Toye 2015-10-25 13:24:26 UTC Comment hidden (me-too)
Comment 21 Joel Madero 2015-10-25 16:15:16 UTC
"I agree" comments are not terribly useful unless you're offering to do the work. My guess is you can't (not a developer). We know of the issue, it is what it is. If a volunteer takes the time to tackle the issue, then it will be fixed. That's just how the project works.
Comment 22 Kumāra 2015-10-26 09:09:40 UTC
Joel, I agree, with you.

While no one is fixing this yet, please consider 2 temporary quick "fixes":
1. Indicate in the download page that LO works with JRE 32bit, not 64bit.
2. Indicate the same in the Java Options section.

But of course best if LO (32bit) for Windows simply wouldn't show the JRE 64bit in the Java Options. This should be better than just warning. But still good to do point too above as well. Agree?
Comment 23 Joel Madero 2015-10-26 14:20:30 UTC
I'd suggest emailing the website team about that second suggestion as it's different from the bug report.
Comment 24 Marc Pare 2015-10-28 20:05:02 UTC
(In reply to Kumāra from comment #22)
> Joel, I agree, with you.
> 
> While no one is fixing this yet, please consider 2 temporary quick "fixes":
> 1. Indicate in the download page that LO works with JRE 32bit, not 64bit.
> 2. Indicate the same in the Java Options section.
> 
> But of course best if LO (32bit) for Windows simply wouldn't show the JRE
> 64bit in the Java Options. This should be better than just warning. But
> still good to do point too above as well. Agree?

Could you please suggest a sentence that we could post? How about: 

" *Note that where the use of java is needed, at this point, LibreOffice works with the 32 bit version of Java (JRE 32bit) and not the 64 bit of Java (JRE 64bit)."

Would this sentence do?

Marc
Website team member
Comment 25 Kumāra 2015-10-29 08:12:14 UTC
(In reply to Marc Pare from comment #24)
> Could you please suggest a sentence that we could post? How about: 
> 
> " *Note that where the use of java is needed, at this point, LibreOffice
> works with the 32 bit version of Java (JRE 32bit) and not the 64 bit of Java
> (JRE 64bit)."
> 
> Would this sentence do?

Here's my suggestion with some assumptions for Windows 32bit version only (Others with better technical knowledge please confirm):

"If Java is needed, note that this version works with the 32 bit version of Java (JRE 32bit), not the 64 bit of Java (JRE 64bit)."

Please display this for 32bit versions of LO only.
Comment 26 Marc Pare 2015-10-29 11:08:12 UTC
(In reply to Kumāra from comment #25)
> (In reply to Marc Pare from comment #24)
> > Could you please suggest a sentence that we could post? How about: 
> > 
> > " *Note that where the use of java is needed, at this point, LibreOffice
> > works with the 32 bit version of Java (JRE 32bit) and not the 64 bit of Java
> > (JRE 64bit)."
> > 
> > Would this sentence do?
> 
> Here's my suggestion with some assumptions for Windows 32bit version only
> (Others with better technical knowledge please confirm):
> 
> "If Java is needed, note that this version works with the 32 bit version of
> Java (JRE 32bit), not the 64 bit of Java (JRE 64bit)."
> 
> Please display this for 32bit versions of LO only.


Although, we now have a 64bit LibreOffice version and people will assume then that they will need to install JRE64bit which does not work (till this is fixed). How about:

"If Java is needed, all versions of LibreOffice (32bit and 64bit) work with the 32 bit version of Java (JRE 32bit), not the 64 bit Java (JRE 64bit). Support for 64bit Java is coming soon."

Marc
Comment 27 Stephan Bergmann 2015-10-29 11:36:04 UTC
(In reply to Marc Pare from comment #26)
> "If Java is needed, all versions of LibreOffice (32bit and 64bit) work with
> the 32 bit version of Java (JRE 32bit), not the 64 bit Java (JRE 64bit).
> Support for 64bit Java is coming soon."

That is wrong.  A 32-bit LO build needs a 32-bit JRE, while a 64-bit LO build needs a 64-bit JRE.
Comment 28 Marc Pare 2015-10-30 06:27:02 UTC
(In reply to Stephan Bergmann from comment #27)
> (In reply to Marc Pare from comment #26)
> > "If Java is needed, all versions of LibreOffice (32bit and 64bit) work with
> > the 32 bit version of Java (JRE 32bit), not the 64 bit Java (JRE 64bit).
> > Support for 64bit Java is coming soon."
> 
> That is wrong.  A 32-bit LO build needs a 32-bit JRE, while a 64-bit LO
> build needs a 64-bit JRE.

Suggest text then?
Comment 29 Kumāra 2015-10-30 09:03:42 UTC
Marc, since the website detects the visitor's OS and offers the exact version, I suppose you can have it indicate the JRE compatible to that version. So, assuming me knowledge is correct (on 32/64bit):

For 32bit ones (such as the current Windows version), mention
"If Java is needed, note that this version works with the 32 bit version of Java (JRE 32bit), not the 64 bit of Java."

For 64bit ones (such as 64bit Linux versions), mention
"If Java is needed, note that this version works with the 64 bit version of Java (JRE 64bit), not the 32 bit of Java."

But before you make this change, can the more technically knowledgeable ones confirm the above?
Comment 30 Kumāra 2015-10-30 09:05:56 UTC
Sorry correction:

For 32bit ones (such as the current Windows version), mention
"If Java is needed, note that this version works with the 32 bit version of
Java (JRE 32bit), not the 64 bit one."

For 64bit ones (such as 64bit Linux versions), mention
"If Java is needed, note that this version works with the 64 bit version of
Java (JRE 64bit), not the 32 bit one."

If someone else has a more elegant solution/phrasing, please suggest.
Comment 31 Stephan Bergmann 2015-10-30 09:06:17 UTC
(In reply to Marc Pare from comment #28)
> Suggest text then?

The one in comment 25 (maybe with an addition of "..., not the 64 bit *version* ...") is IMO fine with "Please display this for 32bit versions of LO only."
Comment 32 Stephan Bergmann 2015-10-30 09:15:56 UTC
(In reply to Kumāra from comment #29)
> Marc, since the website detects the visitor's OS and offers the exact
> version, I suppose you can have it indicate the JRE compatible to that
> version. So, assuming me knowledge is correct (on 32/64bit):

I think this is heading in the wrong direction.  The download page can probably detect the user's OS and also its "bit-ness" (32 vs. 64), but that is not the most relevant thing here.

What is relevant is that if a user downloads a 32 bit LO for a 64 bit OS, to alert them that they need a 32 bit JRE.

(When downloading a 64 bit LO for a 64 bit OS, technically, one could also alert the user that they need a 64 bit JRE; but they are much more likely anyway to use a 64 bit JRE on a 64 bit OS than to use a 32 bit JRE on a 64 bit OS, as required in the case above, so any such alert would probably cause more confusion than good.  When downloading a 32 bit LO for a 32 bit OS, the user can only have a 32 bit JRE on that OS anyway.  And downloading a 64 bit LO for a 32 bit OS is not possible at all.)
Comment 33 Marc Pare 2015-10-30 10:54:16 UTC
(In reply to Stephan Bergmann from comment #32)
> (In reply to Kumāra from comment #29)
> > Marc, since the website detects the visitor's OS and offers the exact
> > version, I suppose you can have it indicate the JRE compatible to that
> > version. So, assuming me knowledge is correct (on 32/64bit):
> 
> I think this is heading in the wrong direction.  The download page can
> probably detect the user's OS and also its "bit-ness" (32 vs. 64), but that
> is not the most relevant thing here.
> 
> What is relevant is that if a user downloads a 32 bit LO for a 64 bit OS, to
> alert them that they need a 32 bit JRE.
> 
> (When downloading a 64 bit LO for a 64 bit OS, technically, one could also
> alert the user that they need a 64 bit JRE; but they are much more likely
> anyway to use a 64 bit JRE on a 64 bit OS than to use a 32 bit JRE on a 64
> bit OS, as required in the case above, so any such alert would probably
> cause more confusion than good.  When downloading a 32 bit LO for a 32 bit
> OS, the user can only have a 32 bit JRE on that OS anyway.  And downloading
> a 64 bit LO for a 32 bit OS is not possible at all.)

How about:

"If Java is needed, all 32-bit versions of LibreOffice work with the 32 bit version of Java (JRE 32bit); all 64-bit versions of LibreOffice work with the 64-bit version of Java (JRE 64bit). The appropriate version of Java may be downloaded at www.Java.com"
Comment 34 Marc Pare 2015-11-04 03:38:47 UTC
Just getting back to this. 

If there are no objections, the, I will update the download page with the suggested text below.

Marc

(In reply to Marc Pare from comment #33)
> (In reply to Stephan Bergmann from comment #32)
> > (In reply to Kumāra from comment #29)
> > > Marc, since the website detects the visitor's OS and offers the exact
> > > version, I suppose you can have it indicate the JRE compatible to that
> > > version. So, assuming me knowledge is correct (on 32/64bit):
> > 
> > I think this is heading in the wrong direction.  The download page can
> > probably detect the user's OS and also its "bit-ness" (32 vs. 64), but that
> > is not the most relevant thing here.
> > 
> > What is relevant is that if a user downloads a 32 bit LO for a 64 bit OS, to
> > alert them that they need a 32 bit JRE.
> > 
> > (When downloading a 64 bit LO for a 64 bit OS, technically, one could also
> > alert the user that they need a 64 bit JRE; but they are much more likely
> > anyway to use a 64 bit JRE on a 64 bit OS than to use a 32 bit JRE on a 64
> > bit OS, as required in the case above, so any such alert would probably
> > cause more confusion than good.  When downloading a 32 bit LO for a 32 bit
> > OS, the user can only have a 32 bit JRE on that OS anyway.  And downloading
> > a 64 bit LO for a 32 bit OS is not possible at all.)
> 
> How about:
> 
> "If Java is needed, all 32-bit versions of LibreOffice work with the 32 bit
> version of Java (JRE 32bit); all 64-bit versions of LibreOffice work with
> the 64-bit version of Java (JRE 64bit). The appropriate version of Java may
> be downloaded at www.Java.com"
Comment 35 Kumāra 2015-11-04 05:19:30 UTC
(In reply to Marc Pare from comment #34)
> If there are no objections, the, I will update the download page with the
> suggested text below.

As you were responding Stephan, I thought I let him reply. But since he's not, let me offer my suggestion then.

Preferably, be specific.

When offering a 32-bit version for download, say:

This is a 32-bit version. If Java is needed, note that it works only with a 32-bit version of Java (JRE 32bit). The suitable version should be available at www.Java.com.

When offering a 64-bit version for download, say:

This is a 64-bit version. If Java is needed, note that it works only with a 64-bit version of Java (JRE 64bit). The suitable version should be available at www.Java.com.
Comment 36 Stephan Bergmann 2015-11-04 09:30:17 UTC
(In reply to Kumāra from comment #35)
> As you were responding Stephan, I thought I let him reply. But since he's
> not, let me offer my suggestion then.

Ah, sorry, I had lost track of this.

I'd be fine with each of the two suggestions, in comment 33 and comment 35.
Comment 37 muso 2017-02-28 22:22:18 UTC
Obviously the requested change will not be implemented and maybe it is no longer necessary since there is a native 64bit build available.