vinszent / gnome-twitch

Enjoy Twitch on your GNU/Linux desktop
http://gnome-twitch.vinszent.com
Other
440 stars 40 forks source link

Random segfaults during playback #274

Closed Nibbler999 closed 6 years ago

Nibbler999 commented 7 years ago
[20:38:02] Critical - GLib-GObject : g_object_ref: assertion 'G_IS_OBJECT (object)' failed
[20:38:02] Critical - GLib-GObject : g_object_ref: assertion 'G_IS_OBJECT (object)' failed

Thread 247 "pool" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffafde3700 (LWP 5601)]
0x00007ffff69fb947 in g_type_check_instance_is_fundamentally_a ()
   from /lib64/libgobject-2.0.so.0
(gdb) bt full
#0  0x00007ffff69fb947 in g_type_check_instance_is_fundamentally_a () at /lib64/libgobject-2.0.so.0
#1  0x00007ffff69da8e3 in g_object_ref () at /lib64/libgobject-2.0.so.0
#2  0x00007ffff60247b4 in soup_socket_set_property () at /lib64/libsoup-2.4.so.1
#3  0x00007ffff69db866 in g_object_new_internal () at /lib64/libgobject-2.0.so.0
#4  0x00007ffff69dd25d in g_object_new_valist () at /lib64/libgobject-2.0.so.0
#5  0x00007ffff6024cf8 in soup_socket_new () at /lib64/libsoup-2.4.so.1
#6  0x00007ffff5ffd282 in soup_connection_connect_sync () at /lib64/libsoup-2.4.so.1
#7  0x00007ffff6020eaa in soup_session_process_queue_item () at /lib64/libsoup-2.4.so.1
#8  0x00007ffff60215ce in soup_session_real_send_message () at /lib64/libsoup-2.4.so.1
#9  0x0000000000414f7d in new_send_message (self=0x89f520, msg=0x2b997f40, error=0x7fffafde2aa0) at ../src/gt-twitch.c:324
        __func__ = "new_send_message"
        priv = 0x89f500
        uri = 0x7fff8c53c090 "https://api.twitch.tv/kraken/streams/51766805"
#10 0x00000000004151be in new_send_message_json_with_version (self=0x89f520, msg=0x2b997f40, version=0x443cb0 "5", error=0x7fffafde2aa0) at ../src/gt-twitch.c:360
        __func__ = "new_send_message_json_with_version"
        ret = 0x0
        accept_header = 0x7fff8c42eed0 "application/vnd.twitchtv.v5+json"
#11 0x0000000000415312 in new_send_message_json (self=0x89f520, msg=0x2b997f40, error=0x7fffafde2aa0) at ../src/gt-twitch.c:395
#12 0x000000000041a031 in gt_twitch_fetch_channel_data (self=0x89f520, id=0x7fffa4357e50 "51766805", error=0x7fffafde2b00) at ../src/gt-twitch.c:1263
        __func__ = "gt_twitch_fetch_channel_data"
        msg = 0x2b997f40
        reader = 0x0
        uri = 0x7fff8c533c80 "https://api.twitch.tv/kraken/streams/51766805"
        err = 0x0
        ret = 0x0
#13 0x00000000004227ad in update_cb (data=0x120c230, udata=0x0) at ../src/gt-channel.c:374
        self = 0x120c230
        priv = 0x120c1e0
        err = 0x0
        chan_data = 0x7fffa802b9b0
#14 0x00007ffff6725e90 in g_thread_pool_thread_proxy () at /lib64/libglib-2.0.so.0
#15 0x00007ffff67254c6 in g_thread_proxy () at /lib64/libglib-2.0.so.0
#16 0x00007ffff304836d in start_thread (arg=0x7fffafde3700) at pthread_create.c:456
        __res = <optimized out>
        pd = 0x7fffafde3700
        now = <optimized out>
        unwind_buf = 
              {cancel_jmp_buf = {{jmp_buf = {140736143963904, -4945482662043744500, 0, 140737488345584, 140736153644864, 30, 4945306454151628556, 4945510606014220044}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#17 0x00007ffff2d80e0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97

Using 7974dd0 on Fedora 26 with mpv backend.

vinszent commented 7 years ago

I'm currently rewriting parts of the code to fix this. Turns out one of the libraries I'm using, isn't as thread safe as it claims to be. Thanks for the report.

vinszent commented 6 years ago

Should be fixed now on master.