Thread: QtWebEngine issue
Hi Neel, Per our earlier discussion on the QtWebEngine crash we were seeing, here's some more info from my testing. I turned off high performance graphics in VMware, and started to get almost immediate crashes of the runtime (from which I could get little useful information) With: QCoreApplication::setAttribute(Qt::AA_UseSoftwareOpenGL); I managed to get it to run again, but then I commented that back out, and it was still running without immediately crashing. The black screen issue is still occurring though, albeit with various errors that may or may not be given with each crash: I often see lots of this message: context mismatch in svga_sampler_view_destroy I have seen this a few times: [1109/153107:ERROR:scoped_ole_initializer.cc(20)] Multiple OleInitialize() calls for thread 5644 [1109/153107:ERROR:scoped_ole_initializer.cc(20)] Multiple OleInitialize() calls for thread 5644 I have seen this more rarely (on occasions where it occurs before the black screen of death): 2016-11-09 15:38:39,917: INFO werkzeug: 127.0.0.1 - - [09/Nov/2016 15:38:39] "GET /sqleditor/poll/9539586 HTTP/1.1" 500 - Traceback (most recent call last): File "C:\Program Files\PostgreSQL\9.6\pgAdmin 4\venv\Lib\site-packages\flask\app.py", line 2000, in __call__ return self.wsgi_app(environ, start_response) File "C:\Program Files\PostgreSQL\9.6\pgAdmin 4\venv\Lib\site-packages\flask\app.py", line 1984, in wsgi_app ctx.push() File "C:\Program Files\PostgreSQL\9.6\pgAdmin 4\venv\Lib\site-packages\flask\ctx.py", line 332, in push self.session = self.app.open_session(self.request) File "C:\Program Files\PostgreSQL\9.6\pgAdmin 4\venv\Lib\site-packages\flask\app.py", line 914, in open_session return self.session_interface.open_session(self, request) File "C:\Users\dpage\Documents\pgadmin4\web\pgadmin\utils\session.py", line 249, in open_session return self.manager.get(sid, digest) File "C:\Users\dpage\Documents\pgadmin4\web\pgadmin\utils\session.py", line 133, in get del self._cache[sid] File "C:\Python27\Lib\collections.py", line 86, in __delitem__ link_prev, link_next, _ = self.__map.pop(key) KeyError: u'84c7ee6c-6ab7-4c52-a5b7-45d6c9f7e87d' Finally, I've seen this a couple of times: context mismatch in svga_sampler_view_destroy [1109/153857:FATAL:resource_scheduler.cc(1051)] Check failed: client_map_.empty(). Backtrace: GetHandleVerifier [0x11C47DD1+23425] IsSandboxedProcess [0x11BD464B+6479819] QtWebEngineCore::BrowserContextAdapter::isOffTheRecord [0x108C0B06+1858950] QtWebEngineCore::BrowserContextAdapter::isOffTheRecord [0x1072EC46+212678] QtWebEngineCore::BrowserContextAdapter::isOffTheRecord [0x1072E886+211718] QtWebEngineCore::BrowserContextAdapter::isOffTheRecord [0x107434D9+296793] QtWebEngineCore::BrowserContextAdapter::isOffTheRecord [0x1074334A+296394] QtWebEngineCore::BrowserContextAdapter::isOffTheRecord [0x10737FBD+250429] IsSandboxedProcess [0x119E5501+4451969] CertificateErrorController::error [0x10C83E6A+1234282] QtWebEngineCore::BrowserContextAdapter::isOffTheRecord [0x109CC7BC+2955836] IsSandboxedProcess [0x1198397F+4051711] GetHandleVerifier [0x11CB3E0B+465851] IsSandboxedProcess [0x11BFF020+6654368] IsSandboxedProcess [0x11BFD494+6647316] IsSandboxedProcess [0x11BFD9DD+6648669] GetHandleVerifier [0x11CB68B2+476770] GetHandleVerifier [0x11CB8312+483522] GetHandleVerifier [0x11CB827C+483372] IsSandboxedProcess [0x11BFED0F+6653583] IsSandboxedProcess [0x11C18286+6757382] IsSandboxedProcess [0x11BFEB8D+6653197] IsSandboxedProcess [0x11C313E6+6860134] QtWebEngineCore::JavaScriptDialogController::qt_static_metacall [0x106BCEA4+5221044] QtWebEngineCore::JavaScriptDialogController::qt_static_metacall [0x106BDFE8+5225464] IsSandboxedProcess [0x11C31F78+6863096] IsSandboxedProcess [0x11C384D3+6889043] BaseThreadInitThunk [0x750E95E4+36] RtlCheckPortableOperatingSystem [0x7744241A+362] RtlCheckPortableOperatingSystem [0x774423E9+313] -- Dave Page Blog: http://pgsnake.blogspot.com Twitter: @pgsnake EnterpriseDB UK: http://www.enterprisedb.com The Enterprise PostgreSQL Company
Incidentally, turning off accelerated graphics in VMware seems to solve the problem entirely. On Wed, Nov 9, 2016 at 3:54 PM, Dave Page <dpage@pgadmin.org> wrote: > Hi Neel, > > Per our earlier discussion on the QtWebEngine crash we were seeing, > here's some more info from my testing. > > I turned off high performance graphics in VMware, and started to get > almost immediate crashes of the runtime (from which I could get little > useful information) > > With: > > QCoreApplication::setAttribute(Qt::AA_UseSoftwareOpenGL); > > I managed to get it to run again, but then I commented that back out, > and it was still running without immediately crashing. The black > screen issue is still occurring though, albeit with various errors > that may or may not be given with each crash: > > I often see lots of this message: > > context mismatch in svga_sampler_view_destroy > > I have seen this a few times: > > [1109/153107:ERROR:scoped_ole_initializer.cc(20)] Multiple > OleInitialize() calls for thread 5644 > [1109/153107:ERROR:scoped_ole_initializer.cc(20)] Multiple > OleInitialize() calls for thread 5644 > > I have seen this more rarely (on occasions where it occurs before the > black screen of death): > > 2016-11-09 15:38:39,917: INFO werkzeug: 127.0.0.1 - - [09/Nov/2016 > 15:38:39] "GET /sqleditor/poll/9539586 HTTP/1.1" 500 - > Traceback (most recent call last): > File "C:\Program Files\PostgreSQL\9.6\pgAdmin > 4\venv\Lib\site-packages\flask\app.py", line 2000, in __call__ > return self.wsgi_app(environ, start_response) > File "C:\Program Files\PostgreSQL\9.6\pgAdmin > 4\venv\Lib\site-packages\flask\app.py", line 1984, in wsgi_app > ctx.push() > File "C:\Program Files\PostgreSQL\9.6\pgAdmin > 4\venv\Lib\site-packages\flask\ctx.py", line 332, in push > self.session = self.app.open_session(self.request) > File "C:\Program Files\PostgreSQL\9.6\pgAdmin > 4\venv\Lib\site-packages\flask\app.py", line 914, in open_session > return self.session_interface.open_session(self, request) > File "C:\Users\dpage\Documents\pgadmin4\web\pgadmin\utils\session.py", > line 249, in open_session > return self.manager.get(sid, digest) > File "C:\Users\dpage\Documents\pgadmin4\web\pgadmin\utils\session.py", > line 133, in get > del self._cache[sid] > File "C:\Python27\Lib\collections.py", line 86, in __delitem__ > link_prev, link_next, _ = self.__map.pop(key) > KeyError: u'84c7ee6c-6ab7-4c52-a5b7-45d6c9f7e87d' > > Finally, I've seen this a couple of times: > > context mismatch in svga_sampler_view_destroy > [1109/153857:FATAL:resource_scheduler.cc(1051)] Check failed: > client_map_.empty(). > Backtrace: > GetHandleVerifier [0x11C47DD1+23425] > IsSandboxedProcess [0x11BD464B+6479819] > QtWebEngineCore::BrowserContextAdapter::isOffTheRecord [0x108C0B06+1858950] > QtWebEngineCore::BrowserContextAdapter::isOffTheRecord [0x1072EC46+212678] > QtWebEngineCore::BrowserContextAdapter::isOffTheRecord [0x1072E886+211718] > QtWebEngineCore::BrowserContextAdapter::isOffTheRecord [0x107434D9+296793] > QtWebEngineCore::BrowserContextAdapter::isOffTheRecord [0x1074334A+296394] > QtWebEngineCore::BrowserContextAdapter::isOffTheRecord [0x10737FBD+250429] > IsSandboxedProcess [0x119E5501+4451969] > CertificateErrorController::error [0x10C83E6A+1234282] > QtWebEngineCore::BrowserContextAdapter::isOffTheRecord [0x109CC7BC+2955836] > IsSandboxedProcess [0x1198397F+4051711] > GetHandleVerifier [0x11CB3E0B+465851] > IsSandboxedProcess [0x11BFF020+6654368] > IsSandboxedProcess [0x11BFD494+6647316] > IsSandboxedProcess [0x11BFD9DD+6648669] > GetHandleVerifier [0x11CB68B2+476770] > GetHandleVerifier [0x11CB8312+483522] > GetHandleVerifier [0x11CB827C+483372] > IsSandboxedProcess [0x11BFED0F+6653583] > IsSandboxedProcess [0x11C18286+6757382] > IsSandboxedProcess [0x11BFEB8D+6653197] > IsSandboxedProcess [0x11C313E6+6860134] > QtWebEngineCore::JavaScriptDialogController::qt_static_metacall > [0x106BCEA4+5221044] > QtWebEngineCore::JavaScriptDialogController::qt_static_metacall > [0x106BDFE8+5225464] > IsSandboxedProcess [0x11C31F78+6863096] > IsSandboxedProcess [0x11C384D3+6889043] > BaseThreadInitThunk [0x750E95E4+36] > RtlCheckPortableOperatingSystem [0x7744241A+362] > RtlCheckPortableOperatingSystem [0x774423E9+313] > > -- > Dave Page > Blog: http://pgsnake.blogspot.com > Twitter: @pgsnake > > EnterpriseDB UK: http://www.enterprisedb.com > The Enterprise PostgreSQL Company -- Dave Page Blog: http://pgsnake.blogspot.com Twitter: @pgsnake EnterpriseDB UK: http://www.enterprisedb.com The Enterprise PostgreSQL Company
Hi,
That means it is an issue with OpenGL drivers and Qt Webengine ?
Do we need to compile Qt with Desktop OpenGL which do not call OpenGL ES 2.0 API OR may be ANGLE ?
Thanks,
Neel Patel
On Wed, Nov 9, 2016 at 10:05 PM, Dave Page <dpage@pgadmin.org> wrote:
Incidentally, turning off accelerated graphics in VMware seems to
solve the problem entirely.
On Wed, Nov 9, 2016 at 3:54 PM, Dave Page <dpage@pgadmin.org> wrote:
> Hi Neel,
>
> Per our earlier discussion on the QtWebEngine crash we were seeing,
> here's some more info from my testing.
>
> I turned off high performance graphics in VMware, and started to get
> almost immediate crashes of the runtime (from which I could get little
> useful information)
>
> With:
>
> QCoreApplication::setAttribute(Qt::AA_ UseSoftwareOpenGL);
>
> I managed to get it to run again, but then I commented that back out,
> and it was still running without immediately crashing. The black
> screen issue is still occurring though, albeit with various errors
> that may or may not be given with each crash:
>
> I often see lots of this message:
>
> context mismatch in svga_sampler_view_destroy
>
> I have seen this a few times:
>
> [1109/153107:ERROR:scoped_ole_initializer.cc(20)] Multiple
> OleInitialize() calls for thread 5644
> [1109/153107:ERROR:scoped_ole_initializer.cc(20)] Multiple
> OleInitialize() calls for thread 5644
>
> I have seen this more rarely (on occasions where it occurs before the
> black screen of death):
>
> 2016-11-09 15:38:39,917: INFO werkzeug: 127.0.0.1 - - [09/Nov/2016
> 15:38:39] "GET /sqleditor/poll/9539586 HTTP/1.1" 500 -
> Traceback (most recent call last):
> File "C:\Program Files\PostgreSQL\9.6\pgAdmin
> 4\venv\Lib\site-packages\flask\app.py", line 2000, in __call__
> return self.wsgi_app(environ, start_response)
> File "C:\Program Files\PostgreSQL\9.6\pgAdmin
> 4\venv\Lib\site-packages\flask\app.py", line 1984, in wsgi_app
> ctx.push()
> File "C:\Program Files\PostgreSQL\9.6\pgAdmin
> 4\venv\Lib\site-packages\flask\ctx.py", line 332, in push
> self.session = self.app.open_session(self.request)
> File "C:\Program Files\PostgreSQL\9.6\pgAdmin
> 4\venv\Lib\site-packages\flask\app.py", line 914, in open_session
> return self.session_interface.open_session(self, request)
> File "C:\Users\dpage\Documents\pgadmin4\web\pgadmin\utils\ session.py",
> line 249, in open_session
> return self.manager.get(sid, digest)
> File "C:\Users\dpage\Documents\pgadmin4\web\pgadmin\utils\ session.py",
> line 133, in get
> del self._cache[sid]
> File "C:\Python27\Lib\collections.py", line 86, in __delitem__
> link_prev, link_next, _ = self.__map.pop(key)
> KeyError: u'84c7ee6c-6ab7-4c52-a5b7-45d6c9f7e87d'
>
> Finally, I've seen this a couple of times:
>
> context mismatch in svga_sampler_view_destroy
> [1109/153857:FATAL:resource_scheduler.cc(1051)] Check failed:
> client_map_.empty().
> Backtrace:
> GetHandleVerifier [0x11C47DD1+23425]
> IsSandboxedProcess [0x11BD464B+6479819]
> QtWebEngineCore::BrowserContextAdapter:: isOffTheRecord [0x108C0B06+1858950]
> QtWebEngineCore::BrowserContextAdapter:: isOffTheRecord [0x1072EC46+212678]
> QtWebEngineCore::BrowserContextAdapter:: isOffTheRecord [0x1072E886+211718]
> QtWebEngineCore::BrowserContextAdapter:: isOffTheRecord [0x107434D9+296793]
> QtWebEngineCore::BrowserContextAdapter:: isOffTheRecord [0x1074334A+296394]
> QtWebEngineCore::BrowserContextAdapter:: isOffTheRecord [0x10737FBD+250429]
> IsSandboxedProcess [0x119E5501+4451969]
> CertificateErrorController::error [0x10C83E6A+1234282]
> QtWebEngineCore::BrowserContextAdapter:: isOffTheRecord [0x109CC7BC+2955836]
> IsSandboxedProcess [0x1198397F+4051711]
> GetHandleVerifier [0x11CB3E0B+465851]
> IsSandboxedProcess [0x11BFF020+6654368]
> IsSandboxedProcess [0x11BFD494+6647316]
> IsSandboxedProcess [0x11BFD9DD+6648669]
> GetHandleVerifier [0x11CB68B2+476770]
> GetHandleVerifier [0x11CB8312+483522]
> GetHandleVerifier [0x11CB827C+483372]
> IsSandboxedProcess [0x11BFED0F+6653583]
> IsSandboxedProcess [0x11C18286+6757382]
> IsSandboxedProcess [0x11BFEB8D+6653197]
> IsSandboxedProcess [0x11C313E6+6860134]
> QtWebEngineCore::JavaScriptDialogController:: qt_static_metacall
> [0x106BCEA4+5221044]
> QtWebEngineCore::JavaScriptDialogController:: qt_static_metacall
> [0x106BDFE8+5225464]
> IsSandboxedProcess [0x11C31F78+6863096]
> IsSandboxedProcess [0x11C384D3+6889043]
> BaseThreadInitThunk [0x750E95E4+36]
> RtlCheckPortableOperatingSystem [0x7744241A+362]
> RtlCheckPortableOperatingSystem [0x774423E9+313]
>
> --
> Dave Page
> Blog: http://pgsnake.blogspot.com
> Twitter: @pgsnake
>
> EnterpriseDB UK: http://www.enterprisedb.com
> The Enterprise PostgreSQL Company
--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake
EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
On Thu, Nov 10, 2016 at 8:22 AM, Neel Patel <neel.patel@enterprisedb.com> wrote: > Hi, > > That means it is an issue with OpenGL drivers and Qt Webengine ? Sounds like it may be. I think any info we can compile should be added to that bug report you found though. > Do we need to compile Qt with Desktop OpenGL which do not call OpenGL ES 2.0 > API OR may be ANGLE ? I *really* don't want us to have to use custom builds of Qt. Can we disable acceleration in code? -- Dave Page Blog: http://pgsnake.blogspot.com Twitter: @pgsnake EnterpriseDB UK: http://www.enterprisedb.com The Enterprise PostgreSQL Company
Hi Dave,
I have tried to reproduce the issues ( crash & black screen) with QtWebEngine but no luck.
Tried with Windows 7 & Windows 10 with both Qt 5.5 & 5.7.
I think below links confirm that it is known issue in Qt.
Let me know if anything needed for more investigations.
Thanks,
Neel Patel
On Thu, Nov 10, 2016 at 2:28 PM, Dave Page <dpage@pgadmin.org> wrote:
On Thu, Nov 10, 2016 at 8:22 AM, Neel Patel <neel.patel@enterprisedb.com> wrote:
> Hi,
>
> That means it is an issue with OpenGL drivers and Qt Webengine ?
Sounds like it may be. I think any info we can compile should be added
to that bug report you found though.
> Do we need to compile Qt with Desktop OpenGL which do not call OpenGL ES 2.0
> API OR may be ANGLE ?
I *really* don't want us to have to use custom builds of Qt. Can we
disable acceleration in code?
--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake
EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
Hi On Thu, Nov 10, 2016 at 1:28 PM, Neel Patel <neel.patel@enterprisedb.com> wrote: > Hi Dave, > > I have tried to reproduce the issues ( crash & black screen) with > QtWebEngine but no luck. > Tried with Windows 7 & Windows 10 with both Qt 5.5 & 5.7. > > I think below links confirm that it is known issue in Qt. > > https://bugreports.qt.io/browse/QTBUG-34964 > https://bugreports.qt.io/browse/QTBUG-50543 > https://bugreports.qt.io/browse/QTBUG-54326 Agreed. > Let me know if anything needed for more investigations. Turning off accelerated graphics for the VM seems to solve the problem for me, but of course, that's not a good answer. Is there a way to do that just for pgAdmin? -- Dave Page Blog: http://pgsnake.blogspot.com Twitter: @pgsnake EnterpriseDB UK: http://www.enterprisedb.com The Enterprise PostgreSQL Company
Hi,
As I am not able to reproduce so i can not do experiment but from Qt documentation, we can try setting below attribute at beginning in pgAdmin4.cpp file before application start ?
QCoreApplication:: setAttribute(Qt::AA_ UseDesktopOpenGL);
OR
QCoreApplication:: setAttribute(Qt::AA_ UseOpenGLES);
Below is the link for reference.
Thanks,
Neel Patel
On Thu, Nov 10, 2016 at 7:24 PM, Dave Page <dpage@pgadmin.org> wrote:
Hi
On Thu, Nov 10, 2016 at 1:28 PM, Neel Patel <neel.patel@enterprisedb.com> wrote:
> Hi Dave,
>
> I have tried to reproduce the issues ( crash & black screen) with
> QtWebEngine but no luck.
> Tried with Windows 7 & Windows 10 with both Qt 5.5 & 5.7.
>
> I think below links confirm that it is known issue in Qt.
>
> https://bugreports.qt.io/browse/QTBUG-34964
> https://bugreports.qt.io/browse/QTBUG-50543
> https://bugreports.qt.io/browse/QTBUG-54326
Agreed.
> Let me know if anything needed for more investigations.
Turning off accelerated graphics for the VM seems to solve the problem
for me, but of course, that's not a good answer. Is there a way to do
that just for pgAdmin?
--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake
EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
I had tried AA_UseOpenGLES previously, with no joy. It seems that AA_UseDesktopOpenGL doesn't work either. On Thu, Nov 10, 2016 at 2:12 PM, Neel Patel <neel.patel@enterprisedb.com> wrote: > Hi, > > As I am not able to reproduce so i can not do experiment but from Qt > documentation, we can try setting below attribute at beginning in > pgAdmin4.cpp file before application start ? > > QCoreApplication::setAttribute(Qt::AA_UseDesktopOpenGL); > > OR > > QCoreApplication::setAttribute(Qt::AA_UseOpenGLES); > > > Below is the link for reference. > http://doc.qt.io/qt-5/windows-requirements.html > > Thanks, > Neel Patel > > On Thu, Nov 10, 2016 at 7:24 PM, Dave Page <dpage@pgadmin.org> wrote: >> >> Hi >> >> On Thu, Nov 10, 2016 at 1:28 PM, Neel Patel <neel.patel@enterprisedb.com> >> wrote: >> > Hi Dave, >> > >> > I have tried to reproduce the issues ( crash & black screen) with >> > QtWebEngine but no luck. >> > Tried with Windows 7 & Windows 10 with both Qt 5.5 & 5.7. >> > >> > I think below links confirm that it is known issue in Qt. >> > >> > https://bugreports.qt.io/browse/QTBUG-34964 >> > https://bugreports.qt.io/browse/QTBUG-50543 >> > https://bugreports.qt.io/browse/QTBUG-54326 >> >> Agreed. >> >> > Let me know if anything needed for more investigations. >> >> Turning off accelerated graphics for the VM seems to solve the problem >> for me, but of course, that's not a good answer. Is there a way to do >> that just for pgAdmin? >> >> >> -- >> Dave Page >> Blog: http://pgsnake.blogspot.com >> Twitter: @pgsnake >> >> EnterpriseDB UK: http://www.enterprisedb.com >> The Enterprise PostgreSQL Company > > -- Dave Page Blog: http://pgsnake.blogspot.com Twitter: @pgsnake EnterpriseDB UK: http://www.enterprisedb.com The Enterprise PostgreSQL Company