gurudesh/pytracebugs huggingface dataset:
# Buggy code
def isInThreadPool():
    """
    Check if we are currently on one of twisted threadpool threads.
    """
    return current_thread() in reactor.threadpool.threads


# Traceback (exceptions.AttributeError)
Unhandled Error
Traceback (most recent call last):
File "/data/user/0/org.tribler.android/files/lib/python2.7/site-packages/twisted/internet/base.py", line 417, in fireEvent
DeferredList(beforeResults).addCallback(self._continueFiring)
File "/data/user/0/org.tribler.android/files/lib/python2.7/site-packages/twisted/internet/defer.py", line 317, in addCallback
callbackKeywords=kw)
File "/data/user/0/org.tribler.android/files/lib/python2.7/site-packages/twisted/internet/defer.py", line 306, in addCallbacks
self._runCallbacks()
File "/data/user/0/org.tribler.android/files/lib/python2.7/site-packages/twisted/internet/defer.py", line 588, in _runCallbacks
current.result = callback(current.result, *args, **kw)
--- <exception caught here> ---
File "/data/user/0/org.tribler.android/files/lib/python2.7/site-packages/twisted/internet/base.py", line 430, in _continueFiring
callable(*args, **kwargs)
File "/data/user/0/org.tribler.android/files/tribler_plugin.py", line 93, in start_tribler
upgrader = self.session.prestart()
File "/data/user/0/org.tribler.android/files/lib/python2.7/site-packages/Tribler/Core/Session.py", line 192, in prestart
self.upgrader.run()
File "/data/user/0/org.tribler.android/files/lib/python2.7/site-packages/Tribler/Core/Upgrade/upgrade.py", line 39, in run
failed, has_to_upgrade = self.check_should_upgrade()
File "/data/user/0/org.tribler.android/files/lib/python2.7/site-packages/Tribler/dispersy/util.py", line 46, in helper
return blockingCallFromThread(reactor, func, *args, **kargs)
File "/data/user/0/org.tribler.android/files/lib/python2.7/site-packages/Tribler/dispersy/util.py", line 225, in blockingCallFromThread
return f(*args, **kwargs)
File "/data/user/0/org.tribler.android/files/lib/python2.7/site-packages/Tribler/Core/Upgrade/upgrade.py", line 97, in check_should_upgrade
self.notify_done()
File "/data/user/0/org.tribler.android/files/lib/python2.7/site-packages/Tribler/Core/Upgrade/upgrade.py", line 79, in notify_done
self.session.notifier.notify(NTFY_UPGRADER, NTFY_FINISHED, None)
File "/data/user/0/org.tribler.android/files/lib/python2.7/site-packages/Tribler/Core/CacheDB/Notifier.py", line 126, in notify
callInThreadPool(task, *args)
File "/data/user/0/org.tribler.android/files/lib/python2.7/site-packages/Tribler/Core/Utilities/twisted_utils.py", line 46, in callInThreadPool
if isInThreadPool():
File "/data/user/0/org.tribler.android/files/lib/python2.7/site-packages/Tribler/Core/Utilities/twisted_utils.py", line 56, in isInThreadPool
return current_thread() in reactor.threadpool.threads
exceptions.AttributeError: 'NoneType' object has no attribute 'threads'

# Fixed code
def isInThreadPool():
    """
    Check if we are currently on one of twisted threadpool threads.
    """
    return bool(reactor.threadpool) and current_thread() in reactor.threadpool.threads
# Buggy code
def set_enable_mining(self, source, mining_bool=True, force_restart=False):
    """
    Dynamically enable/disable mining source.
    """
    for ihash, tor in self.torrents.iteritems():
        if tor["source"] == source_to_string(source):
            self.torrents[ihash]["enabled"] = mining_bool

            # pause torrent download from disabled source
            if not mining_bool:
                self.stop_download(tor)

    self.boosting_sources[string_to_source(source)].enabled = mining_bool

    self._logger.info("Set mining source %s %s", source, mining_bool)

    if force_restart:
        self._select_torrent()


# Traceback (exceptions.RuntimeError)
test archive mode. Use diretory because easier to fetch torrent ... Unhandled error in Deferred:


Traceback (most recent call last):
File "/usr/local/lib/python2.7/site-packages/twisted/internet/base.py", line 1203, in mainLoop
self.runUntilCurrent()
File "/usr/local/lib/python2.7/site-packages/twisted/internet/base.py", line 825, in runUntilCurrent
call.func(*call.args, **call.kw)
File "/usr/local/lib/python2.7/site-packages/twisted/internet/task.py", line 168, in start
self()
File "/usr/local/lib/python2.7/site-packages/twisted/internet/task.py", line 213, in __call__
d = defer.maybeDeferred(self.f, *self.a, **self.kw)
--- <exception caught here> ---
File "/usr/local/lib/python2.7/site-packages/twisted/internet/defer.py", line 150, in maybeDeferred
result = f(*args, **kw)
File "/Users/tribler/Documents/workspace/workspace/GH_Tribler_PR_tests_mac/tribler/Tribler/Policies/BoostingManager.py", line 336, in _select_torrent
for infohash, torrent in self.torrents.iteritems():
exceptions.RuntimeError: dictionary changed size during iteration

# Fixed code
def set_enable_mining(self, source, mining_bool=True, force_restart=False):
    """
    Dynamically enable/disable mining source.
    """
    for ihash in list(self.torrents):
        tor = self.torrents.get(ihash)
        if tor["source"] == source_to_string(source):
            self.torrents[ihash]["enabled"] = mining_bool

            # pause torrent download from disabled source
            if not mining_bool:
                self.stop_download(tor)

    self.boosting_sources[string_to_source(source)].enabled = mining_bool

    self._logger.info("Set mining source %s %s", source, mining_bool)

    if force_restart:
        self._select_torrent()
# Buggy code
def set_nickname(self, value):
    """The nickname you want to show to others.
    @param value A Unicode string.
    """
    self.sessconfig.set("general", "nickname", value)


# Traceback (UnicodeDecodeError)
Tribler 6.5.1 also has the same problem of 6.5.0.

I have a laptop and a desktop. I tested to install and run Tribler 6.5.1 on my computers.

64bit Korean Windows 7 were installed to my laptop and desktop. My laptop has an English computer name and my desktop has a Korean computer name.(Computer Name of Windows)

