# Buggy code
def cleanup_noncompliant_channel_torrents(state_dir):
    channels_dir = os.path.join(state_dir, "channels")
    # Remove torrents contents
    if os.path.exists(channels_dir):
        for d in os.listdir(channels_dir):
            if len(os.path.splitext(d)[0]) != CHANNEL_DIR_NAME_LENGTH:
                dir_path = os.path.join(channels_dir, d)
                # We remove both malformed channel dirs and .torrent and .mdblob files for personal channel
                if os.path.isdir(dir_path):
                    shutil.rmtree(dir_path, ignore_errors=True)
                elif os.path.isfile(dir_path):
                    os.unlink(dir_path)

    # Remove .state torrent resume files
    resume_dir = os.path.join(state_dir, "dlcheckpoints")
    if os.path.exists(resume_dir):
        for f in os.listdir(resume_dir):
            file_path = os.path.join(resume_dir, f)
            pstate = CallbackConfigParser()
            pstate.read_file(file_path)

            if (
                pstate
                and pstate.has_option("download_defaults", "channel_download")
                and pstate.get("download_defaults", "channel_download")
            ):
                try:
                    name = pstate.get("state", "metainfo")["info"]["name"]
                    if name and len(name) != CHANNEL_DIR_NAME_LENGTH:
                        os.unlink(file_path)
                except (TypeError, KeyError, ValueError):
                    pass


# Traceback (ConfigParser.ParsingError)
Unhandled Error
Traceback (most recent call last):
File "lib\site-packages\twisted\internet\base.py", line 417, in fireEvent

File "lib\site-packages\twisted\internet\defer.py", line 317, in addCallback

File "lib\site-packages\twisted\internet\defer.py", line 306, in addCallbacks

File "lib\site-packages\twisted\internet\defer.py", line 649, in _runCallbacks

--- <exception caught here> ---
File "lib\site-packages\twisted\internet\base.py", line 430, in _continueFiring

File "run_tribler.py", line 85, in start_tribler

File "Tribler\Core\Session.py", line 408, in start

File "Tribler\Core\Upgrade\upgrade.py", line 75, in run

File "Tribler\Core\Upgrade\upgrade.py", line 88, in upgrade_72_to_pony

File "Tribler\Core\Upgrade\upgrade.py", line 36, in cleanup_noncompliant_channel_torrents

File "Tribler\Core\Utilities\configparser.py", line 36, in read_file

File "lib\ConfigParser.py", line 546, in _read

