xscreensaver-getimage can't find image on samba share

Bug #609451 reported by YoG on 2010-07-24
20
This bug affects 3 people
Affects Status Importance Assigned to Milestone
xscreensaver (Ubuntu)
Undecided
Unassigned

Bug Description

Binary package hint: xscreensaver

I'm using "automount" to mount a remote folder containing pictures to display using glslideshow. glslideshow fails to show those files. When I try manually to run glslideshow (from the terminal) using:
/usr/lib/xscreensaver/glslideshow

I get the following error:
xscreensaver-getimage: file does not exist: "/path_to_my_remote_pictures_list/picture.jpg"

When I use pictures form a local folder there is no problem.

I'm on Ubuntu 10.04 LTS

installed xscreensaver: 5.10-3ubuntu4

Thanks,

YoG.

ProblemType: Bug
DistroRelease: Ubuntu 10.04
Package: xscreensaver (not installed)
ProcVersionSignature: Ubuntu 2.6.32-22.36-generic 2.6.32.11+drm33.2
Uname: Linux 2.6.32-22-generic i686
NonfreeKernelModules: nvidia
Architecture: i386
Date: Sat Jul 24 13:13:01 2010
ProcEnviron:
 LANG=en_US.UTF-8
 SHELL=/bin/bash
SourcePackage: xscreensaver

YoG (yotamgil) wrote :
David Litster (mrlitsta) wrote :

I am also having this problem on two machines. One is a laptop with an s3 unichrome adapter, one is a desktop machine with an Nvidia 8400GS. I don't think the gfx card is the problem, but something with the open() call that xscreensaver-getimage is doing. I can list the directories from the shell and thunar just fine.

Something is getting a filename to xscreensaver-getimage to send to the screensaver renderer:
xscreensaver-getimage: file does not exist: "/media/evectra/evectra/Media/Pictures/2008/East Coast Trip, May/Boston Freedom Trail/IMG_1680.JPG"

The laptop exhibited this behavior in Ubuntu 9.10. so I upgraded it to 10.04, same problem.
The desktop is at 10.10

The files are coming from a remotely mounted windows share hosted on a Windows Vista SP2 machine.

I did do a workaround once that involved setting up a VM, mounting the windows share on the VM, then NFS mounting the VM directory on the glslideshow machines, but that is a bit ridiculous.

What other details can I provide that would be useful?

Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in xscreensaver (Ubuntu):
status: New → Confirmed
Tormod Volden (tormodvolden) wrote :

Can you please run:
 xscreensaver-getimage -verbose -directory /media/your-mounted-network-share-picture-path root

Changed in xscreensaver (Ubuntu):
assignee: nobody → Tormod Volden (tormodvolden)
status: Confirmed → Incomplete
YoG (yotamgil) wrote :

here's the result of running "xscreensaver-getimage -verbose -directory /media/your-mounted-network-share-picture-path root":

xscreensaver-getimage: grabDesktopImages: True
xscreensaver-getimage: grabVideoFrames: False
xscreensaver-getimage: chooseRandomImages: True
xscreensaver-getimage: imageDirectory: /media/your-mounted-network-share-picture-path/
xscreensaver-getimage: executing: xscreensaver-getimage-file --verbose --name /media/your-mounted-network-share-picture-path/
xscreensaver-getimage-file: 722 files in cache
xscreensaver-getimage-file: /media/your-mounted-network-share-picture-path/S2010091.JPG: 1200 x 1600
xscreensaver-getimage: file does not exist: "/media/your-mounted-network-share-picture-path/S2010091.JPG"
xscreensaver-getimage: no image files found.
xscreensaver-getimage: drawing colorbars.

Tormod Volden (tormodvolden) wrote :

I am not able to reproduce this on a samba mount using the normal gvfs mounting in Gnome. What is your "automount" about? What does "mount" say about it?

Which version of xscreensaver are you currently using? On which distro version?

jason lytle (jason-k4cybxw) wrote :

I'm having the same problem
xscreensaver latest version
Ubuntu 11.10 (clean install) w/ Unity running

