1) It was clear HTTP 2) The Json Response is 0 byte and client was timed out (It happened to both me and my Client from US , not Latency Issue) 3) No nothing.
On 9/27/11, Michele Comitini <michele.comit...@gmail.com> wrote: > Hi Phyo > Broken pipe... seems that the other end has died and the server tried > to write to a dead socket. > Questions: > 1) is it a clear HTTP session i.e. without SSL/TLS? > 2) what do you see on the client i.e. does it wait forever for the > server to answer? > 3) did you change anything on the client or the network? > > mic > > > 2011/9/27 Massimo Di Pierro <massimo.dipie...@gmail.com>: >> Sorry. I did not read the initial post with sufficient attention. >> >> On Sep 26, 4:06 pm, Jonathan Lundell <jlund...@pobox.com> wrote: >>> On Sep 26, 2011, at 1:42 PM, Massimo Di Pierro wrote: >>> >>> > It is not but it may be raised at the same point. >>> > It is important to determine which rocket version did not cause the >>> > error so we can look at differences. >>> >>> The added line only logs SSLError, FWIW. >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> > On Sep 26, 3:34 pm, Jonathan Lundell <jlund...@pobox.com> wrote: >>> >> On Sep 26, 2011, at 1:30 PM, Massimo Di Pierro wrote: >>> >>> >>> Other than the error, do you see wrong behavior from the browser? >>> >>> I do not not believe that there is anything wrong as we ship the >>> >>> "official" rocket. We are just printing an exception that before was >>> >>> being ignored. >>> >>> >> I don't think this is the same exception. >>> >>> >>> Massimo >>> >>> >>> On Sep 26, 2:47 pm, Phyo Arkar <phyo.arkarl...@gmail.com> wrote: >>> >>>> Hello Web2py. >>> >>> >>>> Rocket server was very well stable for me until today , after 2 >>> >>>> weeks of update and while testing usual Json output which was never >>> >>>> changed and working fine fore 8 months. >>> >>> >>>> This happens! >>> >>> >>>> ERROR:Rocket.Errors.Thread-6:Unhandled Error when serving >>> >>>> connection: >>> >>>> Traceback (most recent call last): >>> >>> >>>> File "/root/web2py/gluon/rocket.py", line 1064, in run >>> >>>> self.run_app(conn) >>> >>> >>>> File "/root/web2py/gluon/rocket.py", line 1552, in run_app >>> >>>> self.write(data, sections) >>> >>> >>>> File "/root/web2py/gluon/rocket.py", line 1472, in write >>> >>>> self.send_headers(data, sections) >>> >>> >>>> File "/root/web2py/gluon/rocket.py", line 1456, in send_headers >>> >>>> self.conn.sendall(b(header_data)) >>> >>> >>>> File "/usr/lib/python2.7/socket.py", line 224, in meth >>> >>>> return getattr(self._sock,name)(*args) >>> >>> >>>> error: [Errno 32] Broken pipe >>> >>> >>>> and it is on and off randomly. >>> >>> >>>> Why? >>> >>> >>>> heres my Json Controller : >>> >>> >>>> def rows(): >>> >>> >>>> if REQUEST.vars.db_name: >>> >>>> casesdb = DAL( 'mysql://root@localhost/' + >>> >>>> REQUEST.vars.db_name ) >>> >>>> casesdb.define_table( 'email_data', migrate = False, >>> >>>> *email_halfschema ) >>> >>>> casesdb.define_table( 'loosefile_data', migrate = >>> >>>> False, *file_halfschema ) >>> >>>> casesdb.define_table( 'attach_data', migrate = >>> >>>> False, *file_halfschema ) >>> >>>> elif SESSION.db_name: >>> >>>> casesdb = DAL( 'mysql://root@localhost/' + >>> >>>> SESSION.db_name ) >>> >>>> casesdb.define_table( 'email_data', migrate = False, >>> >>>> *email_halfschema ) >>> >>>> casesdb.define_table( 'loosefile_data', migrate = >>> >>>> False, *file_halfschema ) >>> >>>> casesdb.define_table( 'attach_data', migrate = >>> >>>> False, *file_halfschema ) >>> >>> >>>> fields = ['id', 'filePath', 'fileName', 'cus', 'sentto',\ >>> >>>> 'emailFrom', 'subject', 'cc', 'bcc', >>> >>>> 'extracted', 'hdrs',\ >>> >>>> >>> >>>> >>> >>>> 'DateTime','OriginalDateTime','TimeZone','reply_to',"master",'duplicated',' >>> >>>> MD5Hash','msgID','fqdn'] >>> >>>> rows = [] >>> >>>> page = int( request.vars.page ) >>> >>> >>>> max = request.vars.totalrows >>> >>>> if max: >>> >>>> pagesize = int( max ) >>> >>>> else: >>> >>>> pagesize = int( request.vars.rows ) >>> >>>> print pagesize >>> >>>> limitby = ( page * pagesize - pagesize, page * pagesize ) >>> >>>> # limitby = ( 1, 25 ) >>> >>>> print "str( page * pagesize - pagesize )" + str( page * >>> >>>> pagesize - >>> >>>> pagesize ) + " limitby " + str( page * pagesize ) >>> >>>> # orderby = request.vars.sidx >>> >>>> orderby = casesdb.email_data[request.vars.sidx] >>> >>>> print orderby >>> >>>> if request.vars.sord == 'desc': >>> >>>> orderby = ~orderby >>> >>> >>>> query = casesdb.email_data.id > 0 >>> >>> >>>> for r in casesdb( query ).select( orderby = orderby, limitby >>> >>>> = limitby ): >>> >>>> vals = [] >>> >>>> for f in fields: >>> >>>> if f == 'extracted': >>> >>>> vals.append( _sentisize(r[f]) ) >>> >>>> else : >>> >>>> vals.append( r[f] ) >>> >>>> rows.append( dict( id = r.id, cell = vals ) ) >>> >>> >>>> total = casesdb( query ).count() >>> >>>> print total >>> >>>> if total % pagesize >0: >>> >>>> pages = int( total / pagesize ) +1 >>> >>>> else: >>> >>>> pages = int( total / pagesize ) >>> >>>> #if total % pagesize == 0: pages -= 1 >>> >>>> data = dict( total = pages, page = page, rows = rows ) >>> >>>> return data >