# Buggy code
def on_exception(self, *exc_info):
    # Stop the download loop
    self.downloads_page.stop_loading_downloads()

    # Add info about whether we are stopping Tribler or not
    os.environ["TRIBLER_SHUTTING_DOWN"] = str(self.core_manager.shutting_down)

    if not self.core_manager.shutting_down:
        self.core_manager.stop(stop_app_on_shutdown=False)

    self.setHidden(True)

    if self.debug_window:
        self.debug_window.setHidden(True)

    exception_text = "".join(traceback.format_exception(*exc_info))
    logging.error(exception_text)

    if not self.feedback_dialog_is_open:
        dialog = FeedbackDialog(
            self,
            exception_text,
            self.core_manager.events_manager.tribler_version,
            self.start_time,
        )
        self.feedback_dialog_is_open = True
        _ = dialog.exec_()


# Traceback (AssertionError)
Tuples differ: (2, ('127.0.0.1', [5, 4, 3, 2,... != (2, ('127.0.0.1', [5, 4, 3, 2,...

First differing element 2:
u'None'
''

- (2, ('127.0.0.1', [5, 4, 3, 2, 1]), u'None')
?                                     - ----

+ (2, ('127.0.0.1', [5, 4, 3, 2, 1]), '')
Stacktrace

Traceback (most recent call last):
File "c:\python27\lib\unittest\case.py", line 329, in run
testMethod()
File "C:\workspace\jenkins\workspace\GH_Tribler_PR_tests_win64\tribler\Tribler\Test\test_as_server.py", line 58, in check
result = fun(*argv, **kwargs)
File "C:\workspace\jenkins\workspace\GH_Tribler_PR_tests_win64\tribler\Tribler\Test\Core\Upgrade\test_config_upgrade_70_71.py", line 33, in test_read_test_libtribler_conf
self.assertEqual(result_config.get_anon_proxy_settings(), (2, ("127.0.0.1", [5, 4, 3, 2, 1]), ''))
File "c:\python27\lib\unittest\case.py", line 513, in assertEqual
assertion_func(first, second, msg=msg)
File "c:\python27\lib\unittest\case.py", line 753, in assertTupleEqual
self.assertSequenceEqual(tuple1, tuple2, msg, seq_type=tuple)
File "c:\python27\lib\unittest\case.py", line 724, in assertSequenceEqual
self.fail(msg)
File "c:\python27\lib\unittest\case.py", line 410, in fail
raise self.failureException(msg)
AssertionError: Tuples differ: (2, ('127.0.0.1', [5, 4, 3, 2,... != (2, ('127.0.0.1', [5, 4, 3, 2,...

First differing element 2:
u'None'
''

- (2, ('127.0.0.1', [5, 4, 3, 2, 1]), u'None')
?                                     - ----

+ (2, ('127.0.0.1', [5, 4, 3, 2, 1]), '')

# Fixed code
def on_exception(self, *exc_info):
    if self.tray_icon:
        self.tray_icon.deleteLater()

    # Stop the download loop
    self.downloads_page.stop_loading_downloads()

    # Add info about whether we are stopping Tribler or not
    os.environ["TRIBLER_SHUTTING_DOWN"] = str(self.core_manager.shutting_down)

    if not self.core_manager.shutting_down:
        self.core_manager.stop(stop_app_on_shutdown=False)

    self.setHidden(True)

    if self.debug_window:
        self.debug_window.setHidden(True)

    exception_text = "".join(traceback.format_exception(*exc_info))
    logging.error(exception_text)

    if not self.feedback_dialog_is_open:
        dialog = FeedbackDialog(
            self,
            exception_text,
            self.core_manager.events_manager.tribler_version,
            self.start_time,
        )
        self.feedback_dialog_is_open = True
        _ = dialog.exec_()