English Computer Name and English User Name: OK
English Computer Name and Korean User Name: Not run without an error message.
Korean Computer Name and English User Name or Korean User Name: Not run with an error message.

I could install and run Tribler 6.5.1 on my English user name account of my laptop. I could install it on my Korean user name account of my laptop, but it couldn't run on my Korean user name account without any error messages.

I could install Tribler 6.5.1 on my English and Korean user name accounts of my desktop, but it couldn't run with an error message, "tribler.exe.log".

Traceback (most recent call last):
File "Tribler\Main\tribler_main.pyo", line 1067, in run
File "Tribler\Main\tribler_main.pyo", line 147, in init
File "Tribler\Main\tribler_main.pyo", line 384, in InitStage1
File "Tribler\Core\Session.pyo", line 104, in init
UnicodeDecodeError: 'ascii' codec can't decode byte 0xb0 in position 0: ordinal not in range(128)

I could install and run Tribler 6.5.0 on my English user name account of my laptop. Tribler 6.5.0 could be installed but couldn't run on my Korean user name account of my desktop. I tested just two situations when I used Tribler 6.5.0, so I'm not sure the problem is same to 6.5.1. But I added "tribler.exe.log" message to this post, so you can find the problem.

And actually Tribler 6.5.1 runs on my Korean user name and English computer name laptop just for 0.1 second! But it turns off very shortly!

# Fixed code
def set_nickname(self, value):
    """The nickname you want to show to others.
    @param value A Unicode string.
    """
    # TODO(emilon): ugly hack to work around the fact that Tribler's config
    # system is really, really bad and can't deal with unicode strings by
    # itself. Fixing that at the ConfigParser level would break too many
    # things, so let's stick with this until we can throw the whole thing
    # away and use ConfigObj instead.
    self.sessconfig.set("general", "nickname", '"%s"' % value.strip('"'))
# Buggy code
def get_nickname(self):
    """Returns the set nickname.
    @return A Unicode string."""
    return unicode(self.sessconfig.get("general", "nickname"))


# Traceback (UnicodeDecodeError)
Tribler 6.5.1 also has the same problem of 6.5.0.

I have a laptop and a desktop. I tested to install and run Tribler 6.5.1 on my computers.

64bit Korean Windows 7 were installed to my laptop and desktop. My laptop has an English computer name and my desktop has a Korean computer name.(Computer Name of Windows)

English Computer Name and English User Name: OK
English Computer Name and Korean User Name: Not run without an error message.
Korean Computer Name and English User Name or Korean User Name: Not run with an error message.

I could install and run Tribler 6.5.1 on my English user name account of my laptop. I could install it on my Korean user name account of my laptop, but it couldn't run on my Korean user name account without any error messages.

I could install Tribler 6.5.1 on my English and Korean user name accounts of my desktop, but it couldn't run with an error message, "tribler.exe.log".

Traceback (most recent call last):
File "Tribler\Main\tribler_main.pyo", line 1067, in run
File "Tribler\Main\tribler_main.pyo", line 147, in init
File "Tribler\Main\tribler_main.pyo", line 384, in InitStage1
File "Tribler\Core\Session.pyo", line 104, in init
UnicodeDecodeError: 'ascii' codec can't decode byte 0xb0 in position 0: ordinal not in range(128)

I could install and run Tribler 6.5.0 on my English user name account of my laptop. Tribler 6.5.0 could be installed but couldn't run on my Korean user name account of my desktop. I tested just two situations when I used Tribler 6.5.0, so I'm not sure the problem is same to 6.5.1. But I added "tribler.exe.log" message to this post, so you can find the problem.

And actually Tribler 6.5.1 runs on my Korean user name and English computer name laptop just for 0.1 second! But it turns off very shortly!

# Fixed code
def get_nickname(self):
    """Returns the set nickname.
    @return A Unicode string."""
    return self.sessconfig.get("general", "nickname")
# Buggy code
def get(self, section, option, literal_eval=True):
    with self.lock:
        value = (
            RawConfigParser.get(self, section, option)
            if RawConfigParser.has_option(self, section, option)
            else None
        )
        if literal_eval:
            try:
                value = ast.literal_eval(value)
            except:
                pass
        return value


# Traceback (UnicodeDecodeError)
Tribler 6.5.1 also has the same problem of 6.5.0.

I have a laptop and a desktop. I tested to install and run Tribler 6.5.1 on my computers.

64bit Korean Windows 7 were installed to my laptop and desktop. My laptop has an English computer name and my desktop has a Korean computer name.(Computer Name of Windows)

English Computer Name and English User Name: OK
English Computer Name and Korean User Name: Not run without an error message.
Korean Computer Name and English User Name or Korean User Name: Not run with an error message.

I could install and run Tribler 6.5.1 on my English user name account of my laptop. I could install it on my Korean user name account of my laptop, but it couldn't run on my Korean user name account without any error messages.

I could install Tribler 6.5.1 on my English and Korean user name accounts of my desktop, but it couldn't run with an error message, "tribler.exe.log".

Traceback (most recent call last):
File "Tribler\Main\tribler_main.pyo", line 1067, in run
File "Tribler\Main\tribler_main.pyo", line 147, in init
File "Tribler\Main\tribler_main.pyo", line 384, in InitStage1
File "Tribler\Core\Session.pyo", line 104, in init
UnicodeDecodeError: 'ascii' codec can't decode byte 0xb0 in position 0: ordinal not in range(128)

I could install and run Tribler 6.5.0 on my English user name account of my laptop. Tribler 6.5.0 could be installed but couldn't run on my Korean user name account of my desktop. I tested just two situations when I used Tribler 6.5.0, so I'm not sure the problem is same to 6.5.1. But I added "tribler.exe.log" message to this post, so you can find the problem.

And actually Tribler 6.5.1 runs on my Korean user name and English computer name laptop just for 0.1 second! But it turns off very shortly!

# Fixed code
def get(self, section, option, literal_eval=True):
    with self.lock:
        value = (
            RawConfigParser.get(self, section, option)
            if RawConfigParser.has_option(self, section, option)
            else None
        )
        if literal_eval:
            try:
                value = ast.literal_eval(value)
            except:
                pass
        if isinstance(value, str):
            value = value.decode("utf-8")
        return value
# Buggy code
def __init__(self, *args, **kwargs):
    RawConfigParser.__init__(self, *args, **kwargs)
    self.callback = None
    self.lock = RLock()


