Your message dated Sun, 3 Jul 2016 11:22:15 +0200
with message-id <[email protected]>
and subject line closing bugs reported against ancient python versions
has caused the Debian Bug report #451733,
regarding python2.5: [mailbox] race: mbox may lose data with concurrent access
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
451733: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=451733
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: python2.5
Version: 2.5-5
Severity: important

Hi, 

the mailbox._singlefileMailbox class is not safe with concurrent access,
because mailbox._singlefileMailbox.flush() replaces the underlying file
with a new copy by constructing a temporary file and then renaming it.
This breaks all other class instances which have this mailbox open.  I'm
attaching a script demonstrating the problem. 

I think it's a bad idea to use rename(2) here; overwriting the file
content would fix the race condition, and #451274 too[1].

Nikolaus

[1] "python2.5: [mailbox] cannot modify mailboxes in system mail spool"
     http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=451274

-- System Information:
Debian Release: 4.0
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.18-5-k7
Locale: LANG=de_DE@euro, LC_CTYPE=de_DE@euro (charmap=ISO-8859-15)

Versions of packages python2.5 depends on:
ii  libbz2-1.0             1.0.3-6           high-quality block-sorting file co
ii  libc6                  2.3.6.ds1-13etch2 GNU C Library: Shared libraries
ii  libdb4.4               4.4.20-8          Berkeley v4.4 Database Libraries [
ii  libncursesw5           5.5-5             Shared libraries for terminal hand
ii  libreadline5           5.2-2             GNU readline and history libraries
ii  libsqlite3-0           3.3.8-1.1         SQLite 3 shared library
ii  libssl0.9.8            0.9.8c-4etch1     SSL shared libraries
ii  mime-support           3.39-1            MIME files 'mime.types' & 'mailcap
ii  python2.5-minimal      2.5-5             A minimal subset of the Python lan

python2.5 recommends no packages.

-- no debconf information
#!/usr/bin/python2.5

import mailbox
import os
import time
import tempfile 

msg_text = ("""Subject: Ghost message

This message should be deleted.
""",
"""Subject: New message

This message should be the only one in the mailbox.
""")

mbox_name = tempfile.mkstemp(prefix="race-mbox")[1]

def printmbox(m): 
    if not mbox: print("<empty>")
    else: 
        for msg in mbox: print(msg)
    print

if os.fork(): 
    # first mbox user
    mbox = mailbox.mbox(mbox_name)
    mbox.lock()
    mbox.add(msg_text[0])
    mbox.clear() 
    print("=== mbox after first client finished:\n")
    printmbox(mbox) # now empty
    mbox.close()
    os.wait()
    mbox = mailbox.mbox(mbox_name)
    print("=== mbox after second client finished:\n")
    printmbox(mbox) # has now both messages. 
    os.remove(mbox_name)
else: 
    # second mbox user
    mbox = mailbox.mbox(mbox_name)
    time.sleep(1)
    mbox.lock()
    mbox.add(msg_text[1]) 
    mbox.close()

--- End Message ---
--- Begin Message ---
This bug has been reported against an ancient version of
python (2.5/3.1), that was last released with Debian 6.0 (squeeze). But
even squeeze-lts has now reached end-of-life and is no longer supported.
The bug is assumed to be fixed (or no longer relevant) in newer python
releases and therefore I'm closing this report now. If the problem is
still reproducible in the currently supported versions (python2.7,
python3.5/python3.6), feel free to provide more information, reopen
and reassign this bug report.


Andreas

--- End Message ---

Reply via email to