Uploaded image for project: 'MariaDB Connector/Python'
  1. MariaDB Connector/Python
  2. CONPY-65

segfault at [..] error 4 in libmariadb.so

    XMLWordPrintable

Details

    • Bug
    • Status: Open (View Workflow)
    • Major
    • Resolution: Unresolved
    • 0.9.58
    • None
    • None
    • None
    • libmariadb3:amd64 1:10.3.22-0+deb10u1
      libmariadbclient-dev:amd64 1:10.3.22-0+deb10u1
      python3 3.7.3-1
      Debian 10.4

    Description

      I get such segfaults after my script runs for around ten hours:

      May 13 21:23:06 xoxoxoxo kernel: [190672.236709] python3[19610]: segfault at 7fb0a802101e ip 00007fb0b7c85487 sp 00007fb0b59173e0 error 4 in libmariadb.so.3[7fb0b7c74000+23000]
      May 13 21:23:06 xoxoxoxo kernel: [190672.241290] Code: 70 48 85 c0 0f 84 2b ff ff ff 8b 53 64 85 d2 0f 84 20 ff ff ff 31 c9 31 d2 eb 0c 0f 1f 84 00 00 00 00 00 48 8b 43 70 48 01 c8 <80> 78 66 00 74 04 c6 40 66 00 8b 43 64 48 83 c2 01 48 83 c1 70 48
      

      #!/usr/bin/env python3
      # pymilter  1.0.3
      # mariadb   0.9.58
       
      import Milter
      import mariadb
       
      MAIL_RATE_DB = 'mail_rate_statistics'
      MAIL_RATE_TBL = 'mail_counter'
       
      def main():
          dbconn = initialize_database()
          socketname = "/var/run/milters/mail_rate_milter.sock"
          timeout = 300
          Milter.factory = MailRateMilter
          Milter.factory.dbconn = dbconn
          Milter.set_exception_policy(Milter.CONTINUE)
          Milter.runmilter("mail_rate_milter", socketname, timeout)
       
      def initialize_database():
          dbconn = mariadb.connect(host='localhost', database='{}'.format(MAIL_RATE_DB))
          dbconn.auto_reconnect = True
          return dbconn
       
      class MailRateMilter(Milter.Base):
          def __init__(self):
              self.id = Milter.uniqueID()
              self.server = str()
       
          @Milter.noreply
          def hello(self, hostname):
              self.server = hostname
              return Milter.CONTINUE
       
          @Milter.noreply
          def envfrom(self, f, *str):
              self.add_addr_to_rate_db(f)
              return Milter.ACCEPT
       
          def add_addr_to_rate_db(self, mail_from):
              self.dbconn.ping()
              account = mail_from.strip('<>').partition('@')[0]
              domain = mail_from.strip('<>').partition('@')[2]
              dbcurs = self.dbconn.cursor()
              sql = "INSERT INTO {} VALUES (CURRENT_TIMESTAMP(3), ?, ?, ?, ?)".format(MAIL_RATE_TBL)
              dbcurs.execute(sql, (mail_from.strip('<>'), account, domain, self.server))
       
      if __name__=="__main__":
          main()
      

      Attachments

        Activity

          People

            georg Georg Richter
            Oophoo6s Oophoo6s
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:

              Git Integration

                Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.