# Traceback (KeyError)
h264 @ 0x7fbfbc0c2020] Missing reference picture
[h264 @ 0x7fbfbc11cb60] mmco: unref short failure
Traceback (most recent call last):
File "/home/pouwelse/GIT-pulls/tribler/Tribler/Main/vwxGUI/TopSearchPanel.py", line 158, in OnSettings
self.guiutility.ShowPage('settings')
File "/home/pouwelse/GIT-pulls/tribler/Tribler/Main/vwxGUI/__init__.py", line 128, in invoke_func
func(*args, **kwargs)
File "/home/pouwelse/GIT-pulls/tribler/Tribler/Main/vwxGUI/GuiUtility.py", line 114, in ShowPage
dialog = SettingsDialog()
File "/home/pouwelse/GIT-pulls/tribler/Tribler/Main/vwxGUI/settingsDialog.py", line 91, in __init__
self._seeding_panel, self._seeding_id = self.__create_s4(tree_root, hsizer)
File "/home/pouwelse/GIT-pulls/tribler/Tribler/Main/vwxGUI/settingsDialog.py", line 653, in __create_s4
radios[seeding_mode].SetValue(True)
KeyError: None

# Fixed code
def __init__(self, *args, **kwargs):
    RawConfigParser.__init__(self, *args, **kwargs)
    self.filename = None
    self.callback = None
    self.lock = RLock()
# Buggy code
def read_file(self, filename, encoding="utf-8"):
    with codecs.open(filename, "rb", encoding) as fp:
        self.readfp(fp)


# Traceback (KeyError)
h264 @ 0x7fbfbc0c2020] Missing reference picture
[h264 @ 0x7fbfbc11cb60] mmco: unref short failure
Traceback (most recent call last):
File "/home/pouwelse/GIT-pulls/tribler/Tribler/Main/vwxGUI/TopSearchPanel.py", line 158, in OnSettings
self.guiutility.ShowPage('settings')
File "/home/pouwelse/GIT-pulls/tribler/Tribler/Main/vwxGUI/__init__.py", line 128, in invoke_func
func(*args, **kwargs)
File "/home/pouwelse/GIT-pulls/tribler/Tribler/Main/vwxGUI/GuiUtility.py", line 114, in ShowPage
dialog = SettingsDialog()
File "/home/pouwelse/GIT-pulls/tribler/Tribler/Main/vwxGUI/settingsDialog.py", line 91, in __init__
self._seeding_panel, self._seeding_id = self.__create_s4(tree_root, hsizer)
File "/home/pouwelse/GIT-pulls/tribler/Tribler/Main/vwxGUI/settingsDialog.py", line 653, in __create_s4
radios[seeding_mode].SetValue(True)
KeyError: None

# Fixed code
def read_file(self, filename, encoding="utf-8"):
    self.filename = filename
    with codecs.open(filename, "rb", encoding) as fp:
        self.readfp(fp)
# Buggy code
def write_file(self, filename, encoding="utf-8"):
    with codecs.open(filename, "wb", encoding) as fp:
        self.write(fp)


# Traceback (KeyError)
h264 @ 0x7fbfbc0c2020] Missing reference picture
[h264 @ 0x7fbfbc11cb60] mmco: unref short failure
Traceback (most recent call last):
File "/home/pouwelse/GIT-pulls/tribler/Tribler/Main/vwxGUI/TopSearchPanel.py", line 158, in OnSettings
self.guiutility.ShowPage('settings')
File "/home/pouwelse/GIT-pulls/tribler/Tribler/Main/vwxGUI/__init__.py", line 128, in invoke_func
func(*args, **kwargs)
File "/home/pouwelse/GIT-pulls/tribler/Tribler/Main/vwxGUI/GuiUtility.py", line 114, in ShowPage
dialog = SettingsDialog()
File "/home/pouwelse/GIT-pulls/tribler/Tribler/Main/vwxGUI/settingsDialog.py", line 91, in __init__
self._seeding_panel, self._seeding_id = self.__create_s4(tree_root, hsizer)
File "/home/pouwelse/GIT-pulls/tribler/Tribler/Main/vwxGUI/settingsDialog.py", line 653, in __create_s4
radios[seeding_mode].SetValue(True)
KeyError: None

# Fixed code
def write_file(self, filename=None, encoding="utf-8"):
    if not filename:
        filename = self.filename

    with codecs.open(filename, "wb", encoding) as fp:
        self.write(fp)
# Buggy code
def session_getstate_usercallback_target():
    when, getpeerlist = usercallback(ds)
    if when > 0.0:
        # Schedule next invocation, either on general or DL specific
        self.session.lm.threadpool.add_task(
            lambda: self.network_get_state(usercallback, getpeerlist), when
        )


