Bug 246313 - database/py-mysqlclient sigabort with a "GC object already tracked" message
Summary: database/py-mysqlclient sigabort with a "GC object already tracked" message
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: amd64 Any
: --- Affects Only Me
Assignee: Dima Panov
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-05-08 17:15 UTC by Jeroen Pulles
Modified: 2020-06-23 17:29 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jeroen Pulles 2020-05-08 17:15:18 UTC
Hi,

The new patch from ports r529330 causes a sigabort in python. 

My impression is that this happens only with a fetchmany() on a streaming cursor, MySQLdb.cursors.SSCursor. 

Without the patch the aborts don't occur. 

And i'm running a single threaded application. 

Here's a snippet from ktrace output: 

 7850 python3.7 RET   recvfrom 2572/0xa0c
  7850 python3.7 CALL  write(0x2,0x8002c4a6c,0x14)
  7850 python3.7 GIO   fd 2 wrote 20 bytes
       "Fatal Python error: "
  7850 python3.7 RET   write 20/0x14
  7850 python3.7 CALL  write(0x2,0x8002c0bfc,0x19)
  7850 python3.7 GIO   fd 2 wrote 25 bytes
       "GC object already tracked"
  7850 python3.7 RET   write 25/0x19
  7850 python3.7 CALL  write(0x2,0x8007c0a97,0x1)
  7850 python3.7 GIO   fd 2 wrote 1 byte
       "
       "
  7850 python3.7 RET   write 1
  7850 python3.7 CALL  write(0x2,0x8007c0a97,0x1)
  7850 python3.7 GIO   fd 2 wrote 1 byte
       "
       "
  7850 python3.7 RET   write 1
  7850 python3.7 CALL  write(0x2,0x8002c4af3,0x11)
  7850 python3.7 GIO   fd 2 wrote 17 bytes
       "Current thread 0x"
  7850 python3.7 RET   write 17/0x11
  7850 python3.7 CALL  write(0x2,0x7fffdfff5600,0x10)
  7850 python3.7 GIO   fd 2 wrote 16 bytes
       "00000008072ebf00"
  7850 python3.7 RET   write 16/0x10
  7850 python3.7 CALL  write(0x2,0x8002bf3ad,0x1b)
  7850 python3.7 GIO   fd 2 wrote 27 bytes
       " (most recent call first):
       "
Comment 1 Li-Wen Hsu freebsd_committer freebsd_triage 2020-06-17 10:09:01 UTC
Over to maintainer.
Comment 2 commit-hook freebsd_committer freebsd_triage 2020-06-22 16:51:29 UTC
A commit references this bug:

Author: fluffy
Date: Mon Jun 22 16:50:32 UTC 2020
New revision: 539884
URL: https://svnweb.freebsd.org/changeset/ports/539884

Log:
  databases/py-mysqlclient: revert gc threaded patch

  It caused python sigabort with a "GC object already tracked" message in singlethreaded app.
  This happens only with a fetchmany() on a streaming cursor, MySQLdb.cursors.SSCursor.

  PR:		246313
  Reported by:	Jeroen Pulles <jeroen.pulles@gmail.com>
  MFH:		2020Q2

Changes:
  head/databases/py-mysqlclient/Makefile
  head/databases/py-mysqlclient/files/
Comment 3 commit-hook freebsd_committer freebsd_triage 2020-06-23 17:27:07 UTC
A commit references this bug:

Author: fluffy
Date: Tue Jun 23 17:26:07 UTC 2020
New revision: 539988
URL: https://svnweb.freebsd.org/changeset/ports/539988

Log:
  MFH: r539884

  databases/py-mysqlclient: revert gc threaded patch

  It caused python sigabort with a "GC object already tracked" message in singlethreaded app.
  This happens only with a fetchmany() on a streaming cursor, MySQLdb.cursors.SSCursor.

  PR:		246313
  Reported by:	Jeroen Pulles <jeroen.pulles@gmail.com>

  Approved by:	ports-secteam (joneum)

Changes:
_U  branches/2020Q2/
  branches/2020Q2/databases/py-mysqlclient/Makefile
  branches/2020Q2/databases/py-mysqlclient/files/