Hi, starting with an app that’s been running for several months running web2py 2.17.1 and Python 2.7.14 on maOS 10.14.3 (Mojave), I’m embarked on an app migration to Python 3 using web2py 2.17.2 and Python 3.7.2.
This isn’t the first app I’ve converted to Python 3 and and I’ve got a pretty good sense for what conversion issues look like - and this problem seems different I’m stuck and any help would be very appreciated. Thanks in advance ———————————— When I try to run to run the migrated app, problems arise almost immediately 1. Starting web2py up using Python 3 seems to work fine. The welcome and example apps seem to run fine 2 I can log in as admin 3. The list of apps is displayed as normal, including my migrated one 4. Selecting my app, I expect to need to login, but without any further action, the browser screen says “Invalid function (default/user)” and that’s the end of the story. * Note:* default/user code is unaltered from the we2py distribution * Note:* default/index is marked “@auth.requires_login()“ and is never reached * Note*: Remove the “requires_login”, index is reached and appears to run, but then the app then hangs presumably because the next step wants the user login Below is the start of the log: Last login: Thu Feb 21 13:16:46 on ttys003 startDweb2pyPyV3.sh ; exit; startDweb2pyPyV3.sh ; exit; web2py Web Framework Created by Massimo Di Pierro, Copyright 2007-2019 Version 2.17.2-stable+timestamp.2018.10.06.18.54.02 Database drivers available: sqlite3, imaplib, pymysql, pyodbc please visit: http://127.0.0.1:8000/ use "kill -SIGTERM 20701" to shutdown the web2py server /web2py/gluon/contrib/pymysql/cursors.py:166: Warning: (3090, "Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release.") result = self._query(query) In default default: app_dir: web2py/applications/MFMCurrAssetMgr_P3 default: history_path: web2py/applications/MFMCurrAssetMgr_P3/private/_logs default: HISTORYLOGFILE: web2py/applications/MFMCurrAssetMgr_P3/private/_logs/history.log INFO:root: <<<< Don’t know where this comes from Logging Started - (V P3.0.1 Alpha) at 13:58:11 on 21-Feb-2019 *<<this is the end of logging from my code>>* DEBUG:Rocket.Errors.Thread-2:Sending Headers: 'HTTP/1.1 303 SEE OTHER\r\nLocation: /MFMCurrAssetMgr_P3/default/user/login?_next=/MFMCurrAssetMgr_P3/default/index\r\nSet-Cookie: session_id_mfmcurrassetmgr_p3=127.0.0.1-1d9e475c-9ae5-48c7-98fe-b517da06d765; HttpOnly; Path=/; SameSite=Lax\r\nContent-Type: text/html; charset=UTF-8\r\nDate: Thu, 21 Feb 2019 21:58:11 GMT\r\nServer: Rocket 1.2.6 Python/3.7.2\r\nContent-Length: 122\r\nConnection: keep-alive\r\n\r\n' DEBUG:Rocket.Errors.Thread-2:Finally closing output and sock_file INFO:Rocket.Requests:127.0.0.1 - "GET /MFMCurrAssetMgr_P3/default/index HTTP/1.1" - 303 122 DEBUG:Rocket.Errors.Thread-2:Serving a request DEBUG:Rocket.Errors.Thread-2:Getting sock_file DEBUG:Rocket.Errors.ThreadPool:Examining ThreadPool. 10 threads and 0 Q'd conxions DEBUG:Rocket.Errors.Thread-2:Sending Headers: 'HTTP/1.1 404 NOT FOUND\r\nweb2py_error: invalid function (default/user)\r\nSet-Cookie: session_id_mfmcurrassetmgr_p3=127.0.0.1-1d9e475c-9ae5-48c7-98fe-b517da06d765; HttpOnly; Path=/; SameSite=Lax\r\nContent-Type: text/html; charset=UTF-8\r\nContent-Length: 66\r\nDate: Thu, 21 Feb 2019 21:58:11 GMT\r\nServer: Rocket 1.2.6 Python/3.7.2\r\nConnection: keep-alive\r\n\r\n' DEBUG:Rocket.Errors.Thread-2:Finally closing output and sock_file INFO:Rocket.Requests:127.0.0.1 - "GET /MFMCurrAssetMgr_P3/default/user/login?_next=/MFMCurrAssetMgr_P3/default/index HTTP/1.1" - 404 66 DEBUG:Rocket.Errors.Thread-2:Serving a request DEBUG:Rocket.Errors.Thread-2:Getting sock_file DEBUG:Rocket.Errors.ThreadPool:Examining ThreadPool. 10 threads and 0 Q'd conxions DEBUG:Rocket.Errors.ThreadPool:Examining ThreadPool. 10 threads and 0 Q'd conxions DEBUG:Rocket.Errors.ThreadPool:Examining ThreadPool. 10 threads and 0 Q'd conxions DEBUG:Rocket.Errors.ThreadPool:Examining ThreadPool. 10 threads and 0 Q'd conxions DEBUG:Rocket.Errors.Thread-3:Finally closing output and sock_file DEBUG:Rocket.Errors.Thread-3:Socket timed out DEBUG:Rocket.Errors.ThreadPool:Examining ThreadPool. 10 threads and 0 Q'd conxions DEBUG:Rocket.Monitor:In "receive timed-out connections" loop. DEBUG:Rocket.Monitor:Received a timed out connection. DEBUG:Rocket.Monitor:Adding connection to monitor list. DEBUG:Rocket.Errors.Thread-2:Finally closing output and sock_file DEBUG:Rocket.Errors.Thread-2:Socket timed out DEBUG:Rocket.Errors.ThreadPool:Examining ThreadPool. 10 threads and 0 Q'd conxions DEBUG:Rocket.Monitor:In "receive timed-out connections" loop. DEBUG:Rocket.Monitor:Received a timed out connection. DEBUG:Rocket.Monitor:Adding connection to monitor list. DEBUG:Rocket.Monitor:Flushing stale connection: 127.0.0.1:8000 DEBUG:Rocket.Errors.ThreadPool:Examining ThreadPool. 10 threads and 0 Q'd conxions DEBUG:Rocket.Errors.ThreadPool:Examining ThreadPool. 10 threads and 0 Q'd conxions DEBUG:Rocket.Errors.ThreadPool:Examining ThreadPool. 10 threads and 0 Q'd conxions DEBUG:Rocket.Monitor:Flushing stale connection: 127.0.0.1:8000 DEBUG:Rocket.Errors.ThreadPool:Examining ThreadPool. 10 threads and 0 Q'd conxions DEBUG:Rocket.Errors.ThreadPool:Examining ThreadPool. 10 threads and 0 Q'd conxions DEBUG:Rocket.Errors.ThreadPool:Examining ThreadPool. 10 threads and 0 Q'd conxions DEBUG:Rocket.Errors.ThreadPool:Examining ThreadPool. 10 threads and 0 Q'd conxions -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.