# Traceback (exceptions.AttributeError)
test_normal_torrent (Tribler.Test.API.test_seeding.TestSeeding) ... Unhandled Error
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 783, in __bootstrap
self.__bootstrap_inner()
File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner
self.run()
File "/usr/lib/python2.7/threading.py", line 763, in run
self.__target(*self.__args, **self.__kwargs)
--- <exception caught here> ---
File "/usr/lib/python2.7/dist-packages/twisted/python/threadpool.py", line 191, in _worker
result = context.call(ctx, function, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/twisted/python/context.py", line 118, in callWithContext
return self.currentContext().callWithContext(ctx, func, *args, **kw)
File "/usr/lib/python2.7/dist-packages/twisted/python/context.py", line 81, in callWithContext
return func(*args,**kw)
File "/home/jenkins/workspace/GH_Tribler_pull-request-tester-turbo-isolated_devel/tribler/Tribler/Core/Libtorrent/LibtorrentDownloadImpl.py", line 839, in session_getstate_usercallback_target
self.session.lm.threadpool.add_task(lambda: self.network_get_state(usercallback, getpeerlist), when)
exceptions.AttributeError: 'NoneType' object has no attribute 'add_task'
ok

# Fixed code
def session_getstate_usercallback_target():
    when, getpeerlist = usercallback(ds)
    if when > 0.0 and self.session.lm.threadpool:
        # Schedule next invocation, either on general or DL specific
        self.session.lm.threadpool.add_task(
            lambda: self.network_get_state(usercallback, getpeerlist), when
        )
# Buggy code
def delayed_call(delay, task_name):
    self.register_task(
        task_name, self._reactor.callLater(delay, reactor.callInThread, wrapper)
    )


# Traceback (exceptions.AssertionError)
ERROR   1435578237.91 tunnel_community:1091  Got ping from {95.211.198.140:21004} (not responding)
ERROR   1435578237.95 tunnel_community:1091  Got ping from {145.94.62.234:7759} (not responding)
ERROR   1435578238.59             log:455   Unhandled Error
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 763, in run
self.__target(*self.__args, **self.__kwargs)
File "/home/pouwelse/GITHUB/tribler/Tribler/Core/Utilities/twisted_thread.py", line 55, in _reactor_runner
reactor.run(installSignalHandlers=False)
File "/usr/lib/python2.7/dist-packages/twisted/internet/base.py", line 1192, in run
self.mainLoop()
File "/usr/lib/python2.7/dist-packages/twisted/internet/base.py", line 1201, in mainLoop
self.runUntilCurrent()
--- <exception caught here> ---
File "/usr/lib/python2.7/dist-packages/twisted/internet/base.py", line 797, in runUntilCurrent
f(*a, **kw)
File "/home/pouwelse/GITHUB/tribler/Tribler/Core/APIImplementation/threadpoolmanager.py", line 29, in <lambda>
reactor.callFromThread(lambda: self.register_task(task_name, self._reactor.callLater(delay, wrapper)))
File "/home/pouwelse/GITHUB/tribler/Tribler/dispersy/taskmanager.py", line 36, in register_task
assert not self.is_pending_task_active(name), name
exceptions.AssertionError: threadpool_manager 486

Unhandled Error
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 763, in run
self.__target(*self.__args, **self.__kwargs)
File "/home/pouwelse/GITHUB/tribler/Tribler/Core/Utilities/twisted_thread.py", line 55, in _reactor_runner
reactor.run(installSignalHandlers=False)
File "/usr/lib/python2.7/dist-packages/twisted/internet/base.py", line 1192, in run
self.mainLoop()
File "/usr/lib/python2.7/dist-packages/twisted/internet/base.py", line 1201, in mainLoop
self.runUntilCurrent()
--- <exception caught here> ---
File "/usr/lib/python2.7/dist-packages/twisted/internet/base.py", line 797, in runUntilCurrent
f(*a, **kw)
File "/home/pouwelse/GITHUB/tribler/Tribler/Core/APIImplementation/threadpoolmanager.py", line 29, in <lambda>
reactor.callFromThread(lambda: self.register_task(task_name, self._reactor.callLater(delay, wrapper)))
File "/home/pouwelse/GITHUB/tribler/Tribler/dispersy/taskmanager.py", line 36, in register_task
assert not self.is_pending_task_active(name), name
exceptions.AssertionError: threadpool_manager 486
ERROR   1435578252.92 tunnel_community:1091  Got ping from {145.94.62.234:7759} (not responding)
ERROR   1435578252.98 tunnel_community:1091  Got ping from {95.211.198.140:21004} (not responding)

# Fixed code
def delayed_call(delay, task_name):
    self.register_task(
        self._check_task_name(task_name),
        self._reactor.callLater(delay, reactor.callInThread, wrapper),
    )
# Buggy code
def _read_forever(self):
    try:
        while True:
            self._receive_packet(self._read_single())
    except KeyboardInterrupt:
        pass
    except Exception:  # connection reset by peer
        log.exception(
            "Exception while reading packet from site, will not attempt to reconnect! Quitting judge."
        )
        raise SystemExit(1)


# Traceback (ssl.SSLZeroReturnError)
INFO 2020-08-04 18:23:16,382 54 packet Dropping old connection.
INFO 2020-08-04 18:23:17,020 54 judge   Test case 102 AC [2.150s (2.151s) | 10716kb]
INFO 2020-08-04 18:23:18,600 54 judge   Test case 103 AC [1.568s (1.569s) | 10764kb]
ERROR 2020-08-04 18:23:18,812 54 packet Exception while sending packet to site, will not attempt to reconnect! Quitting judge.
Traceback (most recent call last):
File "/judge/dmoj/packet.py", line 241, in _send_packet
self.output.writelines((PacketManager.SIZE_PACK.pack(len(raw)), raw))
File "/usr/lib/python3.8/socket.py", line 687, in write
return self._sock.send(b)
File "/usr/lib/python3.8/ssl.py", line 1173, in send
return self._sslobj.write(data)
ssl.SSLZeroReturnError: TLS/SSL connection has been closed (EOF) (_ssl.c:2472)
INFO 2020-08-04 18:23:19,665 54 judge   Test case 104 AC [1.058s (1.059s) | 10788kb]
INFO 2020-08-04 18:23:22,555 54 judge   Test case 105 AC [2.883s (2.884s) | 10856kb]
INFO 2020-08-04 18:23:24,904 54 judge   Test case 106 AC [2.342s (2.343s) | 10696kb]
INFO 2020-08-04 18:23:26,484 54 judge   Test case 107 AC [1.572s (1.573s) | 10692kb]

# Fixed code
def _read_forever(self):
    try:
        while True:
            self._receive_packet(self._read_single())
    except KeyboardInterrupt:
        pass
    except Exception:  # connection reset by peer
        log.exception(
            "Exception while reading packet from site, will not attempt to reconnect! Quitting judge."
        )
        # TODO(tbrindus): this is really sad. This isn't equivalent to `raise SystemExit(1)` since we're not on the
        # main thread, and doing the latter would only exit the network thread. We should fix mid-grading reconnects
        # so that we don't need this sledgehammer approach that relies on Docker restarting the judge for us.
        os._exit(1)
# Buggy code
def _send_packet(self, packet: dict):
    for k, v in packet.items():
        if isinstance(v, bytes):
            # Make sure we don't have any garbage utf-8 from e.g. weird compilers
            # *cough* fpc *cough* that could cause this routine to crash
            # We cannot use utf8text because it may not be text.
            packet[k] = v.decode("utf-8", "replace")

    raw = zlib.compress(utf8bytes(json.dumps(packet)))
    with self._lock:
        try:
            self.output.writelines((PacketManager.SIZE_PACK.pack(len(raw)), raw))
        except Exception:  # connection reset by peer
            log.exception(
                "Exception while sending packet to site, will not attempt to reconnect! Quitting judge."
            )
            raise SystemExit(1)


# Traceback (ssl.SSLZeroReturnError)
INFO 2020-08-04 18:23:16,382 54 packet Dropping old connection.
INFO 2020-08-04 18:23:17,020 54 judge   Test case 102 AC [2.150s (2.151s) | 10716kb]
INFO 2020-08-04 18:23:18,600 54 judge   Test case 103 AC [1.568s (1.569s) | 10764kb]
ERROR 2020-08-04 18:23:18,812 54 packet Exception while sending packet to site, will not attempt to reconnect! Quitting judge.
Traceback (most recent call last):
File "/judge/dmoj/packet.py", line 241, in _send_packet
self.output.writelines((PacketManager.SIZE_PACK.pack(len(raw)), raw))
File "/usr/lib/python3.8/socket.py", line 687, in write
return self._sock.send(b)
File "/usr/lib/python3.8/ssl.py", line 1173, in send
return self._sslobj.write(data)
ssl.SSLZeroReturnError: TLS/SSL connection has been closed (EOF) (_ssl.c:2472)
INFO 2020-08-04 18:23:19,665 54 judge   Test case 104 AC [1.058s (1.059s) | 10788kb]
INFO 2020-08-04 18:23:22,555 54 judge   Test case 105 AC [2.883s (2.884s) | 10856kb]
INFO 2020-08-04 18:23:24,904 54 judge   Test case 106 AC [2.342s (2.343s) | 10696kb]
INFO 2020-08-04 18:23:26,484 54 judge   Test case 107 AC [1.572s (1.573s) | 10692kb]

# Fixed code
def _send_packet(self, packet: dict):
    for k, v in packet.items():
        if isinstance(v, bytes):
            # Make sure we don't have any garbage utf-8 from e.g. weird compilers
            # *cough* fpc *cough* that could cause this routine to crash
            # We cannot use utf8text because it may not be text.
            packet[k] = v.decode("utf-8", "replace")

    raw = zlib.compress(utf8bytes(json.dumps(packet)))
    with self._lock:
        try:
            self.output.writelines((PacketManager.SIZE_PACK.pack(len(raw)), raw))
        except Exception:  # connection reset by peer
            log.exception(
                "Exception while sending packet to site, will not attempt to reconnect! Quitting judge."
            )
            os._exit(1)
# Buggy code
def _abbreviate(self, s, n=5):
    if len(s) > n:
        return s[:n] + "..."
    return s


# Traceback (TypeError)
Traceback (most recent call last):
File "/code/judge/dmoj/graders/custom.py", line 15, in grade
return self._grader.grade(case)
File "/code/judge/dmoj/graders/standard.py", line 66, in grade
self.update_feedback(check, error, process, result)
File "/code/judge/dmoj/graders/standard.py", line 83, in update_feedback
getattr(self.binary, 'get_feedback', lambda x, y, z: '')(error, result, process)))
File "/code/judge/dmoj/executors/java_executor.py", line 121, in get_feedback
if b'Error: Main method not found in class' in stderr:
TypeError: argument of type 'NoneType' is not iterable

