Bug#766732: Caught in the act...
Simon McVittie
smcv at debian.org
Tue Nov 18 15:21:26 UTC 2014
Control: reassign 766732 gvfs-backends
On 18/11/14 14:49, Brian Drummond wrote:
> Backtrace from the relevant thread in gvfsd-dav...
Reassigning to the package that owns gvfsd-dav.
> In particular, how would I
> make gdb display the "<optimized out>" bits?
You'd have to recompile gvfs without optimizations. But hopefully that
won't be necessary.
> Thread 4 (Thread 0x7f5926572700 (LWP 3882)):
> #0 0x00007f592fa8daca in strlen () from /lib/x86_64-linux-gnu/libc.so.6
> No symbol table info available.
> #1 0x000000000040bb0c in path_equal (a=a at entry=0x7f5914051960
> "/Music/Various Artists/100% Dance Hits/", b=<optimized out>, relax=1)
> at gvfsbackenddav.c:244
> res = <optimized out>
> a_len = <optimized out>
> b_len = <optimized out>
> ua = 0x0
> ub = 0x7f5914054910 "/Music/Various Artists/"
Looking at the source code, ua = g_uri_unescape_string (a, "/"). So that
function has failed, returning NULL, and the code does not make any
attempt to cope with that failure; so we call strlen(NULL) which crashes.
a is "/Music/Various Artists/100% Dance Hits/" which is not a valid URI
path: if your folder on disk is called "100% Dance Hits" then the URI
should end with "/100%25 Dance Hits/".
So there are probably two bugs here:
* whatever software you are using to serve your music over DAV (what is
it?) is encoding paths incorrectly; and
* gvfs isn't coping gracefully with that.
Regards,
S
More information about the pkg-gnome-maintainers
mailing list