Hi

On Thu, May 10, 2018 at 7:38 PM, Dave Page <dp...@pgadmin.org> wrote:

> Hi
>
> On Thu, May 10, 2018 at 2:00 PM, Akshay Joshi <
> akshay.jo...@enterprisedb.com> wrote:
>
>> Hi Hackers,
>>
>> Please find the attached patch to fix RM #3277 Runtime startup error
>> handling is broken on Windows.
>>
>> This issue is regression of RM #3177 "Sporadically crashes on Windows
>> when exit". Where below code of pgAdmin4.cpp creates the problem:
>> *QObject::connect(server, SIGNAL(finished()), server,
>> SLOT(deleteLater()));*
>>
>> In case when PythonPath is not provided then application server not
>> started and server thread finished there execution, due to the above line
>> of code *Destructor* of Server class has been called and we are
>> accessing the function *server->getError().length() *at line no 251 of
>> pgAdmin4.cpp, which cause the application crash.
>>
>> I have removed that line and tested RM #3177 and RM# 3277, both are
>> working fine.
>>
>> Please review and test it.
>>
>
> So my first test was compiled against Python 3, but my config was still
> pointing at a Python 2 venv. I got the error below in the console of
> QtCreator.
>
> Also, wouldn't it make more sense to move the connect that you removed so
> it only happens once the server is up and running? That way we will still
> ensure it gets properly deleted when appropriate, but not prematurely if an
> error occurs during startup.
>

   Agreed, I have move that call to other place when server is up and
running. Attached is the modified patch.

>
>  Starting /Users/dpage/git/pgadmin4/build-pgAdmin4-Desktop_Qt_5_10_1_
> clang_64bit-Debug/pgAdmin4.app/Contents/MacOS/pgAdmin4...
> Python path:  "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packa
> ges:/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7"
> Python Home:  ""
> Fatal Python error: Py_Initialize: unable to load the file system codec
>   File 
> "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/encodings/__init__.py",
> line 123
>     raise CodecRegistryError,\
>                             ^
> SyntaxError: invalid syntax
>
> Current thread 0x00007fffcbb433c0 (most recent call first):
> The program has unexpectedly finished.
> /Users/dpage/git/pgadmin4/build-pgAdmin4-Desktop_Qt_5_10_1_
> clang_64bit-Debug/pgAdmin4.app/Contents/MacOS/pgAdmin4 crashed.
>
> Starting /Users/dpage/git/pgadmin4/build-pgAdmin4-Desktop_Qt_5_10_1_
> clang_64bit-Debug/pgAdmin4.app/Contents/MacOS/pgAdmin4...
> Python path:  "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packa
> ges:/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7"
> Python Home:  ""
> Fatal Python error: Py_Initialize: unable to load the file system codec
>   File 
> "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/encodings/__init__.py",
> line 123
>     raise CodecRegistryError,\
>                             ^
> SyntaxError: invalid syntax
>
> Current thread 0x00007fffcbb433c0 (most recent call first):
> The program has unexpectedly finished.
> /Users/dpage/git/pgadmin4/build-pgAdmin4-Desktop_Qt_5_10_1_
> clang_64bit-Debug/pgAdmin4.app/Contents/MacOS/pgAdmin4 crashed.
>

    Yes, it is reproducible. I have tried putting try catch around "
*Py_Initialize*", but no success.


>
> --
> Dave Page
> Blog: http://pgsnake.blogspot.com
> Twitter: @pgsnake
>
> EnterpriseDB UK: http://www.enterprisedb.com
> The Enterprise PostgreSQL Company
>



-- 
*Akshay Joshi*

*Sr. Software Architect *



*Phone: +91 20-3058-9517Mobile: +91 976-788-8246*

Attachment: RM_3277_v2.patch
Description: Binary data

Reply via email to