# Fixed code
def _abbreviate(self, s, n=5):
    s = utf8text(s)
    if len(s) > n:
        return s[:n] + "..."
    return s
# Buggy code
def write(self, val):
    self.process.stdin.write(str(val))
    self.process.stdin.flush()


# Traceback (TypeError)
Traceback (most recent call last):
File "/code/judge/dmoj/graders/custom.py", line 15, in grade
return self._grader.grade(case)
File "/code/judge/dmoj/graders/standard.py", line 66, in grade
self.update_feedback(check, error, process, result)
File "/code/judge/dmoj/graders/standard.py", line 83, in update_feedback
getattr(self.binary, 'get_feedback', lambda x, y, z: '')(error, result, process)))
File "/code/judge/dmoj/executors/java_executor.py", line 121, in get_feedback
if b'Error: Main method not found in class' in stderr:
TypeError: argument of type 'NoneType' is not iterable

# Fixed code
def write(self, val):
    self.process.stdin.write(utf8bytes(str(val)))
    self.process.stdin.flush()
# Buggy code
def writeln(self, val):
    self.write(str(val) + "\n")


# Traceback (TypeError)
Traceback (most recent call last):
File "/code/judge/dmoj/graders/custom.py", line 15, in grade
return self._grader.grade(case)
File "/code/judge/dmoj/graders/standard.py", line 66, in grade
self.update_feedback(check, error, process, result)
File "/code/judge/dmoj/graders/standard.py", line 83, in update_feedback
getattr(self.binary, 'get_feedback', lambda x, y, z: '')(error, result, process)))
File "/code/judge/dmoj/executors/java_executor.py", line 121, in get_feedback
if b'Error: Main method not found in class' in stderr:
TypeError: argument of type 'NoneType' is not iterable

# Fixed code
def writeln(self, val):
    self.process.stdin.write(utf8bytes(str(val) + "\n"))
    self.process.stdin.flush()
# Buggy code
def close(self):
    for stream in [self.process.stdin, self.process.stdout, self.process.stderr]:
        stream.close()


# Traceback (TypeError)
Traceback (most recent call last):
File "/code/judge/dmoj/graders/custom.py", line 15, in grade
return self._grader.grade(case)
File "/code/judge/dmoj/graders/standard.py", line 66, in grade
self.update_feedback(check, error, process, result)
File "/code/judge/dmoj/graders/standard.py", line 83, in update_feedback
getattr(self.binary, 'get_feedback', lambda x, y, z: '')(error, result, process)))
File "/code/judge/dmoj/executors/java_executor.py", line 121, in get_feedback
if b'Error: Main method not found in class' in stderr:
TypeError: argument of type 'NoneType' is not iterable

# Fixed code
def close(self):
    self.process.stdin.close()
# Buggy code
def __init_streams(self, stdin, stdout, stderr):
    self.stdin = self.stdout = self.stderr = None

    if stdin == PIPE:
        self._child_stdin, self._stdin = os.pipe()
        self.stdin = os.fdopen(self._stdin, "w")
    elif isinstance(stdin, int):
        self._child_stdin, self._stdin = stdin, -1
    elif stdin is not None:
        self._child_stdin, self._stdin = stdin.fileno(), -1
    else:
        self._child_stdin = self._stdin = -1

    if stdout == PIPE:
        self._stdout, self._child_stdout = os.pipe()
        self.stdout = os.fdopen(self._stdout, "r")
    elif isinstance(stdout, int):
        self._stdout, self._child_stdout = -1, stdout
    elif stdout is not None:
        self._stdout, self._child_stdout = -1, stdout.fileno()
    else:
        self._stdout = self._child_stdout = -1

    if stderr == PIPE:
        self._stderr, self._child_stderr = os.pipe()
        self.stderr = os.fdopen(self._stderr, "r")
    elif isinstance(stderr, int):
        self._stderr, self._child_stderr = -1, stderr
    elif stderr is not None:
        self._stderr, self._child_stderr = -1, stderr.fileno()
    else:
        self._stderr = self._child_stderr = -1


