After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 700478 - grilo-test-ui-0.2 segfaults
grilo-test-ui-0.2 segfaults
Status: RESOLVED FIXED
Product: grilo
Classification: Other
Component: general
0.2.x
Other Linux
: Normal normal
: ---
Assigned To: grilo-maint
grilo-maint
Depends on:
Blocks:
 
 
Reported: 2013-05-16 18:50 UTC by Pacho Ramos
Modified: 2013-05-21 14:59 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
test-ui: Check if there is a reply from OAuth (1.83 KB, patch)
2013-05-21 14:15 UTC, Juan A. Suarez Romero
committed Details | Review

Description Pacho Ramos 2013-05-16 18:50:29 UTC
Running it I get:
$ grilo-test-ui-0.2 

(grilo-test-ui-0.2:11987): GLib-CRITICAL **: g_strsplit: assertion `string != NULL' failed
Violación de segmento (`core' generado)


The backtrace:
warning: core file may not match specified executable file.
[New LWP 11987]
[New LWP 11989]
[New LWP 11988]
[New LWP 11990]
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `grilo-test-ui-0.2'.
Program terminated with signal 11, Segmentation fault.

Thread 1 (Thread 0x7fa7243328c0 (LWP 11987))

  • #0 parse_token
    at flickr-oauth.c line 285
  • #1 parse_request_token
    at flickr-oauth.c line 308
  • #2 flickroauth_get_request_token
    at flickr-oauth.c line 110
  • #3 authorize_flickr
    at main.c line 1522
  • #4 set_flickr_config
    at main.c line 1615
  • #5 configure_plugins
    at main.c line 2252
  • #6 main
    at main.c line 2269
From                To                  Syms Read   Shared Object Library
                                        No          linux-vdso.so.1
0x00007fa72b5d4390  0x00007fa72b883dc8  Yes         /usr/lib64/libgtk-3.so.0
0x00007fa72b2f67f0  0x00007fa72b33be88  Yes         /usr/lib64/libgdk-3.so.0
0x00007fa72b0bf810  0x00007fa72b0d16f8  Yes (*)     /usr/lib64/libgdk_pixbuf-2.0.so.0
0x00007fa72ad96b90  0x00007fa72ae55d18  Yes         /usr/lib64/libgio-2.0.so.0
0x00007fa72ab24360  0x00007fa72ab51198  Yes         /usr/lib64/libgobject-2.0.so.0
0x00007fa72a80e2c0  0x00007fa72a8a37d8  Yes         /usr/lib64/libglib-2.0.so.0
0x00007fa72a5d1fe0  0x00007fa72a5e6fd8  Yes         /usr/lib64/libgrilo-0.2.so.1
0x00007fa72a3be6d0  0x00007fa72a3c0f58  Yes (*)     /usr/lib64/liboauth.so.0
0x0000003f01805750  0x0000003f018111d8  Yes (*)     /lib64/libpthread.so.0
0x0000003f0101efc0  0x0000003f01150740  Yes (*)     /lib64/libc.so.6
0x000000344aa037b0  0x000000344aa0d758  Yes (*)     /usr/lib64/libXext.so.6
0x000000344da01b70  0x000000344da07928  Yes (*)     /usr/lib64/libXrandr.so.2
0x000000344ea02980  0x000000344ea07668  Yes (*)     /usr/lib64/libXcursor.so.1
0x00007fa72a1b7060  0x00007fa72a1b7f38  Yes         /usr/lib64/libgmodule-2.0.so.0
0x0000003443a02330  0x0000003443a05af8  Yes (*)     /lib64/librt.so.1
0x00007fa729fac6b0  0x00007fa729fb1338  Yes         /usr/lib64/libpangocairo-1.0.so.0
0x000000344a61d9f0  0x000000344a6a6718  Yes (*)     /usr/lib64/libX11.so.6
0x00007fa729d99210  0x00007fa729da3358  Yes (*)     /usr/lib64/libXi.so.6
0x000000344fa00b70  0x000000344fa01918  Yes (*)     /usr/lib64/libXcomposite.so.1
0x000000344be00af0  0x000000344be01678  Yes (*)     /usr/lib64/libXdamage.so.1
0x000000344ae01490  0x000000344ae04588  Yes (*)     /usr/lib64/libXfixes.so.3
0x00007fa729b90370  0x00007fa729b91138  Yes (*)     /usr/lib64/libcairo-gobject.so.2
0x00007fa729882a10  0x00007fa7299500a8  Yes (*)     /usr/lib64/libcairo.so.2
0x00007fa729655460  0x00007fa729661808  Yes (*)     /usr/lib64/libatk-1.0.so.0
0x00007fa72942abb0  0x00007fa72943c8a8  Yes (*)     /usr/lib64/libatk-bridge-2.0.so.0
0x00007fa729213850  0x00007fa72921b208  Yes         /usr/lib64/libpangoft2-1.0.so.0
0x00007fa728fcf620  0x00007fa728fedac8  Yes         /usr/lib64/libpango-1.0.so.0
0x00007fa728d172d0  0x00007fa728d87a38  Yes (*)     /usr/lib64/libfreetype.so.6
0x00007fa728ad4c60  0x00007fa728af1a28  Yes         /usr/lib64/libfontconfig.so.1
0x00000034436054e0  0x0000003443662e68  Yes (*)     /lib64/libm.so.6
0x00007fa7288ba190  0x00007fa7288c6288  Yes (*)     /lib64/libz.so.1
0x0000003f034039a0  0x0000003f0340fee8  Yes (*)     /lib64/libresolv.so.2
0x0000003f04001770  0x0000003f04005f08  Yes (*)     /usr/lib64/libffi.so.6
0x00007fa728584350  0x00007fa72866b0e8  Yes (*)     /usr/lib64/libxml2.so.2
0x00007fa728234c30  0x00007fa7283165b8  Yes         /usr/lib64/libnss3.so
0x0000003f00c00a80  0x0000003f00c1a076  Yes (*)     /lib64/ld-linux-x86-64.so.2
0x000000344ce01a80  0x000000344ce07a28  Yes (*)     /usr/lib64/libXrender.so.1
0x0000003f01c00df0  0x0000003f01c018d8  Yes (*)     /lib64/libdl.so.2
0x000000344a20a010  0x000000344a2166a8  Yes (*)     /usr/lib64/libxcb.so.1
0x00007fa728006ea0  0x00007fa7280163ac  Yes (*)     /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.2/libgcc_s.so.1
0x00007fa727d85dd0  0x00007fa727ded118  Yes (*)     /usr/lib64/libpixman-1.so.0
0x00007fa727b65150  0x00007fa727b73d18  Yes         /usr/lib64/libEGL.so.1
0x00007fa727937740  0x00007fa727954378  Yes (*)     /usr/lib64/libpng15.so.15
0x000000344f200a30  0x000000344f201178  Yes (*)     /usr/lib64/libxcb-shm.so.0
0x000000344e203690  0x000000344e206598  Yes (*)     /usr/lib64/libxcb-render.so.0
0x00007fa7276e6940  0x00007fa72771d4d8  Yes         /usr/lib64/libGL.so.1
0x00007fa7274b1060  0x00007fa7274bfd78  Yes (*)     /usr/lib64/libatspi.so.0
0x00000037bb807d80  0x00000037bb82cf78  Yes (*)     /usr/lib64/libdbus-1.so.3
0x00007fa72721cbd0  0x00007fa72726f088  Yes (*)     /usr/lib64/libharfbuzz.so.0
0x000000301a401670  0x000000301a40d298  Yes (*)     /lib64/libbz2.so.1
0x0000003f06403dd0  0x0000003f0641dda8  Yes (*)     /usr/lib64/libexpat.so.1
0x00007fa726ef0f90  0x00007fa726fa2688  Yes (*)     /usr/lib64/libicuuc.so.51
0x00007fa726c81de0  0x00007fa726c8fbc8  Yes         /usr/lib64/libnssutil3.so
0x00007fa726a724c0  0x00007fa726a73ba8  Yes         /usr/lib64/libplc4.so
0x00007fa72686cf70  0x00007fa72686de98  Yes         /usr/lib64/libplds4.so
0x00007fa72663c990  0x00007fa72665b918  Yes         /usr/lib64/libnspr4.so
0x0000003f03c00dc0  0x0000003f03c01b28  Yes (*)     /usr/lib64/libXau.so.6
0x0000003f03801290  0x0000003f03802ce8  Yes (*)     /usr/lib64/libXdmcp.so.6
0x000000344b600500  0x000000344b600628  Yes (*)     /usr/lib64/libX11-xcb.so.1
0x0000003450201890  0x00000034502026c8  Yes (*)     /usr/lib64/libxcb-dri2.so.0
0x000000344f6025b0  0x000000344f603f78  Yes (*)     /usr/lib64/libxcb-xfixes.so.0
0x00007fa72641e880  0x00007fa726427196  Yes (*)     /lib64/libudev.so.1
0x000000344ca03340  0x000000344ca08368  Yes (*)     /usr/lib64/libdrm.so.2
0x00007fa7261fcb60  0x00007fa726205518  Yes         /usr/lib64/libglapi.so.0
0x000000344ba0a650  0x000000344ba10c88  Yes (*)     /usr/lib64/libxcb-glx.so.0
0x000000344d200ef0  0x000000344d203988  Yes (*)     /usr/lib64/libXxf86vm.so.1
0x00007fa725fd87d0  0x00007fa725feb8c8  Yes (*)     /usr/lib64/libgraphite2.so.3
0x00007fa725da2dd0  0x00007fa725db9508  Yes (*)     /usr/lib64/libicule.so.51
0x00007fa725ae46b0  0x00007fa725b4a3fb  Yes (*)     /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.2/libstdc++.so.6
0x00007fa724339490  0x00007fa724339598  Yes (*)     /usr/lib64/libicudata.so.51
0x00007fa723de7940  0x00007fa723dec038  Yes         /usr/lib64/gio/modules/libdconfsettings.so
0x00007fa723bbee00  0x00007fa723bd9018  Yes         /usr/lib64/gio/modules/libgvfsdbus.so
0x00007fa723947ed0  0x00007fa723960e98  Yes         /usr/lib64/libgvfscommon.so.0
0x00007fa72371f2b0  0x00007fa72372bda8  Yes         /usr/lib64/gio/modules/libgioremote-volume-monitor.so
0x00007fa722d138e0  0x00007fa722d14ef8  Yes (*)     /usr/lib64/gtk-3.0/3.0.0/theming-engines/libadwaita.so
0x00007fa722aed000  0x00007fa722aeeee8  Yes (*)     /usr/lib64/gtk-3.0/modules/libcanberra-gtk-module.so
0x00007fa7228a5c10  0x00007fa7228a7008  Yes (*)     /usr/lib64/libcanberra-gtk3.so.0
0x00007fa7226a25a0  0x00007fa7226a2728  Yes         /usr/lib64/libgthread-2.0.so.0
0x00007fa722495ec0  0x00007fa72249de58  Yes (*)     /usr/lib64/libcanberra.so.0
0x0000003fd6601f40  0x0000003fd6605f28  Yes (*)     /usr/lib64/libvorbisfile.so.3
0x0000003fd4603700  0x0000003fd4619bf8  Yes (*)     /usr/lib64/libvorbis.so.0
0x0000003f120019e0  0x0000003f12003e48  Yes (*)     /usr/lib64/libogg.so.0
0x00007fa72228b410  0x00007fa72228f628  Yes (*)     /usr/lib64/libltdl.so.7
0x00007fa72054d650  0x00007fa72054e068  Yes         /usr/lib64/pango/1.8.0/modules/pango-basic-fc.so
0x00007fa72031fd70  0x00007fa720321de8  Yes (*)     /usr/lib64/gtk-3.0/3.0.0/immodules/im-ibus.so
0x00007fa720097190  0x00007fa7200b60e8  Yes (*)     /usr/lib64/libibus-1.0.so.5
0x00007fa716397db0  0x00007fa7163c5948  Yes         /usr/lib64/libsoftokn3.so
0x00007fa7160aca40  0x00007fa716130018  Yes (*)     /usr/lib64/libsqlite3.so.0
0x00007fa715e308c0  0x00007fa715e7ebe8  Yes         /usr/lib64/libfreebl3.so
(*): Shared library is missing debugging information.
$1 = 0x0
$2 = 0x0
rax            0x0	0
rbx            0x7fffb49961a0	140736223338912
rcx            0x3f013a2638	270603527736
rdx            0x139c460	20563040
rsi            0x2	2
rdi            0x3f013a2620	270603527712
rbp            0x139ca60	0x139ca60
rsp            0x7fffb49960d0	0x7fffb49960d0
r8             0x0	0
r9             0x2ed3	11987
r10            0x7fa72a8acdd6	140355950005718
r11            0x0	0
r12            0x0	0
r13            0x139c450	20563024
r14            0x0	0
r15            0x109d6d0	17422032
rip            0x40a07f	0x40a07f <parse_token+31>
eflags         0x10246	[ PF ZF IF RF ]
cs             0x33	51
ss             0x2b	43
ds             0x0	0
es             0x0	0
fs             0x0	0
gs             0x0	0
Dump of assembler code for function parse_token:
   0x000000000040a060 <+0>:	push   %r14
   0x000000000040a062 <+2>:	mov    %edi,%eax
   0x000000000040a064 <+4>:	mov    %rsi,%rdi
   0x000000000040a067 <+7>:	push   %r13
   0x000000000040a069 <+9>:	mov    $0x40b62c,%esi
   0x000000000040a06e <+14>:	push   %r12
   0x000000000040a070 <+16>:	push   %rbp
   0x000000000040a071 <+17>:	push   %rbx
   0x000000000040a072 <+18>:	mov    %rdx,%rbx
   0x000000000040a075 <+21>:	mov    %eax,%edx
   0x000000000040a077 <+23>:	callq  0x4052a0 <g_strsplit@plt>
   0x000000000040a07c <+28>:	xor    %r14d,%r14d
=> 0x000000000040a07f <+31>:	mov    (%rax),%rdi
   0x000000000040a082 <+34>:	mov    %rax,%r13
   0x000000000040a085 <+37>:	test   %rdi,%rdi
   0x000000000040a088 <+40>:	je     0x40a0f0 <parse_token+144>
   0x000000000040a08a <+42>:	lea    0x8(%rax),%rbp
   0x000000000040a08e <+46>:	mov    %rax,%r12
   0x000000000040a091 <+49>:	jmp    0x40a0b4 <parse_token+84>
   0x000000000040a093 <+51>:	nopl   0x0(%rax,%rax,1)
   0x000000000040a098 <+56>:	mov    (%r12),%rdi
   0x000000000040a09c <+60>:	callq  0x40a030 <get_param_value>
   0x000000000040a0a1 <+65>:	mov    %rax,(%rbx)
   0x000000000040a0a4 <+68>:	mov    %rbp,%r12
   0x000000000040a0a7 <+71>:	add    $0x8,%rbp
   0x000000000040a0ab <+75>:	mov    -0x8(%rbp),%rdi
   0x000000000040a0af <+79>:	test   %rdi,%rdi
   0x000000000040a0b2 <+82>:	je     0x40a0f0 <parse_token+144>
   0x000000000040a0b4 <+84>:	mov    $0x40b607,%esi
   0x000000000040a0b9 <+89>:	callq  0x405620 <g_str_has_prefix@plt>
   0x000000000040a0be <+94>:	test   %eax,%eax
   0x000000000040a0c0 <+96>:	jne    0x40a098 <parse_token+56>
   0x000000000040a0c2 <+98>:	mov    (%r12),%rdi
   0x000000000040a0c6 <+102>:	mov    $0x40b61a,%esi
   0x000000000040a0cb <+107>:	callq  0x405620 <g_str_has_prefix@plt>
   0x000000000040a0d0 <+112>:	test   %eax,%eax
   0x000000000040a0d2 <+114>:	je     0x40a0a4 <parse_token+68>
   0x000000000040a0d4 <+116>:	mov    (%r12),%rdi
   0x000000000040a0d8 <+120>:	callq  0x40a030 <get_param_value>
   0x000000000040a0dd <+125>:	mov    %rbp,%r12
   0x000000000040a0e0 <+128>:	add    $0x8,%rbp
   0x000000000040a0e4 <+132>:	mov    %rax,%r14
   0x000000000040a0e7 <+135>:	mov    -0x8(%rbp),%rdi
   0x000000000040a0eb <+139>:	test   %rdi,%rdi
   0x000000000040a0ee <+142>:	jne    0x40a0b4 <parse_token+84>
   0x000000000040a0f0 <+144>:	mov    %r13,%rdi
   0x000000000040a0f3 <+147>:	callq  0x405ba0 <g_strfreev@plt>
   0x000000000040a0f8 <+152>:	pop    %rbx
   0x000000000040a0f9 <+153>:	mov    %r14,%rax
   0x000000000040a0fc <+156>:	pop    %rbp
   0x000000000040a0fd <+157>:	pop    %r12
   0x000000000040a0ff <+159>:	pop    %r13
   0x000000000040a101 <+161>:	pop    %r14
   0x000000000040a103 <+163>:	retq   
End of assembler dump.
Comment 1 Juan A. Suarez Romero 2013-05-20 20:53:34 UTC
Can you provide me more information?

Which OS/distro are you using?

32 or 64 bits?

Are you building yourself grilo/grilo-plugins? Using some rpm/deb package?
Comment 2 Juan A. Suarez Romero 2013-05-20 20:54:34 UTC
Also, does it crash as soon as your run grilo-test-ui-0.2? Or do you need to perform some steps to reproduce the crash?
Comment 3 Pacho Ramos 2013-05-20 21:09:51 UTC
(In reply to comment #1)
> Can you provide me more information?
> 
> Which OS/distro are you using?
> 
> 32 or 64 bits?
> 
> Are you building yourself grilo/grilo-plugins? Using some rpm/deb package?

Gentoo, 64 bits, and got it when trying to bump the version for our users.

(In reply to comment #2)
> Also, does it crash as soon as your run grilo-test-ui-0.2? Or do you need to
> perform some steps to reproduce the crash?

As soon as I execute it from a terminal
Comment 4 Víctor Manuel Jáquez Leal 2013-05-21 07:43:40 UTC
I guess that you have this environment variable set:

G_DEBUG=fatal_criticals

and that would explain the coredump.

A patch for this would be something like this (I haven't even compiled it):

diff --git a/tools/grilo-test-ui/flickr-oauth.c b/tools/grilo-test-ui/flickr-oauth.c
index 90679d2..7fa803a 100644
--- a/tools/grilo-test-ui/flickr-oauth.c
+++ b/tools/grilo-test-ui/flickr-oauth.c
@@ -107,6 +107,7 @@ flickroauth_get_request_token (const gchar *consumer_key,
   http_reply = oauth_http_get2 (url, NULL, NULL);
   g_free (url);
 
+  g_return_val_if_fail (http_reply, NULL);
   return parse_request_token (http_reply, secret);
 }
 
Though it is very odd to have a NULL in the oauth http reply

Any network issue?
Comment 5 Juan A. Suarez Romero 2013-05-21 14:15:43 UTC
Created attachment 244924 [details] [review]
test-ui: Check if there is a reply from OAuth
Comment 6 Juan A. Suarez Romero 2013-05-21 14:59:14 UTC
commit f581f2a456e6dbec76742b8e862feecee58e36b0
Author: Juan A. Suarez Romero <jasuarez@igalia.com>
Date:   Tue May 21 16:01:10 2013 +0200

    test-ui: Check if there is a reply from OAuth
    
    https://bugzilla.gnome.org/show_bug.cgi?id=700478

 tools/grilo-test-ui/flickr-oauth.c | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)