Bug#766732: Caught in the act...

Brian Drummond brian at shapes.demon.co.uk
Tue Nov 18 15:55:43 UTC 2014


On Tue, 2014-11-18 at 15:21 +0000, Simon McVittie wrote:
> 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.

OK.

> >         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

There's no actual music serving going on, just straight directory
access. All I did was right-click/Properties in Nautilus, having
selected the folder "Music" on the remote machine. (Copying the files
via Nautilus does the same, only slower)

Is '/home/brian/Music/Various Artists/100% Dance Hits' a legal path? If
so, what layer should encode it as an URI? I'm guessing also gvfsd-dav
(this time on the remote machine) in which case both bugs belong to
gvfs-backends.

Both ends run Debian Testing and I can reproduce the error from either
end.

> * gvfs isn't coping gracefully with that.
Worth making it more robust, I'd think.

At least knowing paths containing '%' are significant should make it
easy to reproduce.

Thanks for the analysis,
- Brian



More information about the pkg-gnome-maintainers mailing list