Hello, it seems that there are some problems with rocket under Python 3.x. As posted a few weeks ago I have the following problem:
*I've switched my web2py app from python2 to python3. The app itself works fine, but the web2py online debugger doesn't work anymore and is mostly freezing. Sometimes a get the following error message:* *Exception timeout: timeout('timed out',)* *Traceback (most recent call last): File "/usr/lib/python3.6/socket.py"**, line 586, in readinto return self._sock.recv_into(b) socket.timeout: timed out* *My configuration is as follows:* *web2py 2.19.1-stable+timestamp.2020.**03.21.21.49.28 (Running on Rocket 1.2.6, Python 3.6.9), Ubuntu 18.04 LTS* Do you have this problem too? Since this problem also depends on sockets, maybe this is a hint to a solution for "your" problem mentioned here. Of course I hope the solution would solve "my" problem too. In the meantime I've established short script switching between Python 2.x and 3.x. Means, using Python3 as long as I don't have to use the debugger and switching to Python 2 if required. The script is running under Linux. Any interest? Best regards Clemens On Thursday, April 23, 2020 at 10:24:36 PM UTC+2, Jim S wrote: > > VJ > > I just ran a test and can confirm I'm getting the same results as you. > > I just cloned the latest web2py from git. > > I ran under Python 2.7 and it worked fine. > Running under Python 3.7 and I get results like you. > > To do a little debugging, I put a print statement ahead of line 105 in > gluon/rocket.py -> print('socket_tuple', socket_tuple) I get the following: > > Python 2.7 > ('sock_tuple', (<socket._socketobject object at 0x7f09d9a4eb40>, ( > '127.0.0.1', 32984))) > ('sock_tuple', (<ssl.SSLSocket object at 0x7f09d91f20d0>, ('127.0.0.1', > 32986))) > ('sock_tuple', (<socket._socketobject object at 0x7f09d9a4ed70>, ( > '127.0.0.1', 32988))) > ('sock_tuple', (<socket._socketobject object at 0x7f09c84ee750>, ( > '127.0.0.1', 32990))) > ('sock_tuple', (<ssl.SSLSocket object at 0x7f09c84ec5d0>, ('127.0.0.1', > 32992))) > ('sock_tuple', (<ssl.SSLSocket object at 0x7f09c84ec350>, ('127.0.0.1', > 32994))) > > Python 3.7 > sock_tuple (<socket.socket [closed] fd=-1, family=AddressFamily.AF_INET, > type=SocketKind.SOCK_STREAM, proto=0>, ('127.0.0.1', 33048)) > sock_tuple (<ssl.SSLSocket fd=5, family=AddressFamily.AF_INET, type= > SocketKind.SOCK_STREAM, proto=0, laddr=('127.0.0.1', 8000), raddr=( > '127.0.0.1', 33050)>, ('127.0.0.1', 33050)) > sock_tuple (<socket.socket [closed] fd=-1, family=AddressFamily.AF_INET, > type=SocketKind.SOCK_STREAM, proto=0>, ('127.0.0.1', 33052)) > sock_tuple (<socket.socket [closed] fd=-1, family=AddressFamily.AF_INET, > type=SocketKind.SOCK_STREAM, proto=0>, ('127.0.0.1', 33054)) > sock_tuple (<socket.socket [closed] fd=-1, family=AddressFamily.AF_INET, > type=SocketKind.SOCK_STREAM, proto=0>, ('127.0.0.1', 33056)) > sock_tuple (<socket.socket [closed] fd=-1, family=AddressFamily.AF_INET, > type=SocketKind.SOCK_STREAM, proto=0>, ('127.0.0.1', 33058)) > sock_tuple (<socket.socket [closed] fd=-1, family=AddressFamily.AF_INET, > type=SocketKind.SOCK_STREAM, proto=0>, ('127.0.0.1', 33062)) > sock_tuple (<socket.socket [closed] fd=-1, family=AddressFamily.AF_INET, > type=SocketKind.SOCK_STREAM, proto=0>, ('127.0.0.1', 33064)) > sock_tuple (<ssl.SSLSocket fd=4, family=AddressFamily.AF_INET, type= > SocketKind.SOCK_STREAM, proto=0, laddr=('127.0.0.1', 8000), raddr=( > '127.0.0.1', 33066)>, ('127.0.0.1', 33066)) > sock_tuple (<socket.socket [closed] fd=-1, family=AddressFamily.AF_INET, > type=SocketKind.SOCK_STREAM, proto=0>, ('127.0.0.1', 33068)) > sock_tuple (<socket.socket [closed] fd=-1, family=AddressFamily.AF_INET, > type=SocketKind.SOCK_STREAM, proto=0>, ('127.0.0.1', 33070)) > sock_tuple (<socket.socket [closed] fd=-1, family=AddressFamily.AF_INET, > type=SocketKind.SOCK_STREAM, proto=0>, ('127.0.0.1', 33072)) > > I don't know what's going on, but can confirm that this isn't fixed. > > -Jim > > > On Thursday, April 23, 2020 at 1:03:22 PM UTC-5, VJ Sosa wrote: >> >> Hi, >> >> Thanks for asking: >> >> Web2py Version 2.18.5-stable+timestamp.2019.04.08.04.22.03 >> >> Python version: 3.6.9 >> >> Regards, >> Víctor >> >> El jueves, 23 de abril de 2020, 19:05:17 (UTC+2), Jim S escribió: >>> >>> What is your version of web2py? >>> >>> -Jim >>> >>> On Thursday, April 23, 2020 at 11:12:02 AM UTC-5, VJ Sosa wrote: >>>> >>>> I have tried the same command, running web2py with python 2.7.17 and it >>>> works: >>>> >>>> python web2py.py -c web2py.crt -k web2py.key -i 0.0.0.0 -p 8080 --nogui >>>> -a 'Password' >>>> >>>> >>>> The problem occurs when running web2py with python3. >>>> I found the same discussion in this link < here >>>> <https://www.mail-archive.com/web2py@googlegroups.com/msg170386.html> >, >>>> but it seems that the error still persists. >>>> Any help? >>>> >>>> Regards, >>>> Víctor. >>>> >>>> El jueves, 23 de abril de 2020, 14:55:21 (UTC+2), VJ Sosa escribió: >>>>> >>>>> Hello Everyone, >>>>> >>>>> Maybe this is a silly question, but I run web2py using the following >>>>> command: >>>>> >>>>> python3 web2py.py -i 0.0.0.0 -p 8080 --nogui -a 'Password' >>>>> >>>>> Everything goes well. My application is working . My application >>>>> includes an authentication part, >>>>> and so far it is running on HTTP, so browsers warns me about I'm using >>>>> an insecure conexion . I was ignoring those messages so far.. >>>>> >>>>> However, i would like to activate the SSL conexion in the Rocket >>>>> server. >>>>> I tried to execute web2py using the following command: >>>>> >>>>> python3 web2py.py -c web2py.crt -k web2py.key -i 0.0.0.0 -p 8080 >>>>> --nogui -a 'Password' >>>>> >>>>> It runs, but when I try to connect to the server (my app) using my >>>>> browser: >>>>> xx.xx.xx.xx:8080/myapp >>>>> >>>>> The browser (Chrome) tells me that it is not possible to connect to >>>>> the site. >>>>> And the server part shows a list of errors, I'm including some of them: >>>>> <<<< >>>>> Exception in thread Thread-2: >>>>> Traceback (most recent call last): >>>>> File "/usr/lib/python3.6/threading.py", line 916, in _bootstrap_inner >>>>> self.run() >>>>> File "/home/vsosa/Applications/web2py/gluon/rocket.py", line 1268, >>>>> in run >>>>> conn = Connection(*conn) >>>>> File "/home/vsosa/Applications/web2py/gluon/rocket.py", line 105, in >>>>> __init__ >>>>> self.socket.settimeout(SOCKET_TIMEOUT) >>>>> OSError: [Errno 9] Bad file descriptor >>>>> >>>>> Exception in thread Thread-3: >>>>> Traceback (most recent call last): >>>>> File "/usr/lib/python3.6/threading.py", line 916, in _bootstrap_inner >>>>> self.run() >>>>> File "/home/vsosa/Applications/web2py/gluon/rocket.py", line 1268, >>>>> in run >>>>> conn = Connection(*conn) >>>>> File "/home/vsosa/Applications/web2py/gluon/rocket.py", line 105, in >>>>> __init__ >>>>> self.socket.settimeout(SOCKET_TIMEOUT) >>>>> OSError: [Errno 9] Bad file descriptor >>>>> >>>>> <<< >>>>> >>>>> am I missing something? >>>>> is this the right way to execute web2py on Rocket using SSL: >>>>> >>>>> python3 web2py.py -c web2py.crt -k web2py.key -i 0.0.0.0 -p 8080 >>>>> --nogui -a 'Password' >>>>> >>>>> Thank you in advance. >>>>> >>>>> Best regards, >>>>> Víctor >>>>> >>>>> >>>>> >>>>> >>>>> -- 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 web2py+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/web2py/53dd9855-9e96-4469-a242-591a3fa386fe%40googlegroups.com.