| Summary: | CRASH when opening simple document containing shapes with OpenGL enabled | ||
|---|---|---|---|
| Product: | LibreOffice | Reporter: | Telesto <telesto> |
| Component: | Draw | Assignee: | Not Assigned <libreoffice-bugs> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | caolan.mcnamara, markus.mohrhard, michael.meeks, quikee, vsfoote, xiscofauli |
| Priority: | medium | ||
| Version: | 5.4.0.0.alpha1+ | ||
| Hardware: | All | ||
| OS: | All | ||
| Whiteboard: | target:6.0.0 target:5.4.2 | ||
| Crash report or crash signature: | ["mergedlo.dll"] | Regression By: | |
| Bug Depends on: | |||
| Bug Blocks: | 93529 | ||
| Attachments: |
Example file
WindDbg 64 StackTrace WinDbg 32 StackTrace with better symbols |
||
|
Description
Telesto
2017-05-09 17:59:35 UTC
Created attachment 133200 [details]
Example file
Confirmed on Windows 8.1 Ent 64-bit en-US with Version: 5.4.0.0.alpha1+ (x64) Build ID: d33e262a244f351febc9dbe605b05f76cb834eeb CPU threads: 8; OS: Windows 6.29; UI render: GL; TinderBox: Win-x86_64@62-TDF, Branch:MASTER, Time: 2017-05-08_01:51:26 Locale: en-US (en_US); Calc: CL Crash report: http://crashreport.libreoffice.org/stats/crash_details/2f118c42-21fd-45bf-aa86-a050927711e7 Drawing opens without issue into Version: 5.3.3.2 (x64) Build ID: 3d9a8b4b4e538a85e0782bd6c2d430bafe583448 CPU Threads: 8; OS Version: Windows 6.29; UI Render: default; Layout Engine: new; Locale: en-US (en_US); Calc: group Created attachment 133201 [details] WindDbg 64 StackTrace On Windows 8.1 Ent 64-bit en-US with Version: 5.4.0.0.alpha1+ (x64) Build ID: d33e262a244f351febc9dbe605b05f76cb834eeb CPU threads: 8; OS: Windows 6.29; UI render: default; TinderBox: Win-x86_64@62-TDF, Branch:MASTER, Time: 2017-05-08_01:51:26 Locale: en-US (en_US); Calc: CL LibreOfficeDev 5.4 - Fatal error "timeout waiting for threadpool tasks" but guess that could be while attached to WinDbg Created attachment 133203 [details] WinDbg 32 StackTrace with better symbols Crashes on 32-bit Windows builds as well... Version: 5.4.0.0.alpha1+ Build ID: 9d320ec4d818f86e58a15fd46248026502b1cc94 CPU threads: 8; OS: Windows 6.29; UI render: GL; TinderBox: Win-x86@39, Branch:master, Time: 2017-05-09_00:07:01 Locale: en-US (en_US); Calc: CL WinDbg StackTrace with better TB39 symbols attached. !analyze -v says it is an epoxy issue with wgl and vcllo WinOpenGLContext # 10 Id: 1140.1570 Suspend: 1 Teb: 7f48c000 Unfrozen "thread-pool" ChildEBP RetAddr WARNING: Frame IP not in any known module. Following frames may be wrong. 1f22ec3c 5565a640 0x0 1f22ec44 58810b18 epoxy!epoxy_wglGetCurrentContext_dispatch_table_thunk(void)+0x10 [c:\cygwin\home\tinderbox\master\workdir\unpackedtarball\epoxy\src\wgl_generated_dispatch.c @ 1482] 1f22ec68 58810cf8 vcllo!WinOpenGLContext::isCurrent(void)+0x58 [c:\cygwin\home\tinderbox\master\vcl\opengl\win\gdiimpl.cxx @ 81] 1f22ed40 587f7d1f vcllo!WinOpenGLContext::makeCurrent(void)+0x38 [c:\cygwin\home\tinderbox\master\vcl\opengl\win\gdiimpl.cxx @ 92] odd; any ideas Caolan / Tomaz ? The wgl dispatch table thing on windows is sort of demand loaded IIRC and doesn't exist until at the first wglMakeCurrent (or something like that) is called. There's a "g_bAnyCurrent" variable on that line 81 to short circuit the case that the dispatch table hasn't been created so nothing could be current. I guess its thread specific or something and this thread hasn't had wglMakeCurrent called but a previous one has and so g_bAnyCurrent is true. Maybe a std::thread_local could be used to test this theory with whatever buildfixes are required perhaps https://gerrit.libreoffice.org/#/c/41927/ would do something useful here Caolán McNamara committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=4cc634327a752d633ea341252d8f4845157f887b Resolves: tdf#107730 ensure per-thread epoxy_handle_external_wglMakeCurrent It will be available in 6.0.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. Caolán McNamara committed a patch related to this issue. It has been pushed to "libreoffice-5-4": http://cgit.freedesktop.org/libreoffice/core/commit/?id=45cfa386e312bf70c84fb971a9f7d541353b4809&h=libreoffice-5-4 Resolves: tdf#107730 ensure per-thread epoxy_handle_external_wglMakeCurrent It will be available in 5.4.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. (In reply to Commit Notification from comment #8) > > http://cgit.freedesktop.org/libreoffice/core/commit/ > ?id=4cc634327a752d633ea341252d8f4845157f887b > > Resolves: tdf#107730 ensure per-thread epoxy_handle_external_wglMakeCurrent > Sorry missed this. Attachment 133200 [details] opens cleanly now with the commit present. On Windows 10 Ent 64-bit en-US with Version: 6.0.0.0.alpha0+ Build ID: dccd1633a111ba124f9868a4a51579c95200d745 CPU threads: 8; OS: Windows 6.19; UI render: GL; TinderBox: Win-x86@39, Branch:master, Time: 2017-09-06_06:44:26 Locale: en-US (en_US); Calc: CL |