mounting a windows share with:
mount -t cifs //10.200.10.187/shared$ -o rw,bg,vers=3,proto=tcp,hard,intr,rsize=32768,wsize=32768,forcedirectio,llock,username=root,password=xxxxxxx /mnt/shared/

I can access this share and the images in it using other applications like gimp and firefox.

I have another machine with different hardware running Ubuntu 11.10 (upgraded from 11.04) but running lubuntu desktop instead of unity and this works ok.

in the error it says the directory doesn't exist. during a preview, the error lists the actual names of the files it is reading from the directory but then says the file doesn't exist.

I ran the xscreensaver-getimage command:

the file exists:
root@T420s:~# ls -la /mnt/shared/pics/yWPk9.jpg
-rwxr-xr-x 1 root root 47484 2011-05-26 14:36 /mnt/shared/pics/yWPk9.jpg

xscreensaver-getimage sees the dir:
root@T420s:~# xscreensaver-getimage -verbose -directory /mnt/shared/pics/ root
xscreensaver-getimage: grabDesktopImages: True
xscreensaver-getimage: grabVideoFrames: False
xscreensaver-getimage: chooseRandomImages: False
xscreensaver-getimage: imageDirectory: /mnt/shared/pics/
xscreensaver-getimage: grabbing desktop image

xscreensaver-getimage: window 0x0000015D root: 1 saver: 0 grab: 0 wait: 0.0
xscreensaver-getimage: 0x21 (TrueColor, depth: 24, cmap: default)

xscreensaver-getimage: grabbed 24 bit screen image to real root window.
xscreensaver-getimage: displaying 1920x1980 image at 0,0 in 1920x1980.

but it doesn't see the file:
root@T420s:~# xscreensaver-getimage -verbose -directory /mnt/shared/pics/ -file /mnt/shared/pics/yWPk9.jpg -root
xscreensaver-getimage: file "/mnt/shared/pics/yWPk9.jpg" does not exist
xscreensaver-getimage: grabDesktopImages: True
xscreensaver-getimage: grabVideoFrames: False
xscreensaver-getimage: chooseRandomImages: False
xscreensaver-getimage: imageDirectory: /mnt/shared/pics/
xscreensaver-getimage: grabbing desktop image

xscreensaver-getimage: window 0x0000015D root: 1 saver: 0 grab: 0 wait: 0.0
xscreensaver-getimage: 0x21 (TrueColor, depth: 24, cmap: default)

xscreensaver-getimage: grabbed 24 bit screen image to real root window.
xscreensaver-getimage: displaying 1920x1980 image at 0,0 in 1920x1980.

maybe the problem is Unity? I'll try changing desktops and let you know.

jason lytle (jason-k4cybxw) wrote :

sorry, I didn't run the command with chooseRandomImages: True
changing this in the gui wasn't setting it here so I had to add the -images argument:

root@T420s:~# xscreensaver-getimage -verbose -directory /mnt/shared/pics -images root
xscreensaver-getimage: grabDesktopImages: True
xscreensaver-getimage: grabVideoFrames: False
xscreensaver-getimage: chooseRandomImages: True
xscreensaver-getimage: imageDirectory: /mnt/shared/pics
xscreensaver-getimage: executing: xscreensaver-getimage-file --verbose --name /mnt/shared/pics
xscreensaver-getimage-file: recursively reading /mnt/shared/pics...
xscreensaver-getimage-file: f=1344; d=1; s=1; skip=10+1=11.
xscreensaver-getimage-file: cached 1344 files
xscreensaver-getimage-file: /mnt/shared/pics/377640JPRn_w.jpg: 500 x 699
xscreensaver-getimage: file does not exist: "/mnt/shared/pics/377640JPRn_w.jpg"
xscreensaver-getimage: no image files found.
xscreensaver-getimage: drawing colorbars.

now my results are similar to that earlier post

Pål F. Kristiansen (paalfe) wrote :

I also have this problem. xscreensaver gives "Directory dos not exist" on mounted SMB share.
Have tried making a link to the share and choose it, but "does not exist".
If I choose a local folder the local pictures works.

