Bug 100965 - calc does not start on first call, when OpenCL needs to be automatically disabled
Summary: calc does not start on first call, when OpenCL needs to be automatically disa...
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Calc (show other bugs)
Version:
(earliest affected)
5.3.0.0.alpha0+
Hardware: All Windows (All)
: medium normal
Assignee: Not Assigned
URL:
Whiteboard: target:5.3.0 target:5.2.2 target:5.2.1
Keywords:
Depends on:
Blocks: OpenCL
  Show dependency treegraph
 
Reported: 2016-07-17 09:32 UTC by M
Modified: 2016-08-22 06:57 UTC (History)
4 users (show)

See Also:
Crash report or crash signature:
Regression By:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description M 2016-07-17 09:32:54 UTC
This issue applies after the fix in #100545 which tests for certain criteria under which OpenCl must be disabled.

I tested on libo-master~2016-07-14_23.42.51_LibreOfficeDev_5.3.0.0.alpha0_Win_x86 but it may also apply to fixes branches that have the referred issue merged.


To reproduce, you need a version of OpenCl that will be detected as faulty.

Ensure OpenCl is enabled in the config. (If not, then set the checkbox, Apply, and quit all open libreoffice apps)

Now start calc (from startmenu/desktop shortcut to calc).
The splash screen will appear briefly. After that nothing. Calc will not start.

It must however have done something (I assume it has disabled OpenCl in the config), because if you attempt to start it again, it will start as it should.

It will continue to start ok, until you try to enable OpenCl again. If OpenCl is checked again, it will have one failed start again, and after that be ok again.
Comment 1 Tor Lillqvist 2016-07-28 08:30:48 UTC
I tried to reproduce in a fresh build in the 5.1 brach: I edited the testOpenCLCompute() function in desktop/source/app/opencl.cxx so that it always takes the "OpenCL results unstable - disabling" branch and rebuilt. I cleaned out all profile and cache data. Then I started Calc (with instdir/program/soffice.exe --calc, which should effectively be equivalent to running Calc from the Start Menu). No problems. Tools>Options>OpenCL shows that OpenCL is disabled.
Comment 2 Michael Meeks 2016-07-28 09:43:55 UTC
I think 'M' catches a SEGV from his OpenCL driver - and on master (vs. 5.1 or 5.2) that avoids the SEH that turns it into an exception; so I would expect a crash and re-start for this case - but that should only ever happen once when you start, or upgrade.

I think the preferred solution here was to at least show a warning explaining that saying: "Your OpenCL driver <version> crashed while doing some test calculations - disable OpenCL and re-starting." or something to explain it (?).

Of course, that needs a new string => 5.3 only.
Comment 3 Jan Holesovsky 2016-08-08 17:28:05 UTC
Michael: From what I understand here, the M's problem here is that LibreOffice actually does not restart automatically - and the user has to click the Calc once again.

M: Can you confirm that you are happy if the splash screen appears, disappears, and appears again (but disables OpenCL silently)?  From the UX point of view, I'd like to avoid a pop-up with some technicalities of the OpenCL - for most users it would only be a "ouch, some technical blabla, why they are annoying me with that".

If you still prefer to have an explanation that OpenCL had to be disabled, then I think we should do it directly in the Tools -> Options page that has the OpenCL switch - disable it, and add the explanation of the crash.
Comment 4 M 2016-08-10 16:26:59 UTC
Yes, it does not restart automatically.

A splash-screen, or any dialog would solve the issue.

The important part of the message would be: (due to a bug in a 3rd party library) "libreoffice/calc may not be able to (re)start automatically, in this case it should be fine if you run it again"

Of course text is up to you.
Comment 5 Jan Holesovsky 2016-08-10 16:38:08 UTC
M: Thank you for the answer, but I meant to ask something a bit different :-)  Would you be happy enough as the solution if it actually _did_ restart?

Ie. no text, just restart, without user noticing that OpenCL was disabled.

The warning about it being disabled would be in the Tools -> Options, next to the enable / disable checkbox.

This would be a more user friendly solution, just checking if it fits your use case :-)
Comment 6 M 2016-08-10 21:42:09 UTC
If it did restart, then yes that would be perfect.
No info about the restart needed.

Most people will not be interested in a report about opencl (or the restart). That is until they go to the options with the indent of changing it.

----------
I ll be happy to test another version, let me know.
(It might be a while, as I will be away most of the next 4 weeks)
Comment 7 M 2016-08-10 21:45:44 UTC
I see now "splash screen" refers to the already existent splash screen:
No problem if it goes on and off a couple of times. (I miss-understood that, and (my fault) did not pay enough attention to the rest of the comment)
Comment 8 Commit Notification 2016-08-14 06:55:19 UTC
Tor Lillqvist committed a patch related to this issue.
It has been pushed to "master":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=32881f01833dbcefd5600e1135dd8743178bfd96

tdf#100965: Restart on initialisation-time OpenCL crash

It will be available in 5.3.0.

The patch should be included in the daily builds available at
http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
http://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 9 Commit Notification 2016-08-18 07:31:06 UTC
Tor Lillqvist committed a patch related to this issue.
It has been pushed to "libreoffice-5-2":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=e2d5eec6ad49bab6aac2295a1882bf75184aa50c&h=libreoffice-5-2

tdf#100965: Restart on initialisation-time OpenCL crash

It will be available in 5.2.2.

The patch should be included in the daily builds available at
http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
http://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 10 Commit Notification 2016-08-18 12:40:42 UTC
Tor Lillqvist committed a patch related to this issue.
It has been pushed to "libreoffice-5-2-1":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=0db37afc551e7e7be04dfb3a7efe7a1e5e327f2f&h=libreoffice-5-2-1

tdf#100965: Restart on initialisation-time OpenCL crash

It will be available in 5.2.1.

The patch should be included in the daily builds available at
http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
http://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 11 Tor Lillqvist 2016-08-22 06:57:13 UTC
I think this can be resolved now.