Bug 959811 - descendants of GLib.Source causes unpredictable behaviour
Summary: descendants of GLib.Source causes unpredictable behaviour
Keywords:
Status: CLOSED EOL
Alias: None
Product: Fedora
Classification: Fedora
Component: pygobject3
Version: 19
Hardware: i686
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: John (J5) Palmieri
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard: abrt_hash:9cde194fd075e647a02d7019318...
: 959781 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-05-05 23:57 UTC by alexa6moon
Modified: 2015-02-17 15:09 UTC (History)
4 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2015-02-17 15:09:56 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
File: backtrace (27.62 KB, text/plain)
2013-05-05 23:57 UTC, alexa6moon
no flags Details
File: cgroup (128 bytes, text/plain)
2013-05-05 23:57 UTC, alexa6moon
no flags Details
File: core_backtrace (6.59 KB, text/plain)
2013-05-05 23:58 UTC, alexa6moon
no flags Details
File: dso_list (13.27 KB, text/plain)
2013-05-05 23:58 UTC, alexa6moon
no flags Details
File: environ (1.31 KB, text/plain)
2013-05-05 23:58 UTC, alexa6moon
no flags Details
File: limits (1.29 KB, text/plain)
2013-05-05 23:58 UTC, alexa6moon
no flags Details
File: maps (38.64 KB, text/plain)
2013-05-05 23:58 UTC, alexa6moon
no flags Details
File: open_fds (561 bytes, text/plain)
2013-05-05 23:58 UTC, alexa6moon
no flags Details
File: proc_pid_status (768 bytes, text/plain)
2013-05-05 23:58 UTC, alexa6moon
no flags Details
File: var_log_messages (452 bytes, text/plain)
2013-05-05 23:58 UTC, alexa6moon
no flags Details
File: xsession_errors (948 bytes, text/plain)
2013-05-05 23:58 UTC, alexa6moon
no flags Details

Description alexa6moon 2013-05-05 23:57:53 UTC
Description of problem:
When I try open this http://www.youtube.com/watch?v=aV8H7kszXqo and wait to loading video midori-0.5.0 crashed I try do this cople time and also crashed

Version-Release number of selected component:
gnome-abrt-0.2.12-1.fc19

Additional info:
backtrace_rating: 4
cmdline:        python /usr/bin/gnome-abrt
crash_function: node_get_next
executable:     /usr/bin/python2.7
kernel:         3.9.0-301.fc19.i686.PAE
runlevel:       N 5
uid:            1000
ureports_counter: 1

Truncated backtrace:
Thread no. 1 (10 frames)
 #0 node_get_next at gsequence.c:1628
 #1 node_insert_sorted at gsequence.c:2004
 #2 g_sequence_sort_changed_iter at gsequence.c:963
 #3 gtk_list_store_sort_iter_changed at gtkliststore.c:2040
 #4 gtk_list_store_real_set_value at gtkliststore.c:881
 #5 gtk_list_store_set_value at gtkliststore.c:952
 #6 ffi_call_SYSV at ../src/x86/sysv.S:65
 #7 ffi_call at ../src/x86/ffi.c:411
 #8 g_callable_info_invoke at girepository/gicallableinfo.c:680
 #9 g_function_info_invoke at girepository/gifunctioninfo.c:274

Comment 1 alexa6moon 2013-05-05 23:57:57 UTC
Created attachment 743890 [details]
File: backtrace

Comment 2 alexa6moon 2013-05-05 23:57:59 UTC
Created attachment 743891 [details]
File: cgroup

Comment 3 alexa6moon 2013-05-05 23:58:01 UTC
Created attachment 743892 [details]
File: core_backtrace

Comment 4 alexa6moon 2013-05-05 23:58:04 UTC
Created attachment 743893 [details]
File: dso_list

Comment 5 alexa6moon 2013-05-05 23:58:06 UTC
Created attachment 743894 [details]
File: environ

Comment 6 alexa6moon 2013-05-05 23:58:08 UTC
Created attachment 743895 [details]
File: limits

Comment 7 alexa6moon 2013-05-05 23:58:10 UTC
Created attachment 743896 [details]
File: maps

Comment 8 alexa6moon 2013-05-05 23:58:13 UTC
Created attachment 743897 [details]
File: open_fds

Comment 9 alexa6moon 2013-05-05 23:58:15 UTC
Created attachment 743898 [details]
File: proc_pid_status

Comment 10 alexa6moon 2013-05-05 23:58:17 UTC
Created attachment 743899 [details]
File: var_log_messages

Comment 11 alexa6moon 2013-05-05 23:58:19 UTC
Created attachment 743900 [details]
File: xsession_errors

Comment 12 Jakub Filak 2013-05-06 11:36:11 UTC
Here is a GLib.Source descendant as it is implemented in gnome-abrt

class GetURLTitleThreadSource(GLib.Source):
    """Runs thread and waits until the thread does not return the url's title
    """

    #pylint: disable=W0613
    def __new__(cls, *args):
        return GLib.Source.__new__(cls)

    def __init__(self, url, readycallback, userdata):
        GLib.Source.__init__(self)

        self._queue = Queue()
        self._readycallback = readycallback
        self._userdata = userdata
        self._resolver = GetURLTitleThread(url, self._queue)
        self._resolver.start()

    def _is_ready(self):
        return not self._queue.empty()

    def prepare(self, *args):
        return (self._is_ready(), 10)

    def check(self, *args):
        return self._is_ready()

    def dispatch(self, *args):
        if not self._is_ready():
            raise RuntimeError("GetURLHTMLTitleThreadSource.dispatch()"
            " called but result is not ready yet, or already consumed.")

        # An attempty to destroy the resolver's thread ASAP
        self._resolver = None

        self._readycallback(self._queue.get(), self._userdata)

        # Destroy this source
        return False

    def finalize(self, *args):
        pass



And gnome-abrt produces the following output:
...
AttributeError: prepare
AttributeError: prepare
AttributeError: check
AttributeError: check
...
TypeError: check() takes exactly 3 arguments (1 given)
...
AttributeError: 'GetURLTitleThreadSource' object has no attribute _queue
...
Segmentation fault (core dumped)


The unpredictable behaviour was observed with:
glib2-2.36.1-2.fc19.x86_64
pygobject3-3.8.1-2.fc19.x86_64


However this implementation works fine with:
glib2-2.34.2-2.fc18.x86_64
pygobject3-3.4.2-6.fc18.x86_64

Comment 13 Jakub Filak 2013-05-06 11:37:58 UTC
*** Bug 959781 has been marked as a duplicate of this bug. ***

Comment 14 Jakub Filak 2013-05-15 10:50:00 UTC
I've found out the root cause of this bug. See bug #960637

Comment 15 Fedora End Of Life 2015-01-09 18:03:05 UTC
This message is a notice that Fedora 19 is now at end of life. Fedora 
has stopped maintaining and issuing updates for Fedora 19. It is 
Fedora's policy to close all bug reports from releases that are no 
longer maintained. Approximately 4 (four) weeks from now this bug will
be closed as EOL if it remains open with a Fedora 'version' of '19'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 19 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 16 Fedora End Of Life 2015-02-17 15:09:56 UTC
Fedora 19 changed to end-of-life (EOL) status on 2015-01-06. Fedora 19 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.


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