Running Ubuntu 12.04 x86 with gnome3 desktop.
Xscreensaver 5.15, 28-sep-2011 and the screensaver glslideshow.

------------------
$ xscreensaver-getimage -verbose -directory /mnt/stora/Bilder root
xscreensaver-getimage: grabDesktopImages: True
xscreensaver-getimage: grabVideoFrames: False
xscreensaver-getimage: chooseRandomImages: True
xscreensaver-getimage: imageDirectory: /mnt/stora/Bilder
xscreensaver-getimage: grabbing desktop image

xscreensaver-getimage: window 0x0000015D root: 1 saver: 0 grab: 0 wait: 0.0
xscreensaver-getimage: 0x21 (TrueColor, depth: 24, cmap: default)

xscreensaver-getimage: grabbed 24 bit screen image to real root window.
xscreensaver-getimage: displaying 1920x1080 image at 0,0 in 1920x1080.

------------------
$ xscreensaver-getimage -verbose -directory /mnt/stora/Bilder -images root
xscreensaver-getimage: grabDesktopImages: True
xscreensaver-getimage: grabVideoFrames: False
xscreensaver-getimage: chooseRandomImages: True
xscreensaver-getimage: imageDirectory: /mnt/stora/Bilder
xscreensaver-getimage: executing: xscreensaver-getimage-file --verbose --name /mnt/stora/Bilder
xscreensaver-getimage-file: 12998 files in cache
xscreensaver-getimage-file: /mnt/stora/Bilder/Geir Ole/4.2004/dykking/egypt 2004/alle bilder/IMG_0029.JPG: 2048 x 1536
xscreensaver-getimage: file does not exist: "/mnt/stora/Bilder/Geir Ole/4.2004/dykking/egypt 2004/alle bilder/IMG_0029.JPG"
xscreensaver-getimage: no image files found.
xscreensaver-getimage: drawing colorbars.

------------------
How I mount the SMB share with fstab:

//stora/familylibrary /mnt/stora/ cifs credentials=/root/.smbcredentials,uid=gok,gid=admin,dir_mode=0775,file_mode=0775,iocharset=utf8,codepage=unicode,unicode 0 0

Pål F. Kristiansen (paalfe) wrote :

I have another PC that I use Xscreensaver on and on that it works fine with mounted SMB share.

Running Ubuntu 12.04 x64 with gnome3 desktop (fresh install, not upgraded from earlier ubuntu version and so is the other PC I mention in the previous post).
Xscreensaver 5.15, 28-sep-2011 and the screensaver glslideshow.

------------------
$ xscreensaver-getimage -verbose -directory /mnt/nas01-mirrored/Wallpapers root
xscreensaver-getimage: grabDesktopImages: True
xscreensaver-getimage: grabVideoFrames: False
xscreensaver-getimage: chooseRandomImages: True
xscreensaver-getimage: imageDirectory: /mnt/nas01-mirrored/Wallpapers
xscreensaver-getimage: executing: xscreensaver-getimage-file --verbose --name /mnt/nas01-mirrored/Wallpapers
xscreensaver-getimage-file: 1657 files in cache
xscreensaver-getimage-file: /mnt/nas01-mirrored/Wallpapers/Wallpapers_hd-widescreen/322152193_f1ab23b927_o.jpg: 3008 x 2000
xscreensaver-getimage: loading "/mnt/nas01-mirrored/Wallpapers/Wallpapers_hd-widescreen/322152193_f1ab23b927_o.jpg"
xscreensaver-getimage: scaling image by 54% (3008x2000 -> 1624x1080)
xscreensaver-getimage: displaying 1624x1080 image at 148,0 in 1920x1080.

