Bug #67473 socket.error is handled incorrectly on python < 2.6
Submitted: 5 Nov 2012 9:35 Modified: 26 Nov 2012 12:17
Reporter: Christoph Thielecke Email Updates:
Status: Duplicate Impact on me:
None 
Category:Connector / Python Severity:S3 (Non-critical)
Version:1.0.7 OS:Any
Assigned to: CPU Architecture:Any
Tags: compat, socket error

[5 Nov 2012 9:35] Christoph Thielecke
Description:
There is a missing check for attribute error:

 File "/usr/local/sql_func.py", line 856, in db_query
    c=cursor.execute(arg_query)

  File "/usr/lib/python2.5/site-packages/DBUtils-1.0-py2.5.egg/DBUtils/SteadyDB.py", line 447, in tough_method
    result = method(*args, **kwargs) # try to execute

  File "/usr/lib/python2.5/site-packages/mysql/connector/cursor.py", line 392, in execute
    self._handle_result(self._connection.cmd_query(stmt))

  File "/usr/lib/python2.5/site-packages/mysql/connector/connection.py", line 502, in cmd_query
    statement))

  File "/usr/lib/python2.5/site-packages/mysql/connector/connection.py", line 357, in _send_cmd
    return self._socket.recv()

  File "/usr/lib/python2.5/site-packages/mysql/connector/network.py", line 183, in recv_plain
    values=(self.get_address(), err.errno))

How to repeat:
let a socket error occure.

Suggested fix:
--- mysql-connector-python-1.0.7/python2/mysql/connector/network.py.orig        2012-11-05 10:06:01.000000000 +0100
+++ mysql-connector-python-1.0.7/python2/mysql/connector/network.py     2012-11-05 10:19:48.000000000 +0100
@@ -179,8 +179,13 @@
         except socket.timeout, err:
             raise errors.InterfaceError(errno=2013)
         except socket.error, err:
+            msg = ''
+            try:
+                msg = err.errno
+            except AttributeError:
+                msg = err
             raise errors.InterfaceError(errno=2055,
-                                        values=(self.get_address(), err.errno))
+                                        values=(self.get_address(), msg))
     recv = recv_plain

     def _split_zipped_payload(self, packet_bunch):
[26 Nov 2012 12:17] Geert Vanderkelen
Duplicate of Bug#66813. Will be fixed in next releases.