# Traceback (TypeError)
Traceback (most recent call last):
File "/code/judge/dmoj/graders/custom.py", line 15, in grade
return self._grader.grade(case)
File "/code/judge/dmoj/graders/standard.py", line 66, in grade
self.update_feedback(check, error, process, result)
File "/code/judge/dmoj/graders/standard.py", line 83, in update_feedback
getattr(self.binary, 'get_feedback', lambda x, y, z: '')(error, result, process)))
File "/code/judge/dmoj/executors/java_executor.py", line 121, in get_feedback
if b'Error: Main method not found in class' in stderr:
TypeError: argument of type 'NoneType' is not iterable

# Fixed code
def __init_streams(self, stdin, stdout, stderr):
    self.stdin = self.stdout = self.stderr = None

    if stdin == PIPE:
        self._child_stdin, self._stdin = os.pipe()
        self.stdin = os.fdopen(self._stdin, "wb")
    elif isinstance(stdin, int):
        self._child_stdin, self._stdin = stdin, -1
    elif stdin is not None:
        self._child_stdin, self._stdin = stdin.fileno(), -1
    else:
        self._child_stdin = self._stdin = -1

    if stdout == PIPE:
        self._stdout, self._child_stdout = os.pipe()
        self.stdout = os.fdopen(self._stdout, "rb")
    elif isinstance(stdout, int):
        self._stdout, self._child_stdout = -1, stdout
    elif stdout is not None:
        self._stdout, self._child_stdout = -1, stdout.fileno()
    else:
        self._stdout = self._child_stdout = -1

    if stderr == PIPE:
        self._stderr, self._child_stderr = os.pipe()
        self.stderr = os.fdopen(self._stderr, "rb")
    elif isinstance(stderr, int):
        self._stderr, self._child_stderr = -1, stderr
    elif stderr is not None:
        self._stderr, self._child_stderr = -1, stderr.fileno()
    else:
        self._stderr = self._child_stderr = -1
# Buggy code
def _interact_with_process(self, case, result, input):
    interactor = Interactor(self._current_proc)
    self.check = False
    self.feedback = None
    try:
        self.check = self.interact(case, interactor)
        interactor.close()
    except WrongAnswer as wa:
        self.feedback = str(wa)
    except IOError:
        pass

    self._current_proc.wait()


# Traceback (TypeError)
Traceback (most recent call last):
File "/code/judge/dmoj/graders/custom.py", line 15, in grade
return self._grader.grade(case)
File "/code/judge/dmoj/graders/standard.py", line 66, in grade
self.update_feedback(check, error, process, result)
File "/code/judge/dmoj/graders/standard.py", line 83, in update_feedback
getattr(self.binary, 'get_feedback', lambda x, y, z: '')(error, result, process)))
File "/code/judge/dmoj/executors/java_executor.py", line 121, in get_feedback
if b'Error: Main method not found in class' in stderr:
TypeError: argument of type 'NoneType' is not iterable

# Fixed code
def _interact_with_process(self, case, result, input):
    interactor = Interactor(self._current_proc)
    self.check = False
    self.feedback = None
    try:
        self.check = self.interact(case, interactor)
        interactor.close()
    except WrongAnswer as wa:
        self.feedback = str(wa)
    except IOError:
        pass

    self._current_proc.wait()
    return self._current_proc.stderr.read()
# Buggy code
def run(self):
    """Start the primary Qt event loop for the interface"""

    res = self.exec_()

    try:
        from classes.logger import log

        self.settings.save()
    except Exception:
        log.error("Couldn't save user settings on exit.", exc_info=1)

    # return exit result
    return res


# Traceback (TypeError)
Loaded modules from: /home/chiller/Desktop/git-extern/openshot-qt/src
app:INFO ------------------------------------------------
app:INFO             Wed Aug 26 17:21:17 2020
app:INFO               Starting new session
app:INFO ------------------------------------------------
app:INFO          OpenShot (version 2.5.1-dev2)
app:INFO ------------------------------------------------
app:INFO openshot-qt version: 2.5.1-dev2
app:INFO libopenshot version: 0.2.5-dev2
app:INFO platform: Linux-4.19.0-10-amd64-x86_64-with-debian-10.5
app:INFO processor:
app:INFO machine: x86_64
app:INFO python version: 3.7.3
app:INFO qt5 version: 5.11.3
app:INFO pyqt5 version: 5.11.3
language:INFO Qt Detected Languages: ['en-US']
language:INFO LANG Environment Variable: en_US.UTF-8
language:INFO LOCALE Environment Variable:
language:INFO OpenShot Preference Language: Default
project_data:INFO Setting default profile to HD 720p 30 fps
app:INFO Setting font to /home/chiller/Desktop/git-extern/openshot-qt/src/images/fonts/Ubuntu-R.ttf
logger_libopenshot:INFO Connecting to libopenshot with debug port: 5556
app:INFO Setting custom dark theme
exceptions:ERROR Unhandled Exception
Traceback (most recent call last):
File "src/launch.py", line 143, in <module>
main()
File "src/launch.py", line 136, in main
app = OpenShotApp(argv)
File "/home/chiller/Desktop/git-extern/openshot-qt/src/classes/app.py", line 242, in __init__
from windows.main_window import MainWindow
File "/home/chiller/Desktop/git-extern/openshot-qt/src/windows/main_window.py", line 45, in <module>
from windows.views.timeline_webview import TimelineWebView
File "/home/chiller/Desktop/git-extern/openshot-qt/src/windows/views/timeline_webview.py", line 154, in <module>
class TimelineWebView(TimelineMixin, updates.UpdateInterface):
TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases

# Fixed code
def run(self):
    """Start the primary Qt event loop for the interface"""
    return self.exec_()
# Buggy code
def get_settings():
    """Get the current QApplication's settings instance"""
    return QCoreApplication.instance().settings