------------------
$ xscreensaver-getimage -verbose -directory /mnt/nas01-mirrored/Wallpapers -images root
xscreensaver-getimage: grabDesktopImages: True
xscreensaver-getimage: grabVideoFrames: False
xscreensaver-getimage: chooseRandomImages: True
xscreensaver-getimage: imageDirectory: /mnt/nas01-mirrored/Wallpapers
xscreensaver-getimage: executing: xscreensaver-getimage-file --verbose --name /mnt/nas01-mirrored/Wallpapers
xscreensaver-getimage-file: 1657 files in cache
xscreensaver-getimage-file: /mnt/nas01-mirrored/Wallpapers/1000 Wallpapers/Anime/Anime(1).jpg: 1920 x 1200
xscreensaver-getimage: loading "/mnt/nas01-mirrored/Wallpapers/1000 Wallpapers/Anime/Anime(1).jpg"
xscreensaver-getimage: scaling image by 90% (1920x1200 -> 1728x1080)
xscreensaver-getimage: displaying 1728x1080 image at 96,0 in 1920x1080.

------------------
How I mount the SMB share with fstab:

//nas01/mirrored /mnt/nas01-mirrored cifs credentials=/root/.smb_credentials_nas01,uid=paalfe,gid=paalfe,dir_mode=0775,file_mode=0775,iocharset=utf8,codepage=unicode,unicode 0 0

------------------
The different between PC1 and PC2 is:

PC1 = Directory does not exist
PC2 = Works

PC1 = x86
PC2 = x64

PC1 = SMB server is a Netgear Stora
PC2 = SMB server is a Netgear RadyNas Ultra 2

Mamoru TASAKA (mtasaka) wrote :

Reproducible even with xscreensaver 5.18 on my i686 machine (client).

It seems that stat() on the line 1256 in get_filename_1() in xscreensaver-getimage.c returns -1 with errno 75 = EOVERFLOW. stat(2) says that this can happen when such application was not compiled with -D_FILE_OFFSET_BITS=64 and when using 32-bit platform. However while stat(2) says that this can happen when accessing too large file, this issue is not this case. For this case, EOVERFLOW happens because files on cifs-mounted system can return very large i-node : for people seeing this issue you can check this by "ls -ali" on cifs-mounted system.

For people seeing this issue: would you try either of the below?
* mount.cifs windows system with adding "noserverino" option
* Adding "#define _FILE_OFFSET_BITS 64" at the top of xscreensaver-getimage.c and recompile xscreensaver.

Pål F. Kristiansen (paalfe) wrote :

I mount.cifs the share from Netgear Stora on PC1 with adding "noserverino" option and now it works :D

-----------------------------------------
Before adding noserverino option

$ ls -alhi stora/
totalt 16K
9898825875592 drwxrwxr-x 1 gok root 0 juli 24 19:24 .
       261633 drwxr-xr-x 4 root root 4,0K juli 23 09:51 ..
9896985281408 drwxrwxr-x 0 gok root 0 juli 24 21:00 Backup
9895878474674 drwxrwxr-x 1 gok root 0 juli 22 20:10 Bilder
9898289004879 drwxrwxr-x 0 gok root 0 nov. 24 2011 Diverse

-----------------------------------------
After adding noserverino option

$ ls -alhi stora/
totalt 16K
     3 drwxrwxr-x 1 gok root 0 juli 24 19:24 .
261633 drwxr-xr-x 4 root root 4,0K juli 23 09:51 ..
    22 drwxrwxr-x 0 gok root 0 juli 24 21:00 Backup
    23 drwxrwxr-x 0 gok root 0 juli 22 20:10 Bilder
    25 drwxrwxr-x 0 gok root 0 nov. 24 2011 Diverse

-----------------------------------------
How I mount.cifs the SMB share with fstab:

//stora/familylibrary /mnt/stora/ cifs credentials=/root/.smbcredentials,uid=gok,gid=admin,dir_mode=0775,file_mode=0775,iocharset=utf8,noserverino,codepage=unicode,unicode 0 0

Mamoru TASAKA (mtasaka) wrote :

I discussed this with the upstream developer and we agreed to add "-D_FILE_OFFSET_BITS=64" to compiler flags when building whole xscreensaver source. He is now thinking where to write this on configure.in.

Tormod Volden (tormodvolden) wrote :

Mamoru, thanks a lot for investigating this! We'll add "-D_FILE_OFFSET_BITS=64" in the next Debian version.

Changed in xscreensaver (Ubuntu):
assignee: Tormod Volden (tormodvolden) → nobody
status: Incomplete → Confirmed
Tormod Volden (tormodvolden) wrote :

