[prev in list] [next in list] [prev in thread] [next in thread] 

List:       spamassassin-devel
Subject:    [Bug 3649] New: pyzor check timed out after 10 secs (Bad file descriptor)
From:       bugzilla-daemon () bugzilla ! spamassassin ! org
Date:       2004-07-30 2:05:11
Message-ID: 20040730020511.119FA84147 () bugzilla ! spamassassin ! org
[Download RAW message or body]

http://bugzilla.spamassassin.org/show_bug.cgi?id=3649

           Summary: pyzor check timed out after 10 secs (Bad file
                    descriptor)
           Product: Spamassassin
           Version: SVN Trunk (Latest Devel Version)
          Platform: HP
        OS/Version: Linux
            Status: NEW
          Severity: major
          Priority: P3
         Component: spamassassin
        AssignedTo: spamassassin-dev@incubator.apache.org
        ReportedBy: billl@pointshare.com


When running Amavisd-New 2.0 and SA 2.63, Pyzor, Razor, and DCC all run fine.
However, after upgrading to SA 3.0-pre3, Pyzor times out on all queries, but
Razor and DDC still run fine:
==========================
Amavisd-New 2.0 & SA 2.63:
==========================
debug: Razor2 is available
debug: Pyzor is available: /usr/local/bin/pyzor
debug: entering helper-app run mode
debug: Pyzor: got response: 66.250.40.33:24441  (200, 'OK')     0       0
debug: leaving helper-app run mode
debug: DCCifd is available: /var/dcc/dccifd
debug: entering helper-app run mode
debug: DCCifd: got response: X-DCC-dmv.com-Metrics: gw2.pointshare.com 1181;
Body=1 Fuz1=1 Fuz2=1
debug: leaving helper-app run mode

==============================
Amavisd-New 2.0 & SA 3.0-pre3:
==============================
debug: Razor2 is available
debug: Pyzor is available: /usr/local/bin/pyzor
debug: entering helper-app run mode
debug: setuid: helper proc 9392: ruid=3000 euid=3000
debug: leaving helper-app run mode
debug: Pyzor -> check timed out after 10 secs.
debug: DCCifd is available: /var/dcc/dccifd
debug: entering helper-app run mode
debug: DCCifd: got response: X-DCC-sonic.net-Metrics: mgw1.pointshare.com
1117; Body=1 Fuz1=1 Fuz2=1
debug: leaving helper-app run mode
==============================

It appears that the only difference between SA 2.63 and SA 3.0-pre3 is the
addition of the "setuid" line:

     debug: setuid: helper proc 9392: ruid=3000 euid=3000

