Bug 30301 - getmail crashes when accessing big mailboxes
Summary: getmail crashes when accessing big mailboxes
Status: ASSIGNED
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: 8
Hardware: All Linux
Priority: Normal critical
Target Milestone: ---
Assignee: Johnny A. Solbu
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-04-19 15:10 CEST by Nicolas Pomarède
Modified: 2022-05-12 10:28 CEST (History)
0 users

See Also:
Source RPM: getmail-6.12-1.mga8
CVE:
Status comment:


Attachments

Description Nicolas Pomarède 2022-04-19 15:10:17 CEST
Description of problem:

current version 6.12 of getmail has a bug where getmail will crash when its forked child will take more than 3 sec to get the mails.

See here : https://github.com/getmail6/getmail6/issues/59

single fix is here : https://github.com/getmail6/getmail6/commit/b2d82a41ae73476c42a27f9c6764c0415bca5833 and is part of getmail 6.13

patching the 6.12 file manually indeed fixes the crash

Please update getmail to a more recent version (latest is 6.18.6)

Also note that this getmail is in fact getmail6 which is an un-official fork of getmail 5 to support python3 :

https://pyropus.ca./software/getmail/documentation.html#python3-getmail6

unfortunately, there's not much mageia can do about this if python2 support is dropped completely.
Comment 1 Lewis Smith 2022-04-22 08:51:01 CEST
Thank you for the researched and helpful report.
We do in fact have (after 6.15 & 6.18.5) 6.18.6 in Cauldron. We did not have 6.13.

Assigning this to solbu who did 6.12 and those more recent versions.

Assignee: bugsquad => cooker

Comment 2 Nicolas Pomarède 2022-04-22 17:50:57 CEST
Additional bug found with this 6.12 version : getmail6 gets killed when waiting "forever" according to the code :

stopped waiting for child 51990getmailrc: operation error (child pid 51990 killed by signal 8)

This is described in https://github.com/getmail6/getmail6/pull/65 and fixed in getmail 6.14. Applying the patch manually to 6.12 fixes the issue.

So getmail for mageia 8 should be updated to at least 6.14
Comment 3 Johnny A. Solbu 2022-05-11 17:47:51 CEST
I have uploaded a patched version to mga8 core/updates_testing

getmail-6.12-1.1.mga8

Please test.

Status: NEW => ASSIGNED

Comment 4 Nicolas Pomarède 2022-05-12 10:28:46 CEST
In getmail-6.12-1.1.mga8 getmailcore/baseclasses.py is still the same as before, only baseclasses.cpython-38.pyc is different.

Did you forget to patch the .py source file too ?

This is how it looks like in my own patched version after applying changes for issues 59 and 65 :

    def _wait_for_child(self, childpid):
        self.__child_exited.acquire()
        if not self.__child_exited.wait(60):
            raise getmailOperationError('waiting child pid %d timed out'
                                        % childpid)
        self.__child_exited.release()
[...]

Note You need to log in before you can comment on or make changes to this bug.