This has now been fixed in my Debian tree and will be released in Debian in 5.15-4 or 5.19-1. Debian is in release freeze at the moment, but I have uploaded a preview package "5.19-1pre" to my PPA if anyone would like to test it: https://launchpad.net/~tormodvolden/+archive/ppa

Mamoru TASAKA (mtasaka) wrote :

Note that with xscreensaver 5.21, AC_SYS_LARGEFILE is added to configure.in, so _FILE_OFFSET_BITS will be set to 64 in config.h{,in} if needed with doing configure, and modifying CFLAGS is no longer needed.

Launchpad Janitor (janitor) wrote :
Download full text (5.4 KiB)

This bug was fixed in the package xscreensaver - 5.26-1ubuntu1

---------------
xscreensaver (5.26-1ubuntu1) utopic; urgency=low

  * Dropped Ubuntu changes:
    - Ubuntu delta to the screensavers sets.
    - Keep Debian Vcs-* links instead of the ~ubuntu-desktop team bzr
      repository: the Desktop team does not have interest any more.
    - The Ubuntu changes to the descriptions.
  * Merge from Debian unstable. (LP: #1283459) Remaining changes:
    - debian/control:
      + Breaks/Replaces: the old changes are not needed anymore, but the
        new changes the screensavers sets needs it.
    - debian/rules:
      + Use /usr/share/backgrounds as image directory.
      + Add translation domain to .desktop files.
    - debian/source_xscreensaver.py:
      + Add apport hook.
    - debian/xscreensaver.dirs:
      + Install /usr/share/backgrounds. By default, settings search in
        /usr/share/backgrounds and without it, it displays an error.
    - debian/patch/90_ubuntu-branding.patch: Use Ubuntu branding.
    - debian/patches/60_sequential_glslideshow.patch:
      + Allow going through images sequentially rather than just at random in
        the GLSlideshow hack.

xscreensaver (5.26-1) unstable; urgency=low

  * New upstream release 5.26, changes since 5.23:
    - Updated feed-loading for recent Flickr changes.
    - Updated `webcollage' for recent Google changes.
    - Added Instagram and Bing as `webcollage' image sources.
    - Updated to latest autoconf.
    - Bug fixes.
  * Drop patch applied upstream:
    - debian/patches/12_upstream_use_cppflags.patch
  * Bump Standards-Version to 3.9.5 (no changes needed)

xscreensaver (5.23-1) unstable; urgency=low

  * New upstream release 5.23 (Closes: #729311)
    - New hack, geodesic
    - More heuristics for using RSS feeds as image sources
    - Improved Wikipedia parser
    - Updated webcollage for recent Flickr changes
    - Added Android to bsod
    - Made quasicrystal work on weak graphics cards
    - Better compression on icons, plists and XML files
    - Reverted that DEACTIVATE change. Bad idea.
    - Phosphor now supports amber as well as green
  * Dropped patches applied upstream:
    - 12_upstream_quasicrystal_texture_width.patch
    - 14_upstream_hexadrop_keyboard_exit.patch
    - 15_upstream_activate_faster_nontty.patch
  * debian/patches/12_upstream_use_cppflags.patch:
    Make sure CPPFLAGS are used (fixes hardening warnings)
  * debian/control: Update VCS fields (fixes Lintian warning)

xscreensaver (5.22-1) unstable; urgency=low

  * New upstream release 5.22 (Closes: #699833), changes since 5.15:
    - XInput devices now also ignore small mouse motions
    - Loading images via RSS feeds is much improved
    - Enlarged the texture image for lament
    - Made pipes be ridiculously less efficient, but spin
    - Added better mouse control to rubik, cube21, crackberg, and julia
    - Cosmetic improvements to queens and endgame
    - sonar can now ping local subnet on DHCP
    - Most savers now resize/rotate properly
    - New version of `fireworkx'
    - Minor fixes to `distort', `fontglide', `xmatrix'
    - New MacOS crash in `bsod'
    - New mode in `lcdscrub'
    - Gnome/KD...

Read more...

Changed in xscreensaver (Ubuntu):
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers