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