ConfigParser.ParsingError: File contains parsing errors: None
[line  2]: u'    mode = 0\r\n'
[line  3]: u'    hops = 2\r\n'
[line  4]: u'    selected_files = ,\r\n'
[line  5]: u'    correctedfilename = None\r\n'
[line  6]: u'    safe_seeding = False\r\n'
[line  7]: u'    user_stopped = False\r\n'
[line  8]: u'    time_added = 1563834417\r\n'
[line  9]: u'    credit_mining = False\r\n'
[line 10]: u'    saveas = C:\\Windows\\system32\\config\\systemprofile\\TriblerDownloads\r\n'
[line 11]: u'    share_mode = False\r\n'
[line 12]: u'    bootstrap_download = False\r\n'
[line 13]: u'    channel_download = False\r\n'
[line 14]: u'    add_download_to_channel = False\r\n'
[line 15]: u'    seeding_mode = forever\r\n'
[line 16]: u'    seeding_ratio = 2.0\r\n'
[line 17]: u'    seeding_time = 60.0\r\n'
[line 19]: u'    version = 5\r\n'
[line 20]: u'    metainfo = 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\r\n'
[line 21]: u'    engineresumedata = ZDExOmFjdGl2ZV90aW1laTExOTVlMTA6YWRkZWRfdGltZWkxNTYzODM0NDE3ZTEwOmFsbG9jYXRpb242OnNwYXJzZTE1OmFubm91bmNlX3RvX2RodGkxZTE1OmFubm91bmNlX3RvX2xzZGkxZTIwOmFubm91bmNlX3RvX3RyYWNrZXJzaTFlMTI6YXV0b19tYW5hZ2VkaTBlMTI6YmFubmVkX3BlZXJzMDoxMzpiYW5uZWRfcGVlcnM2MDoxNjpibG9ja3MgcGVyIHBpZWNlaTY0ZTE0OmNvbXBsZXRlZF90aW1laTE1NjM4MzUyMTFlMTk6ZG93bmxvYWRfcmF0ZV9saW1pdGkwZTEwOmZpbGUgc2l6ZXNsbGk4Mzk2MjE3MzdlaTE1NjM4MzUyMTFlZWUxMTpmaWxlLWZvcm1hdDIyOmxpYnRvcnJlbnQgcmVzdW1lIGZpbGUxMjpmaWxlLXZlcnNpb25pMWUxMzpmaWxlX3ByaW9yaXR5bGkxZWUxMzpmaW5pc2hlZF90aW1laTQwMGU5OmluZm8taGFzaDIwOr6yhn7GPPfxu0YV8UCva7wBUcgqMTM6bGFzdF9kb3dubG9hZGk0MDBlMTE6bGFzdF9zY3JhcGVpNzRlMTg6bGFzdF9zZWVuX2NvbXBsZXRlaTE1NjM4MzU1NjhlMTE6bGFzdF91cGxvYWRpMTE5NWUxODpsaWJ0b3JyZW50LXZlcnNpb243OjEuMC44LjAxNTptYXhfY29ubmVjdGlvbnNpMTY3NzcyMTVlMTE6bWF4X3VwbG9hZHNpMTY3NzcyMTVlMTI6bnVtX2NvbXBsZXRlaTE4NGUxNDpudW1fZG93bmxvYWRlZGkwZTE0Om51bV9pbmNvbXBsZXRlaTE0ZTY6cGF1c2VkaTBlNTpwZWVyczI0MDoBAQEBBAABUJWHyNUCM6VDxJECM7NGT+oCUyFS84wDXE6vGuEFDGSRYg8FFLIBYnwFHUs4avUFlxuA7tEFmCtl84wKAAIPwpQSwhweH64XdVotxJEYQQkQyNUYtEEDn/8Y1CA9ZeUft/C9jpAf0mBecnsi9OLqH6wlKa2fGuElME3ow7clMHB3wDsljgblLxcl7LIlGuEnbekfYSopJbxExJEpOjZeO5EpPIfGn00pP6YyOH8ptk+hSW8pzfAhnTUt3d/R8KsulfT2rukusfLixJEvNY6HN3Mvyl9pqlsxkIzeQVw2uSGUH7Q6PAEbN+A2OnBlZXJzNjA6MTQ6cGllY2VfcHJpb3JpdHk4MDE6AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBNjpwaWVjZXM4MDE6AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBODpwcmlvcml0eWkxZTk6c2F2ZV9wYXRoNTc6QzpcV2luZG93c1xzeXN0ZW0zMlxjb25maWdcc3lzdGVtcHJvZmlsZVxUcmlibGVyRG93bmxvYWRzOTpzZWVkX21vZGVpMGUxMjpzZWVkaW5nX3RpbWVpNDAwZTE5OnNlcXVlbnRpYWxfZG93bmxvYWRpMGUxMzpzdXBlcl9zZWVkaW5naTBlMTY6dG90YWxfZG93bmxvYWRlZGk4NDA3MzEzMDhlMTQ6dG90YWxfdXBsb2FkZWRpMGU4OnRyYWNrZXJzbGw0MDp1ZHA6Ly90cmFja2VyLmxlZWNoZXJzLXBhcmFkaXNlLm9yZzo2OTY5MzQ6dWRwOi8vdHJhY2tlci5jb3BwZXJzdXJmZXIudGs6Njk2OTI4OnVkcDovL2V4b2R1cy5kZXN5bmMuY29tOjY5NjkyMTp1ZHA6Ly96ZXIwZGF5LmNoOjEzMzcyNzp1ZHA6Ly9vcGVuLmRlbW9uaWkuY29tOjEzMzdlZTE3OnVwbG9hZF9yYXRlX2xpbWl0aTBlZQ==\r\n'

# Fixed code
def cleanup_noncompliant_channel_torrents(state_dir):
    logger = logging.getLogger(__name__)
    channels_dir = os.path.join(state_dir, "channels")
    # Remove torrents contents
    if os.path.exists(channels_dir):
        for d in os.listdir(channels_dir):
            if len(os.path.splitext(d)[0]) != CHANNEL_DIR_NAME_LENGTH:
                dir_path = os.path.join(channels_dir, d)
                # We remove both malformed channel dirs and .torrent and .mdblob files for personal channel
                if os.path.isdir(dir_path):
                    shutil.rmtree(dir_path, ignore_errors=True)
                elif os.path.isfile(dir_path):
                    os.unlink(dir_path)

    # Remove .state torrent resume files
    resume_dir = os.path.join(state_dir, "dlcheckpoints")
    if os.path.exists(resume_dir):
        for f in os.listdir(resume_dir):
            file_path = os.path.join(resume_dir, f)
            pstate = CallbackConfigParser()
            try:
                pstate.read_file(file_path)
            except (ParsingError, MissingSectionHeaderError):
                logger.warning(
                    "Parsing channel torrent resume file %s failed, deleting", file_path
                )
                os.unlink(file_path)
                continue

            if (
                pstate
                and pstate.has_option("download_defaults", "channel_download")
                and pstate.get("download_defaults", "channel_download")
            ):
                try:
                    name = pstate.get("state", "metainfo")["info"]["name"]
                    if name and len(name) != CHANNEL_DIR_NAME_LENGTH:
                        os.unlink(file_path)
                except (TypeError, KeyError, ValueError):
                    pass