# Traceback (TypeError)
Loaded modules from: /home/chiller/Desktop/git-extern/openshot-qt/src
app:INFO ------------------------------------------------
app:INFO             Wed Aug 26 17:21:17 2020
app:INFO               Starting new session
app:INFO ------------------------------------------------
app:INFO          OpenShot (version 2.5.1-dev2)
app:INFO ------------------------------------------------
app:INFO openshot-qt version: 2.5.1-dev2
app:INFO libopenshot version: 0.2.5-dev2
app:INFO platform: Linux-4.19.0-10-amd64-x86_64-with-debian-10.5
app:INFO processor:
app:INFO machine: x86_64
app:INFO python version: 3.7.3
app:INFO qt5 version: 5.11.3
app:INFO pyqt5 version: 5.11.3
language:INFO Qt Detected Languages: ['en-US']
language:INFO LANG Environment Variable: en_US.UTF-8
language:INFO LOCALE Environment Variable:
language:INFO OpenShot Preference Language: Default
project_data:INFO Setting default profile to HD 720p 30 fps
app:INFO Setting font to /home/chiller/Desktop/git-extern/openshot-qt/src/images/fonts/Ubuntu-R.ttf
logger_libopenshot:INFO Connecting to libopenshot with debug port: 5556
app:INFO Setting custom dark theme
exceptions:ERROR Unhandled Exception
Traceback (most recent call last):
File "src/launch.py", line 143, in <module>
main()
File "src/launch.py", line 136, in main
app = OpenShotApp(argv)
File "/home/chiller/Desktop/git-extern/openshot-qt/src/classes/app.py", line 242, in __init__
from windows.main_window import MainWindow
File "/home/chiller/Desktop/git-extern/openshot-qt/src/windows/main_window.py", line 45, in <module>
from windows.views.timeline_webview import TimelineWebView
File "/home/chiller/Desktop/git-extern/openshot-qt/src/windows/views/timeline_webview.py", line 154, in <module>
class TimelineWebView(TimelineMixin, updates.UpdateInterface):
TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases

# Fixed code
def get_settings():
    """Get the current application's settings instance"""
    return SettingStore.get_app().settings
# Buggy code
def __init__(self):
    JsonDataStore.__init__(self)
    # Set the data type name for logging clarity (base class functions use this variable)
    self.data_type = "user settings"
    self.settings_filename = "openshot.settings"
    self.default_settings_filename = os.path.join(
        info.PATH, "settings", "_default.settings"
    )


# Traceback (TypeError)
Loaded modules from: /home/chiller/Desktop/git-extern/openshot-qt/src
app:INFO ------------------------------------------------
app:INFO             Wed Aug 26 17:21:17 2020
app:INFO               Starting new session
app:INFO ------------------------------------------------
app:INFO          OpenShot (version 2.5.1-dev2)
app:INFO ------------------------------------------------
app:INFO openshot-qt version: 2.5.1-dev2
app:INFO libopenshot version: 0.2.5-dev2
app:INFO platform: Linux-4.19.0-10-amd64-x86_64-with-debian-10.5
app:INFO processor:
app:INFO machine: x86_64
app:INFO python version: 3.7.3
app:INFO qt5 version: 5.11.3
app:INFO pyqt5 version: 5.11.3
language:INFO Qt Detected Languages: ['en-US']
language:INFO LANG Environment Variable: en_US.UTF-8
language:INFO LOCALE Environment Variable:
language:INFO OpenShot Preference Language: Default
project_data:INFO Setting default profile to HD 720p 30 fps
app:INFO Setting font to /home/chiller/Desktop/git-extern/openshot-qt/src/images/fonts/Ubuntu-R.ttf
logger_libopenshot:INFO Connecting to libopenshot with debug port: 5556
app:INFO Setting custom dark theme
exceptions:ERROR Unhandled Exception
Traceback (most recent call last):
File "src/launch.py", line 143, in <module>
main()
File "src/launch.py", line 136, in main
app = OpenShotApp(argv)
File "/home/chiller/Desktop/git-extern/openshot-qt/src/classes/app.py", line 242, in __init__
from windows.main_window import MainWindow
File "/home/chiller/Desktop/git-extern/openshot-qt/src/windows/main_window.py", line 45, in <module>
from windows.views.timeline_webview import TimelineWebView
File "/home/chiller/Desktop/git-extern/openshot-qt/src/windows/views/timeline_webview.py", line 154, in <module>
class TimelineWebView(TimelineMixin, updates.UpdateInterface):
TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases

# Fixed code
def __init__(self, parent=None):
    super().__init__()
    # Also keep track of our parent, if defined
    if parent:
        SettingStore.save_app(parent)
    # Set the data type name for logging clarity (base class functions use this variable)
    self.data_type = "user settings"
    self.settings_filename = "openshot.settings"
    self.default_settings_filename = os.path.join(
        info.PATH, "settings", "_default.settings"
    )
# Buggy code
def run(self):
    self.running = True

    # Start listening for HTTP requests (and check for shutdown every 0.5 seconds)
    self.server_address = ("127.0.0.1", self.find_free_port())
    self.thumbServer = httpThumbnailServer(self.server_address, httpThumbnailHandler)
    self.thumbServer.daemon_threads = True
    self.thumbServer.serve_forever(0.5)


# Traceback (TypeError)
Loaded modules from: /home/chiller/Desktop/git-extern/openshot-qt/src
app:INFO ------------------------------------------------
app:INFO             Wed Aug 26 17:21:17 2020
app:INFO               Starting new session
app:INFO ------------------------------------------------
app:INFO          OpenShot (version 2.5.1-dev2)
app:INFO ------------------------------------------------
app:INFO openshot-qt version: 2.5.1-dev2
app:INFO libopenshot version: 0.2.5-dev2
app:INFO platform: Linux-4.19.0-10-amd64-x86_64-with-debian-10.5
app:INFO processor:
app:INFO machine: x86_64
app:INFO python version: 3.7.3
app:INFO qt5 version: 5.11.3
app:INFO pyqt5 version: 5.11.3
language:INFO Qt Detected Languages: ['en-US']
language:INFO LANG Environment Variable: en_US.UTF-8
language:INFO LOCALE Environment Variable:
language:INFO OpenShot Preference Language: Default
project_data:INFO Setting default profile to HD 720p 30 fps
app:INFO Setting font to /home/chiller/Desktop/git-extern/openshot-qt/src/images/fonts/Ubuntu-R.ttf
logger_libopenshot:INFO Connecting to libopenshot with debug port: 5556
app:INFO Setting custom dark theme
exceptions:ERROR Unhandled Exception
Traceback (most recent call last):
File "src/launch.py", line 143, in <module>
main()
File "src/launch.py", line 136, in main
app = OpenShotApp(argv)
File "/home/chiller/Desktop/git-extern/openshot-qt/src/classes/app.py", line 242, in __init__
from windows.main_window import MainWindow
File "/home/chiller/Desktop/git-extern/openshot-qt/src/windows/main_window.py", line 45, in <module>
from windows.views.timeline_webview import TimelineWebView
File "/home/chiller/Desktop/git-extern/openshot-qt/src/windows/views/timeline_webview.py", line 154, in <module>
class TimelineWebView(TimelineMixin, updates.UpdateInterface):
TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases

