Thread: QtWebEngine issue

QtWebEngine issue

From
Dave Page
Date:
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


Re: QtWebEngine issue

From
Dave Page
Date:
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


Re: QtWebEngine issue

From
Neel Patel
Date:
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

Re: QtWebEngine issue

From
Dave Page
Date:
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


Re: QtWebEngine issue

From
Neel Patel
Date:
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

Re: QtWebEngine issue

From
Dave Page
Date:
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


Re: QtWebEngine issue

From
Neel Patel
Date:
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

Re: QtWebEngine issue

From
Dave Page
Date:
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