Bug 116509

Summary: OpenGL: Slideshows with Transitions crashing Impress
Product: LibreOffice Reporter: Luke <lukebenes>
Component: graphics stackAssignee: Not Assigned <libreoffice-bugs>
Status: RESOLVED FIXED    
Severity: critical CC: noelgrandin, telesto, xiscofauli
Priority: highest Keywords: bibisected, bisected, regression
Version: 6.1.0.0.alpha0+   
Hardware: All   
OS: All   
Whiteboard: target:6.1.0
Crash report or crash signature: Regression By:
Bug Depends on:    
Bug Blocks: 94691, 103704    
Attachments: Simple ODP to trigger this bug
Bibisect log
WinDbg Exception Analysis : vcllo!BitmapReadAccess::GetScanline backtrace

Description Luke 2018-03-19 21:48:09 UTC
Steps to reproduce:
1. Navigate to https://skydrive.live.com/view.aspx?resid=9FBE63963526EB25!411&app=PowerPoint&wdo=2&authkey=!AN5Q_kKPvn2eWUQ
2. Download .pptx file
3. Open in Impress 
4. Start the slideshow
5. Press the spacebar to go to page 2

Results:
Version: 6.1.0.0.alpha0+
Build ID: 3c913c3844acae8ee0d80ab174133bdc7677efea
CPU threads: 4; OS: Windows 10.0; UI render: GL; 
TinderBox: Win-x86@42, Branch:master, Time: 2018-02-14_00:19:27
Crash

Version: 6.1.0.0.alpha0+ (x64)
Build ID: 3deac9691011711a3b9e50d19499c588af074d7f
CPU threads: 4; OS: Windows 10.0; UI render: GL; 
TinderBox: Win-x86_64@42, Branch:master, Time: 2018-01-30_03:11:54
Good

Disabling OpenGL works around this bug.
Comment 1 Luke 2018-03-19 21:48:52 UTC
Created attachment 140725 [details]
Simple ODP to trigger this bug
Comment 2 Telesto 2018-03-20 08:42:59 UTC
Repro
Version: 6.1.0.0.alpha0+
Build ID: e5bc7fa4e83b33fc3eee343e560a4f8cb91eacd6
CPU threads: 4; OS: Windows 6.3; UI render: GL; 
TinderBox: Win-x86@42, Branch:master, Time: 2018-03-14_23:37:38
Locale: nl-NL (nl_NL); Calc: CL

but not with
Version: 6.0.0.0.alpha1+
Build ID: dae6ba564fcf20299b7a560aeb346efc84364d41
CPU threads: 4; OS: Windows 6.3; UI render: GL; 
TinderBox: Win-x86@39, Branch:master, Time: 2017-11-01_00:28:17
Locale: nl-NL (nl_NL); Calc: CL
Comment 3 Telesto 2018-03-21 15:31:29 UTC
Created attachment 140793 [details]
Bibisect log

Bisected to

author	Noel Grandin <noel.grandin@collabora.co.uk>	2018-02-07 09:49:10 +0200
committer	Noel Grandin <noel.grandin@collabora.co.uk>	2018-02-07 10:08:30 +0100
commit e5012e53b919ae4921d6d35660bde323a6f28417 (patch)
tree d0ed24f56e29f5d027e21404696fca441cdd0fc5
parent c99527385acf367c748b3dcf3e6a3bb8103f5eee (diff)
use scanline when reading pixel data
extracts code from the innermost part of fairly hot loops

And add a GetIndexFromData method to make the call sites a little easier
to read.
Comment 4 Telesto 2018-03-21 15:32:16 UTC
Adding CC to Noel Grandin
Comment 5 Noel Grandin 2018-03-23 11:20:25 UTC
Could someone get me a backtrace with symbols? Can repro this myself. (I remote into my dev box, tends to disable OpenGL)
Comment 6 Luke 2018-03-23 20:18:06 UTC
Created attachment 140834 [details]
WinDbg Exception Analysis : vcllo!BitmapReadAccess::GetScanline backtrace
Comment 7 Noel Grandin 2018-03-24 12:43:07 UTC
I'm fairly sure this patch will fix it:

    https://gerrit.libreoffice.org/51803

Could someone test that out?
Comment 8 Telesto 2018-03-24 20:37:45 UTC
(In reply to Noel Grandin from comment #7)
> I'm fairly sure this patch will fix it:
> 
>     https://gerrit.libreoffice.org/51803
> 
> Could someone test that out?

No crash with the patch applied.. :-)
Comment 9 Commit Notification 2018-03-25 10:48:45 UTC
Noel Grandin committed a patch related to this issue.
It has been pushed to "master":

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

tdf#116509 OpenGL: Slideshows with Transitions crashing Impress

It will be available in 6.1.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.