# Fixed code
def run(self):
    self.running = True

    # Start listening for HTTP requests (and check for shutdown every 0.5 seconds)
    self.server_address = ("127.0.0.1", self.find_free_port())
    self.thumbServer = httpThumbnailServer(self.server_address, httpThumbnailHandler)
    self.thumbServer.daemon_threads = True
    log.info("Starting thumbnail server listening on port %d", self.server_address[1])
    self.thumbServer.serve_forever(0.5)
# Buggy code
def actionJumpStart_trigger(self, checked=True):
    log.info("actionJumpStart_trigger")

    # Seek to the 1st frame
    self.SeekSignal.emit(1)


# Traceback (TypeError)
Loaded modules from: /home/chiller/Desktop/git-extern/openshot-qt/src
app:INFO ------------------------------------------------
app:INFO             Wed Aug 26 17:21:17 2020
app:INFO               Starting new session
app:INFO ------------------------------------------------
app:INFO          OpenShot (version 2.5.1-dev2)
app:INFO ------------------------------------------------
app:INFO openshot-qt version: 2.5.1-dev2
app:INFO libopenshot version: 0.2.5-dev2
app:INFO platform: Linux-4.19.0-10-amd64-x86_64-with-debian-10.5
app:INFO processor:
app:INFO machine: x86_64
app:INFO python version: 3.7.3
app:INFO qt5 version: 5.11.3
app:INFO pyqt5 version: 5.11.3
language:INFO Qt Detected Languages: ['en-US']
language:INFO LANG Environment Variable: en_US.UTF-8
language:INFO LOCALE Environment Variable:
language:INFO OpenShot Preference Language: Default
project_data:INFO Setting default profile to HD 720p 30 fps
app:INFO Setting font to /home/chiller/Desktop/git-extern/openshot-qt/src/images/fonts/Ubuntu-R.ttf
logger_libopenshot:INFO Connecting to libopenshot with debug port: 5556
app:INFO Setting custom dark theme
exceptions:ERROR Unhandled Exception
Traceback (most recent call last):
File "src/launch.py", line 143, in <module>
main()
File "src/launch.py", line 136, in main
app = OpenShotApp(argv)
File "/home/chiller/Desktop/git-extern/openshot-qt/src/classes/app.py", line 242, in __init__
from windows.main_window import MainWindow
File "/home/chiller/Desktop/git-extern/openshot-qt/src/windows/main_window.py", line 45, in <module>
from windows.views.timeline_webview import TimelineWebView
File "/home/chiller/Desktop/git-extern/openshot-qt/src/windows/views/timeline_webview.py", line 154, in <module>
class TimelineWebView(TimelineMixin, updates.UpdateInterface):
TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases

# Fixed code
def actionJumpStart_trigger(self, checked=True):
    log.debug("actionJumpStart_trigger")

    # Seek to the 1st frame
    self.SeekSignal.emit(1)
# Buggy code
def actionJumpEnd_trigger(self, checked=True):
    log.info("actionJumpEnd_trigger")

    # Determine last frame (based on clips) & seek there
    max_frame = get_app().window.timeline_sync.timeline.GetMaxFrame()
    self.SeekSignal.emit(max_frame)


# Traceback (TypeError)
Loaded modules from: /home/chiller/Desktop/git-extern/openshot-qt/src
app:INFO ------------------------------------------------
app:INFO             Wed Aug 26 17:21:17 2020
app:INFO               Starting new session
app:INFO ------------------------------------------------
app:INFO          OpenShot (version 2.5.1-dev2)
app:INFO ------------------------------------------------
app:INFO openshot-qt version: 2.5.1-dev2
app:INFO libopenshot version: 0.2.5-dev2
app:INFO platform: Linux-4.19.0-10-amd64-x86_64-with-debian-10.5
app:INFO processor:
app:INFO machine: x86_64
app:INFO python version: 3.7.3
app:INFO qt5 version: 5.11.3
app:INFO pyqt5 version: 5.11.3
language:INFO Qt Detected Languages: ['en-US']
language:INFO LANG Environment Variable: en_US.UTF-8
language:INFO LOCALE Environment Variable:
language:INFO OpenShot Preference Language: Default
project_data:INFO Setting default profile to HD 720p 30 fps
app:INFO Setting font to /home/chiller/Desktop/git-extern/openshot-qt/src/images/fonts/Ubuntu-R.ttf
logger_libopenshot:INFO Connecting to libopenshot with debug port: 5556
app:INFO Setting custom dark theme
exceptions:ERROR Unhandled Exception
Traceback (most recent call last):
File "src/launch.py", line 143, in <module>
main()
File "src/launch.py", line 136, in main
app = OpenShotApp(argv)
File "/home/chiller/Desktop/git-extern/openshot-qt/src/classes/app.py", line 242, in __init__
from windows.main_window import MainWindow
File "/home/chiller/Desktop/git-extern/openshot-qt/src/windows/main_window.py", line 45, in <module>
from windows.views.timeline_webview import TimelineWebView
File "/home/chiller/Desktop/git-extern/openshot-qt/src/windows/views/timeline_webview.py", line 154, in <module>
class TimelineWebView(TimelineMixin, updates.UpdateInterface):
TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases

# Fixed code
def actionJumpEnd_trigger(self, checked=True):
    log.debug("actionJumpEnd_trigger")

    # Determine last frame (based on clips) & seek there
    max_frame = get_app().window.timeline_sync.timeline.GetMaxFrame()
    self.SeekSignal.emit(max_frame)