Re: [evince] problems with specific filename



>De: Michael henn <michael henn uni-ulm de>
>Para: Juanjo Marín <juanjomarin96 yahoo es>
>Enviado: sábado 2 de julio de 2011 20:56
>Asunto: Re: [evince] problems with specific filename
>
[...]
>
>Hey Juanjo,
>thank you for your reply,
>let's come right to business:
>
>$ cat /etc/issue
>Ubuntu 10.10 \n \l
>
>
>$ uname -a
>Linux michi-laptop 2.6.35-30-generic #54-Ubuntu SMP Tue Jun 7 18:40:23
>UTC 2011 i686 GNU/Linux
>$ evince --version
>GNOME Dokumentenbetrachter 2.32.0
>$ strace -f evince .bashthis 2>&1 | grep bashthis
>execve("/usr/bin/evince", ["evince", ".bashthis"], [/* 46 vars */]) = 0
>[pid  2239] lstat64("/home/michi/.bashthis", {st_mode=S_IFREG|0644,
>st_size=17674, ...}) = 0
>[pid  2246] lstat64("/home/michi/.bashthis", {st_mode=S_IFREG|0644,
>st_size=17674, ...}) = 0
>[pid  2246] open("/home/michi/.bashthis", O_RDONLY|O_LARGEFILE) = -1
>EACCES (Permission denied)
>[pid  2246] open("/home/michi/.bashthis", O_RDONLY|O_LARGEFILE) = -1
>EACCES (Permission denied)
>[pid  2241] lstat64("/home/michi/.bashthis",  <unfinished ...>
>$ strace -f gv .bashthis 2>&1 | grep bashthis
>execve("/usr/bin/gv", ["gv", ".bashthis"], [/* 46 vars */]) = 0
>stat64(".bashthis", {st_mode=S_IFREG|0644, st_size=17674, ...}) = 0
>lstat64("/home/michi/.bashthis", {st_mode=S_IFREG|0644, st_size=17674,
>...}) = 0
>stat64("/home/michi/.bashthis", {st_mode=S_IFREG|0644, st_size=17674,
>...}) = 0
>open("/home/michi/.bashthis", O_RDONLY|O_LARGEFILE) = 4
>stat64("/home/michi/.bashthis", {st_mode=S_IFREG|0644, st_size=17674,
>...}) = 0
>[pid  2253] stat64("/home/michi/.bashthis", {st_mode=S_IFREG|0644,
>st_size=17674, ...}) = 0
>
>So the open-call from evince fails with EACCES and the open-call from gv
>works ... isn't that strange?
>
>
>Also i wrote this minimal C-program:
>---------------------------------------
>#define _LARGEFILE64_SOURCE
>#include <fcntl.h>
>#include <stdio.h>
>
>int main() {
>    int fd = open("/home/michi/.bashthis", O_RDONLY|O_LARGEFILE);
>    if(fd == -1) {
>        perror("open failed");
>    }
>    printf("open returned %d\n", fd);
>    return 0;
>}
>---------------------------------------
>
>$ gcc -Wall -o test/testevince.out test/testevince.c
>$ strace -f test/testevince.out 2>&1 | grep bashthis
>open("/home/michi/.bashthis", O_RDONLY|O_LARGEFILE) = 3
>$ test/testevince.out
>open returned 3
>$ mv .bashthis bashthis
>$ evince bashthis
>$
>
>I am pretty clueless. I'm also thankful for any hints how i can find out
>about this problem myself - i'm just interested.
>


Michael,

I _think_ this behaviour has something to do with the apparmor wrapper added in the patches 
applied to Evince by Ubuntu [1]. Evince tries to open, so it clearly seems to me the bug is outside.

Try to execute Evince with apparmor disabled [3]. After this, if Evince works, open a bug in launchpad
for the Ubuntu folks, if not, let me know :-)

Cheers,


     -- Juanjo Marin

[1] https://launchpad.net/ubuntu/+archive/primary/+files/evince_2.32.0-0ubuntu12.debian.tar.gz
[2] https://wiki.ubuntu.com/AppArmor
[3] https://help.ubuntu.com/community/AppArmor


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]