| Issue 155: | crash while trying to run a query against a SQL 2008 R2 server (Mac OSX) | |
| 1 person starred this issue and may be notified of changes. | Back to list |
What steps will reproduce the problem?
1. The function below is run in a loop, it runs successfully 14 times, then the crash below happens
What is the expected output?
Checking staging table to see if we have already started downloading Answers.ask.com...
9263 pages and 926268 rows previously read
Domain: Answers.ask.com, Markets: set([u'Answerbag']), Names: set([u'Answers.ask.com'])
Saving to: ccinterface.txt
Received 926200/926268 rows, page 9263
Answers.ask.com Already read all 926268 rows
2011-02-07 15:55:00.772270: Completed Answers.ask.com
What do you see instead?
Checking staging table to see if we have already started downloading THISNEXT.COM...
Python(36888,0x7fff70eb9ca0) malloc: *** error for object 0x102402890: incorrect checksum for freed object - object was probably modified after being freed.
*** set a breakpoint in malloc_error_break to debug
Abort trap
What version of the product are you using? On what operating system?
I have Python 2.7.1 installed, pyodbc-2.1.8, Actual Technologies "Actual SQL Driver". OS is Mac OS X 10.6.6 (10J567). I realize that this could be a driver problem, but would like to confirm that this is not a known pyodbc issue. Dump info is attached.
Please provide any additional information below.
def get_highest_page_number(cxn, competitor):
querytxt = """SELECT MAX(Page) AS max_page_number
, MAX(RowNumber) AS max_row_number
FROM dbo.StagingCCInterface WHERE TargetDomain = CAST(? AS NVARCHAR(MAX))"""
max_page_number = 0
max_row_number = 0
try:
cursor = cxn.cursor()
cursor.execute(querytxt, ( competitor ))
row = cursor.fetchone()
if (row != None):
max_page_number, max_row_number = row.max_page_number, row.max_row_number
if ( max_page_number == None ):
max_page_number = 1
if ( max_row_number == None):
max_row_number = 0
else:
max_page_number, max_row_number = 1, 0
except Exception, x:
print 'Failed to execute query:\n{0}\n----Error: {1}'.format(querytxt,x.message)
exit(-1)
finally:
if (cursor != None):
cursor.nextset()
cursor.close()
return max_page_number, max_row_number
Feb 7, 2011
#1
amsi...@gmail.com
Feb 27, 2011
I'm glad you found a work around. (Actually, not just a work around - you would need that change for memory, presumably.) I hate to point fingers, but from the dump I'm suspecting a FreeTDS issue. I'm going to close this for now, but please let me know if you see any new issues. Thanks for the report.
Status:
NoFix
|