UID 3000 & GID 3000 are owned by Amavisd-New.  Was this "setuid" process an
intentional change, as it would seem to restrict Amavisd-New's ability to
access the Python/Pyzor applications as they are owned by root.  I have
attached an strace snippet that shows that with SA 3.0-pre3, when attempting
to call Python and Pyzor, the process experiences lots of "Bad file
descriptor" issues, which are not present with SA 2.63.
===============
strace snippet:
===============
9011  write(2, "Traceback (most recent call last"..., 35) = -1 EBADF (Bad file 
descriptor)
9011  open("/usr/local/bin/pyzor", O_RDONLY|O_LARGEFILE) = 4
9011  write(2, "  File \"/usr/local/bin/pyzor"..., 49) = -1 EBADF (Bad file 
descriptor)
9011  fstat64(4, {st_mode=S_IFREG|0755, st_size=64, ...}) = 0
9011  old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 
0) = 0x405ae000
9011  read(4, "#!/usr/local/bin/python\n\nimport "..., 4096) = 64
9011  write(2, "    ", 4)               = -1 EBADF (Bad file descriptor)
9011  write(2, "pyzor.client.run()\n", 19) = -1 EBADF (Bad file descriptor)
9011  close(4)                          = 0
9011  munmap(0x405ae000, 4096)          = 0
9011  open("/usr/local/lib/python2.3/site-packages/pyzor/client.py", 
O_RDONLY|O_LARGEFILE) = 4
9011  write(2, "  File \"/usr/local/lib/python2.3"..., 82) = -1 EBADF (Bad file 
descriptor)
9011  fstat64(4, {st_mode=S_IFREG|0644, st_size=27835, ...}) = 0
9011  old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 
0) = 0x405ae000
9011  read(4, "\"\"\"networked spam-signature dete"..., 4096) = 4096
9011  read(4, "          debug = 1\n            "..., 4096) = 4096
9011  read(4, "     for (o, v) in options:\n    "..., 4096) = 4096
9011  read(4, "igest\': print_digested,\n        "..., 4096) = 4096
9011  read(4, "orm += \"\\n\"\n                move"..., 4096) = 4096
9011  read(4, "ert self.curfile is None\n\n      "..., 4096) = 4096
9011  read(4, "it__(self, v):\n        self.vali"..., 4096) = 3259
9011  write(2, "    ", 4)               = -1 EBADF (Bad file descriptor)
9011  write(2, "ExecCall().run()\n", 17) = -1 EBADF (Bad file descriptor)
9011  close(4)                          = 0
9011  munmap(0x405ae000, 4096)          = 0
9011  open("/usr/local/lib/python2.3/site-packages/pyzor/client.py", 
O_RDONLY|O_LARGEFILE) = 4
9011  write(2, "  File \"/usr/local/lib/python2.3"..., 82) = -1 EBADF (Bad file 
descriptor)
9011  fstat64(4, {st_mode=S_IFREG|0644, st_size=27835, ...}) = 0
9011  old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 
0) = 0x405ae000
9011  read(4, "\"\"\"networked spam-signature dete"..., 4096) = 4096
9011  read(4, "          debug = 1\n            "..., 4096) = 4096
9011  write(2, "    ", 4)               = -1 EBADF (Bad file descriptor)
9011  write(2, "if not apply(dispatch, (self, ar"..., 38) = -1 EBADF (Bad file 
descriptor)
9011  close(4)                          = 0
9011  munmap(0x405ae000, 4096)          = 0
9011  open("/usr/local/lib/python2.3/site-packages/pyzor/client.py", 
O_RDONLY|O_LARGEFILE) = 4
9011  write(2, "  File \"/usr/local/lib/python2.3"..., 84) = -1 EBADF (Bad file 
descriptor)
9011  fstat64(4, {st_mode=S_IFREG|0644, st_size=27835, ...}) = 0
9011  old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 
0) = 0x405ae000
9011  read(4, "\"\"\"networked spam-signature dete"..., 4096) = 4096
9011  read(4, "          debug = 1\n            "..., 4096) = 4096
9011  write(2, "    ", 4)               = -1 EBADF (Bad file descriptor)
9011  write(2, "response = runner.run(server, (d"..., 48) = -1 EBADF (Bad file 
descriptor)
9011  close(4)                          = 0
9011  munmap(0x405ae000, 4096)          = 0
9011  open("/usr/local/lib/python2.3/site-packages/pyzor/client.py", 
O_RDONLY|O_LARGEFILE) = 4
9011  write(2, "  File \"/usr/local/lib/python2.3"..., 82) = -1 EBADF (Bad file 
descriptor)
9011  fstat64(4, {st_mode=S_IFREG|0644, st_size=27835, ...}) = 0
9011  old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 
0) = 0x405ae000
9011  read(4, "\"\"\"networked spam-signature dete"..., 4096) = 4096
9011  read(4, "          debug = 1\n            "..., 4096) = 4096
9011  read(4, "     for (o, v) in options:\n    "..., 4096) = 4096
9011  read(4, "igest\': print_digested,\n        "..., 4096) = 4096
9011  read(4, "orm += \"\\n\"\n                move"..., 4096) = 4096
9011  read(4, "ert self.curfile is None\n\n      "..., 4096) = 4096
9011  write(2, "    ", 4)               = -1 EBADF (Bad file descriptor)
9011  write(2, "response = apply(self.routine, v"..., 48) = -1 EBADF (Bad file 
descriptor)
9011  close(4)                          = 0
9011  munmap(0x405ae000, 4096)          = 0
9011  open("/usr/local/lib/python2.3/site-packages/pyzor/client.py", 
O_RDONLY|O_LARGEFILE) = 4
9011  write(2, "  File \"/usr/local/lib/python2.3"..., 83) = -1 EBADF (Bad file 
descriptor)
9011  fstat64(4, {st_mode=S_IFREG|0644, st_size=27835, ...}) = 0
9011  old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 
0) = 0x405ae000
9011  read(4, "\"\"\"networked spam-signature dete"..., 4096) = 4096
9011  write(2, "    ", 4)               = -1 EBADF (Bad file descriptor)
9011  write(2, "msg = CheckRequest(digest)\n", 27) = -1 EBADF (Bad file 
descriptor)
9011  close(4)                          = 0
9011  munmap(0x405ae000, 4096)          = 0
9011  open("/usr/local/lib/python2.3/site-packages/pyzor/__init__.py", 
O_RDONLY|O_LARGEFILE) = 4
9011  write(2, "  File \"/usr/local/lib/python2.3"..., 89) = -1 EBADF (Bad file 
descriptor)
9011  fstat64(4, {st_mode=S_IFREG|0644, st_size=12430, ...}) = 0
9011  old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 
0) = 0x405ae000
9011  read(4, "\"\"\"networked spam-signature dete"..., 4096) = 4096
9011  read(4, "nce we\'re dealing with UDP\n     "..., 4096) = 4096
9011  read(4, "f.get_code(), self.get_diag())\n\n"..., 4096) = 4096
9011  write(2, "    ", 4)               = -1 EBADF (Bad file descriptor)
9011  write(2, "typecheck(digest, str)\n", 23) = -1 EBADF (Bad file descriptor)
9011  close(4)                          = 0
9011  munmap(0x405ae000, 4096)          = 0
9011  open("/usr/local/lib/python2.3/site-packages/pyzor/__init__.py", 
O_RDONLY|O_LARGEFILE) = 4
9011  write(2, "  File \"/usr/local/lib/python2.3"..., 90) = -1 EBADF (Bad file 
descriptor)
9011  fstat64(4, {st_mode=S_IFREG|0644, st_size=12430, ...}) = 0
9011  old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 
0) = 0x405ae000
9011  read(4, "\"\"\"networked spam-signature dete"..., 4096) = 4096
9011  read(4, "nce we\'re dealing with UDP\n     "..., 4096) = 4096
9011  read(4, "f.get_code(), self.get_diag())\n\n"..., 4096) = 4096
9011  write(2, "    ", 4)               = -1 EBADF (Bad file descriptor)
9011  write(2, "raise TypeError\n", 16) = -1 EBADF (Bad file descriptor)
9011  close(4)                          = 0
9011  munmap(0x405ae000, 4096)          = 0
9011  write(2, "TypeError", 9)          = -1 EBADF (Bad file descriptor)
9011  rt_sigaction(SIGINT, NULL, {0x4002ede0, [], SA_RESTORER, 0x40181608}, 8) 
= 0
9011  rt_sigaction(SIGINT, {SIG_DFL}, NULL, 8) = 0
9011  rt_sigaction(SIGALRM, NULL, {0x4002ede0, [], SA_RESTORER, 0x40181608}, 8) 
= 0
9011  rt_sigaction(SIGALRM, {SIG_DFL}, NULL, 8) = 0
9011  close(3)                          = 0
9011  exit_group(1)                     = ?



------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic