I have same problem (occasionally)

SO Debian 7 VPS

83.37.153.54.2013-10-09.08-47-01.c139aa5f-0503-4642-933c-a4b3460c70a0
Version  web2py™ Version 2.6.4-stable+timestamp.2013.09.22.01.43.37  
Traceback 

1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.

Traceback (most recent call last):
  File "/home/www-data/web2py/gluon/main.py", line 550, in wsgibase
    BaseAdapter.close_all_instances('rollback')
  File "/home/www-data/web2py/gluon/dal.py", line 558, in close_all_instances
    db._adapter.close(action)
  File "/home/www-data/web2py/gluon/dal.py", line 538, in close
    getattr(self, action)()
  File "/home/www-data/web2py/gluon/dal.py", line 1789, in rollback
    return self.connection.rollback()
  File "/home/www-data/web2py/gluon/contrib/pymysql/connections.py", line 640, 
in rollback
    self.errorhandler(None, exc, value)
  File "/home/www-data/web2py/gluon/contrib/pymysql/connections.py", line 200, 
in defaulterrorhandler
    raise Error(errorclass, errorvalue)
Error: (<class 'socket.error'>, error(32, 'Broken pipe'))

In file: Framework



Any idea?

1.






On Saturday, December 25, 2010 11:01:45 PM UTC+1, Kenneth wrote:
>
> I have never seen this before I upgraded to a version with the new DAL 
> and it show any very occasionally. Today I got it a lot, so I upgraded 
> to 1.91.4 and so far havn�t got it.
>
>
> Kenneth
>
> > I cannot tell. The traceback is in pymysql so I would post there too.
> > Can you tell us more?
> >
> > On Dec 25, 4:02 am, Kenneth Lundstr�m<kenneth.t.lundst...@gmail.com>
> > wrote:
> >> Apache 2, wsgi, MySQL, Python 2.6.5, web2py 1.90.6
> >>
> >> After upgrading to the new DAL I occasionally get this error. Sometimes
> >> I have to reload the page 1-4 times to get it working.
> >>
> >> Should I upgrade to 1.91.4 or do you need some more info?
> >>
> >> Kenneth
> >>
> >> Error ticket for "init"
> >> Ticket ID
> >>
> >> xxx.xxx.xxx.xxx.2010-12-25.09-54-54.a54a74d6-70ac-4b4d-b943-5edbf0ac6d23
> >> Version
> >> web2py Version 1.90.6 (2010-12-20 17:36:54)
> >> Python Python 2.6.5: /usr/bin/python
> >> Traceback
> >>
> >> 1.
> >> 2.
> >> 3.
> >> 4.
> >> 5.
> >> 6.
> >> 7.
> >> 8.
> >> 9.
> >> 10.
> >> 11.
> >> 12.
> >> 13.
> >> 14.
> >> 15.
> >> 16.
> >> 17.
> >>
> >> Traceback (most recent call last):
> >> File "ggggggggggg/gluon/main.py", line 446, in wsgibase
> >> BaseAdapter.close_all_instances(BaseAdapter.commit)
> >> File "ggggggggggg/gluon/dal.py", line 271, in close_all_instances
> >> action(instance)
> >> File "ggggggggggg/gluon/dal.py", line 1027, in commit
> >> return self.connection.commit()
> >> File "ggggggggggg/gluon/contrib/pymysql/connections.py", line 549, in 
> commit
> >> self.errorhandler(None, exc, value)
> >> File "ggggggggggg/gluon/contrib/pymysql/connections.py", line 545, in 
> commit
> >> self._execute_command(COM_QUERY, "COMMIT")
> >> File "ggggggggggg/gluon/contrib/pymysql/connections.py", line 686, in
> >> _execute_command
> >> self._send_command(command, sql)
> >> File "ggggggggggg/gluon/contrib/pymysql/connections.py", line 681, in
> >> _send_command
> >> sock.send(send_data)
> >> error: [Errno 32] Broken pipe
> >>
> >> Error snapshot help Detailed traceback description
> >>
> >> <class 'socket.error'>([Errno 32] Broken pipe)
> >>
> >> inspect attributes
> >> Exception instance attributes
> >> __module__ 'socket'
> >> __getslice__<method-wrapper '__getslice__' of error object>
> >> __str__<method-wrapper '__str__' of error object>
> >> __getattribute__<method-wrapper '__getattribute__' of error object>
> >> __dict__ {}
> >> __sizeof__<built-in method __sizeof__ of error object>
> >> __weakref__ None
> >> __init__<method-wrapper '__init__' of error object>
> >> __setattr__<method-wrapper '__setattr__' of error object>
> >> __reduce_ex__<built-in method __reduce_ex__ of error object>
> >> __new__<built-in method __new__ of type object>
> >> errno 32
> >> __format__<built-in method __format__ of error object>
> >> __class__<class 'socket.error'>
> >> filename None
> >> __doc__ None
> >> __getitem__<method-wrapper '__getitem__' of error object>
> >> __setstate__<built-in method __setstate__ of error object>
> >> __reduce__<built-in method __reduce__ of error object>
> >> args (32, 'Broken pipe')
> >> __subclasshook__<built-in method __subclasshook__ of type object>
> >> __unicode__<built-in method __unicode__ of error object>
> >> strerror 'Broken pipe'
> >> __delattr__<method-wrapper '__delattr__' of error object>
> >> __repr__<method-wrapper '__repr__' of error object>
> >> __hash__<method-wrapper '__hash__' of error object>
> >> Frames
> >>
> >> *
> >>
> >> File ggggggggggg/gluon/main.py in wsgibase at line 446 code arguments
> >> variables
> >> Function argument list
> >>
> >> (environ={'DOCUMENT_ROOT': 'ggggggggggg/', 'GATEWAY_INTERFACE':
> >> 'CGI/1.1', 'HTTPS': '1', 'HTTP_ACCEPT':
> >> 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
> >> 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7',
> >> 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_ACCEPT_LANGUAGE':
> >> 'en-gb,en;q=0.5', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE':
> >> 
> '__utma=12350507.1333234958.1291477692.1291477692...1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none)',
> >> 'HTTP_HOST': '', ...}, responder=<built-in method start_response of
> >> mod_wsgi.Adapter object>)
> >> Code listing
> >>
> >> 441.
> >> 442.
> >> 443.
> >> 444.
> >> 445.
> >> 446.
> >>
> >> 447.
> >> 448.
> >> 449.
> >> 450.
> >>
> >> # ##################################################
> >>
> >> if response._custom_commit:
> >> response._custom_commit()
> >> else:
> >> BaseAdapter.close_all_instances(BaseAdapter.commit)
> >>
> >> # ##################################################
> >> # if session not in db try store session on filesystem
> >> # this must be done after trying to commit database!
> >>
> >> Variables
> >> BaseAdapter.close_all_instances<function close_all_instances>
> >> BaseAdapter.commit<unbound method BaseAdapter.commit>
> >> global BaseAdapter<class 'gluon.dal.BaseAdapter'>
> >> *
> >>
> >> File ggggggggggg/gluon/dal.py in close_all_instances at line 271 code
> >> arguments variables
> >> Function argument list
> >>
> >> (action=<unbound method BaseAdapter.commit>)
> >> Code listing
> >>
> >> 266.
> >> 267.
> >> 268.
> >> 269.
> >> 270.
> >> 271.
> >>
> >> 272.
> >> 273.
> >> 274.
> >> 275.
> >>
> >> """ to close cleanly databases in a multithreaded environment """
> >> if not hasattr(thread,'instances'):
> >> return
> >> while thread.instances:
> >> instance = thread.instances.pop()
> >> action(instance)
> >>
> >> # ## if you want pools, recycle this connection
> >> really = True
> >> if instance.pool_size:
> >> sql_locker.acquire()
> >>
> >> Variables
> >> action<unbound method BaseAdapter.commit>
> >> instance<gluon.dal.MySQLAdapter object>
> >> *
> >>
> >> File ggggggggggg/gluon/dal.py in commit at line 1027 code arguments
> >> variables
> >> Function argument list
> >>
> >> (self=<gluon.dal.MySQLAdapter object>)
> >> Code listing
> >>
> >> 1022.
> >> 1023.
> >> 1024.
> >> 1025.
> >> 1026.
> >> 1027.
> >>
> >> 1028.
> >> 1029.
> >> 1030.
> >> 1031.
> >>
> >> if query.second!=None:
> >> tables = tables.union(self.tables(query.second))
> >> return list(tables)
> >>
> >> def commit(self):
> >> return self.connection.commit()
> >>
> >> def rollback(self):
> >> return self.connection.rollback()
> >>
> >> Variables
> >> self<gluon.dal.MySQLAdapter object>
> >> self.connection<gluon.contrib.pymysql.connections.Connection object>
> >> self.connection.commit<bound method Connection.commit of
> >> <gluon.contrib.pymysql.connections.Connection object>>
> >> *
> >>
> >> File ggggggggggg/gluon/contrib/pymysql/connections.py in commit at line
> >> 549 code arguments variables
> >> Function argument list
> >>
> >> (self=<gluon.contrib.pymysql.connections.Connection object>)
> >> Code listing
> >>
> >> 544.
> >> 545.
> >> 546.
> >> 547.
> >> 548.
> >> 549.
> >>
> >> 550.
> >> 551.
> >> 552.
> >> 553.
> >>
> >> try:
> >> self._execute_command(COM_QUERY, "COMMIT")
> >> self.read_packet()
> >> except:
> >> exc,value,tb = sys.exc_info()
> >> self.errorhandler(None, exc, value)
> >>
> >> def rollback(self):
> >> ''' Roll back the current transaction '''
> >> try:
> >>
> >> Variables
> >> builtinNone None
> >> self<gluon.contrib.pymysql.connections.Connection object>
> >> exc<class 'socket.error'>
> >> value error(32, 'Broken pipe')
> >> self.errorhandler<bound method Connection.defaulterrorhandler of
> >> ...n.contrib.pymysql.connections.Connection object>>
> >> *
> >>
> >> File ggggggggggg/gluon/contrib/pymysql/connections.py in commit at line
> >> 545 code arguments variables
> >> Function argument list
> >>
> >> (self=<gluon.contrib.pymysql.connections.Connection object>)
> >> Code listing
> >>
> >> 540.
> >> 541.
> >> 542.
> >> 543.
> >> 544.
> >> 545.
> >>
> >> 546.
> >> 547.
> >> 548.
> >> 549.
> >>
> >> self.errorhandler(None, exc, value)
> >>
> >> def commit(self):
> >> ''' Commit changes to stable storage '''
> >> try:
> >> self._execute_command(COM_QUERY, "COMMIT")
> >>
> >> self.read_packet()
> >> except:
> >> exc,value,tb = sys.exc_info()
> >> self.errorhandler(None, exc, value)
> >>
> >> Variables
> >> self<gluon.contrib.pymysql.connections.Connection object>
> >> global COM_QUERY '\x03'
> >> self._execute_command<bound method Connection._execute_command of
> >> <gluon.contrib.pymysql.connections.Connection object>>
> >> *
> >>
> >> File ggggggggggg/gluon/contrib/pymysql/connections.py in
> >> _execute_command at line 686 code arguments variables
> >> Function argument list
> >>
> >> (self=<gluon.contrib.pymysql.connections.Connection object>,
> >> command='\x03', sql='COMMIT')
> >> Code listing
> >>
> >> 681.
> >> 682.
> >> 683.
> >> 684.
> >> 685.
> >> 686.
> >>
> >> 687.
> >> 688.
> >> 689.
> >> 690.
> >>
> >> sock.send(send_data)
> >>
> >> if DEBUG: dump_packet(send_data)
> >>
> >> def _execute_command(self, command, sql):
> >> self._send_command(command, sql)
> >>
> >> def _request_authentication(self):
> >> sock = self.socket
> >> self._send_authentication()
> >>
> >> Variables
> >> self<gluon.contrib.pymysql.connections.Connection object>
> >> command '\x03'
> >> self._send_command<bound method Connection._send_command of
> >> <gluon.contrib.pymysql.connections.Connection object>>
> >> sql 'COMMIT'
> >> *
> >>
> >> File ggggggggggg/gluon/contrib/pymysql/connections.py in _send_command
> >> at line 681 code arguments variables
> >> Function argument list
> >>
> >> (self=<gluon.contrib.pymysql.connections.Connection object>,
> >> command='\x03', sql='COMMIT')
> >> Code listing
> >>
> >> 676.
> >> 677.
> >> 678.
> >> 679.
> >> 680.
> >> 681.
> >>
> >> 682.
> >> 683.
> >> 684.
> >> 685.
> >>
> >> def _send_command(self, command, sql):
> >> send_data = struct.pack('<i', len(sql) + 1) + command + sql
> >>
> >> sock = self.socket
> >> sock.send(send_data)
> >>
> >> if DEBUG: dump_packet(send_data)
> >>
> >> def _execute_command(self, command, sql):
> >>
> >> Variables
> >> send_data '\x07\x00\x00\x00\x03COMMIT'
> >> sock.send<built-in method send of _socket.socket object>
> >> sock<socket._socketobject object>
> >>
> >> Context
> >>
> >> locals request session response
> >> locals
> >> command :
> >> '\x03'
> >> self :
> >> <gluon.contrib.pymysql.connections.Connection object>
> >> send_data :
> >> '\x07\x00\x00\x00\x03COMMIT'
> >> sock :
> >> <socket._socketobject object>
> >> sql :
> >> 'COMMIT'
> >> request
> >> ajax :
> >> False
> >> application :
> >> 'init'
> >> args :
> >> []
> >> body :
> >> <cStringIO.StringO object>
> >> cid :
> >> None
> >> client :
> >> 'xxx.xxx.xxx.xxx'
> >> controller :
> >> 'default'
> >> cookies :
> >> <SimpleCookie:
> >> 
> __utma='12350507.1333234958.12914...1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none)'>
> >> env :
> >> <Storage {'mod_wsgi_listener_host': '', 'script_...data.fi/',
> >> 'mod_wsgi_process_group': 'exp-kals'}>
> >> extension :
> >> 'html'
> >> folder :
> >> 'ggggggggggg/applications/init/'
> >> function :
> >> 'index'
> >> get_vars :
> >> <Storage {}>
> >> now :
> >> datetime.datetime(2010, 12, 25, 9, 54, 52, 861899)
> >> post_vars :
> >> <Storage {}>
> >> raw_args :
> >> None
> >> url :
> >> <gluon.html.XML object>
> >> vars :
> >> <Storage {}>
> >> wsgi :
> >> <Storage {'start_response':<function<lambda>  a...p,deflate',
> >> 'PATH_INFO': '/init/default/index'}}>
> >> session
> >> auth :
> >> None
> >> balance :
> >> 0
> >> cart :
> >> {}
> >> language :
> >> 'fi'
> >> language_changed :
> >> False
> >> money_left :
> >> 0
> >> money_to_use :
> >> 0
> >> response
> >> body :
> >> <cStringIO.StringO object>
> >> cookies :
> >> <SimpleCookie:
> >> session_id_init='xxx.xxx.xxx.xxx-469ece8e-c364-48c8-b36f-c6515c0d45a3'>
> >> files :
> >> [<gluon.html.XML object>,<gluon.html.XML object>,<gluon.html.XML 
> object>]
> >> flash :
> >> ''
> >> headers :
> >> <Storage {'Expires': 'Sat, 25 Dec 2010 07:54:52 ...he, must-revalidate,
> >> post-check=0, pre-check=0'}>
> >> menu :
> >> []
> >> meta :
> >> <Storage {}>
> >> postprocessing :
> >> []
> >> session_filename :
> >> 'ggggggggggg/applications/ini....-469ece8e-c364-48c8-b36f-c6515c0d45a3'
> >> session_id :
> >> 'xxx.xxx.xxx.xxx-469ece8e-c364-48c8-b36f-c6515c0d45a3'
> >> session_id_name :
> >> 'session_id_init'
> >> session_new :
> >> True
> >> status :
> >> 200
> >> subtitle :
> >> <lazyT 'Overview'>
> >> title :
> >> <lazyT 'Your account'>
> >> view :
> >> 'default/index.html'
> >> In file: Framework
> >>
> >> 1.
>
>

-- 
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.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to