Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

convert fails due to resource limits #112

Closed
FelixDefrance opened this issue Mar 19, 2017 · 36 comments
Closed

convert fails due to resource limits #112

FelixDefrance opened this issue Mar 19, 2017 · 36 comments
Labels

Comments

@FelixDefrance
Copy link

Hi,

I'm on Debian with version below. Imagemagick failed :( any ideas?

imagemagick:
  Installé : 8:6.9.7.4+dfsg-2
  Candidat : 8:6.9.7.4+dfsg-2
 Table de version :
 *** 8:6.9.7.4+dfsg-2 500
        500 http://ftp.fr.debian.org/debian stretch/main amd64 Packages
        100 /var/lib/dpkg/status
peek:
  Installé : 1.0.0
  Candidat : 1.0.0
 Table de version :
 *** 1.0.0 100
        100 /var/lib/dpkg/status

convert -set delay 15 peekFNNEXY-2.avi peekFNNEXY-2.gif

convert-im6.q16: DistributedPixelCache '127.0.0.1' @ error/distribute-cache.c/ConnectPixelCacheServer/244.
convert-im6.q16: cache resources exhausted `/tmp/magick-19158jY9_iS6LMYOT.pam' @ error/cache.c/OpenPixelCache/3945.
convert-im6.q16: no images defined `peekFNNEXY-2.gif' @ error/convert.c/ConvertImageCommand/3258.

Thx,

@phw
Copy link
Owner

phw commented Mar 20, 2017

This looks like you have not enough space available on /tmp. Either you are low on disk space or /tmp is a RAM disk with insufficient space for the temp files convert created.

In current master I have already fixed setting the temp folder for convert, it will now use $HOME/.cache/peek . So if possible please try the latest git revision of Peek and see if this fixes your issue. Alternatively try setting the environment variable MAGICK_TMPDIR to a directory with enough disk space and see if this helps.

@GeneralBison
Copy link

I'm still getting this issue with the $HOME/.cache/peek path.

Using screen recorder backend gnome-shell
Recording to file /home/mb/.cache/peek/peek7AOBYY.avi
convert-im6.q16: unable to get registry ID `cache:hosts' @ error/registry.c/GetImageRegistry/201.
convert-im6.q16: DistributedPixelCache '127.0.0.1' @ error/distribute-cache.c/ConnectPixelCacheServer/244.
convert-im6.q16: cache resources exhausted `/home/mb/.cache/peek/magick-7318Tr4HTGXvvg7f.pam' @ error/cache.c/OpenPixelCache/3945.
Error: Child process exited with code 1
File save error: Error when getting information for file “/home/mb/.cache/peek/peekTV2BYY.gif”: No such file or directory
Temp file delete error: Error removing file /home/mb/.cache/peek/peekTV2BYY.gif: No such file or directory

@phw
Copy link
Owner

phw commented Apr 3, 2017

Please check your disc space on $HOME

@GeneralBison
Copy link

GeneralBison commented Apr 3, 2017

Disk space should not be an issue, I have 74GB free.
I was able to get a gif recording by turning the resolution downsampling up.

This is on Ubuntu 17.04 Beta.

@brandonmp
Copy link

brandonmp commented Apr 18, 2017

Same problem on ubuntu 17.04 stable, but uninstalling & installing Peek nightly from the nightly PPA seemed to have fixed it. [ETA: a few minutes later the problem came back. Upon some testing it looks like recordings of a few seconds work fine,but anything longer throws errors below]

details:
20 GB of Ram and 27 GB of space available on /home partition.

I just installed 17.04 yesterday in a clean install, but prior to that, Peek worked fine in 16.10.
Not sure if graphics drivers matter here, but I'm on a GTX 960 so I tried both nouveau & nvidia drivers, same outcome (i think both output are the same, but included them anyway just in case).

here's the error output with Nouveau drivers:

21:12:07:bmp:~ peek
Using screen recorder backend gnome-shell
Recording to file /home/bmp/.cache/peek/peekD3VWYY.avi
convert-im6.q16: unable to get registry ID `cache:hosts' @ error/registry.c/GetImageRegistry/201.
convert-im6.q16: DistributedPixelCache '127.0.0.1' @ error/distribute-cache.c/ConnectPixelCacheServer/244.
convert-im6.q16: cache resources exhausted `/home/bmp/.cache/peek/magick-16485RML4f5yiaCMB.pam' @ error/cache.c/OpenPixelCache/3945.
convert-im6.q16: no images defined `/home/bmp/.cache/peek/peek9KGXYY.gif' @ error/convert.c/ConvertImageCommand/3258.
Error: Child process exited with code 1
File save error: Error when getting information for file “/home/bmp/.cache/peek/peek9KGXYY.gif”: No such file or directory
Temp file delete error: Error removing file /home/bmp/.cache/peek/peek9KGXYY.gif: No such file or directory

and here's the output after switching to Nvidia drivers 375.39:

21:14:28:bmp:~ peek
Using screen recorder backend gnome-shell
Recording to file /home/bmp/.cache/peek/peekRQ4SYY.avi
convert-im6.q16: unable to get registry ID `cache:hosts' @ error/registry.c/GetImageRegistry/201.
convert-im6.q16: DistributedPixelCache '127.0.0.1' @ error/distribute-cache.c/ConnectPixelCacheServer/244.
convert-im6.q16: cache resources exhausted `/home/bmp/.cache/peek/magick-28623_9UPlVYVj9Ae.pam' @ error/cache.c/OpenPixelCache/3945.
Error: Child process exited with code 1
File save error: Error when getting information for file “/home/bmp/.cache/peek/peekDS21YY.gif”: No such file or directory
Temp file delete error: Error removing file /home/bmp/.cache/peek/peekDS21YY.gif: No such file or directory
21:15:28:bmp:~ 

@seanh
Copy link

seanh commented Apr 24, 2017

I think I've found the issue or at least a workaround. On my system /etc/ImageMagick-6/policy.xml contains:

<policy domain="resource" name="disk" value="1GiB"/>

If I change that to 10GiB then (so far) it seems to work again. I'm using the master branch built from source currently. However, Peek spends a very long time (minutes) in "Rendering..." so I wonder whether imagemagick's disk cache size limit is what changed, or whether that limit was always 1GB and something else changed that causes Peek to take a lot longer to render and create a much larger cache file.

@phw
Copy link
Owner

phw commented Apr 24, 2017

Good catch, I don't have this limit set. It all comes down that convert uses a huge amount of resources when converting frames to an animated GIF with the -optimize flag. I need a solution of this because this is the root cause for the majority of bug reports I receive.

@phw
Copy link
Owner

phw commented Apr 24, 2017

Can you guys post the output of convert -list resource. This gives me an idea with which resource restrictions we are dealing here. For me this is:

Resource limits:
  Width: 107.4MP
  Height: 107.4MP
  Area: 33.439GP
  Memory: 15.571GiB
  Map: 31.143GiB
  Disk: unlimited
  File: 768
  Thread: 4
  Throttle: 0
  Time: unlimited

@brandonmp
Copy link

sure, thanks for looking into this @phw

> $ convert -list resource
Resource limits:
  Width: 16KP
  Height: 16KP
  Area: 128MP
  Memory: 256MiB
  Map: 512MiB
  Disk: 1GiB
  File: 768
  Thread: 4
  Throttle: 0
  Time: unlimited

@seanh
Copy link

seanh commented Apr 24, 2017

$ convert -list resource
Resource limits:
  Width: 16KP
  Height: 16KP
  Area: 128MP
  Memory: 256MiB
  Map: 512MiB
  Disk: 10GiB
  File: 768
  Thread: 8
  Throttle: 0
  Time: unlimited

(This is after I edited the imagemagick config file from 1gb to 10gb)

@phw
Copy link
Owner

phw commented Apr 24, 2017

Memory: 256MiB

This explains why the 1GB disk cache is not sufficient. Maybe the solution for now is to overwrite those values when launching convert. But this needs some testing with which limits peek can get away with.

@kyodev
Copy link

kyodev commented Apr 25, 2017

with Stretch (debian9), in /etc/ImageMagick-6/policy.xml , I have too:

<policy domain="resource" name="disk" value="1GiB"/>

but it's for:

Any large image is cached to disk rather than memory

convert -list resource

Resource limits:
  Width: 16KP
  Height: 16KP
  Area: 128MP
  Memory: 256MiB
  Map: 512MiB
  Disk: 1GiB
  File: 768
  Thread: 4
  Throttle: 0
  Time: unlimited

@orschiro
Copy link
Contributor

orschiro commented May 23, 2017

I am on Ubuntu MATE:

orschiro@x230:~$ convert -list resource
Resource limits:
  Width: 16KP
  Height: 16KP
  Area: 128MP
  Memory: 256MiB
  Map: 512MiB
  Disk: 1GiB
  File: 768
  Thread: 4
  Throttle: 0
  Time: unlimited

Frequently, Peek fails to write the actual result to the file saying it is a caching issue. Short recordings normally work fine. Long ones fail all the time.

@rschwarz
Copy link

I have the same issue: On small/short recordings, everything works fine, but with larger animations, it spends 2-5 seconds in "Rendering", then the file does not show up. I the same resource limits for convert on Debian Stretch.

@phw phw mentioned this issue Jun 12, 2017
@dustinmoorenet
Copy link

on Ubuntu Gnome 17.04

convert -list resource
Resource limits:
  Width: 16KP
  Height: 16KP
  Area: 128MP
  Memory: 256MiB
  Map: 512MiB
  Disk: 1GiB
  File: 768
  Thread: 4
  Throttle: 0
  Time: unlimited

I tried the workaround and it worked 🎉 . Thanks @seanh and @phw

@orschiro
Copy link
Contributor

@dustinmoorenet what was the exact workaround for you? Did you change the value 1GiB to something else?

@dustinmoorenet
Copy link

yes, 10GiB. I didn't check to see if I could set it lower at like 5GiB.

@phw phw changed the title convert don't work on Debian stretch convert fails due to resource limits Jun 23, 2017
@xereda
Copy link

xereda commented Jul 5, 2017

I have a same problem.


xereda@xereda ~> peek
Using screen recorder backend ffmpeg
ffmpeg version 3.2.4-1build2 Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 6.3.0 (Ubuntu 6.3.0-8ubuntu1) 20170221
  configuration: --prefix=/usr --extra-version=1build2 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libebur128 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
  libavutil      55. 34.101 / 55. 34.101
  libavcodec     57. 64.101 / 57. 64.101
  libavformat    57. 56.101 / 57. 56.101
  libavdevice    57.  1.100 / 57.  1.100
  libavfilter     6. 65.100 /  6. 65.100
  libavresample   3.  1.  0 /  3.  1.  0
  libswscale      4.  2.100 /  4.  2.100
  libswresample   2.  3.100 /  2.  3.100
  libpostproc    54.  1.100 / 54.  1.100
[x11grab @ 0x56461eb08fe0] Stream #0: not enough frames to estimate rate; consider increasing probesize
Input #0, x11grab, from ':0+62,66':
  Duration: N/A, start: 1499258323.669850, bitrate: N/A
    Stream #0:0: Video: rawvideo (BGR[0] / 0x524742), bgr0, 1857x1013, 10 fps, 1000k tbr, 1000k tbn, 1000k tbc
Output #0, rawvideo, to '/home/xereda/.cache/peek/peek4XHU2Y.pam':
  Metadata:
    encoder         : Lavf57.56.101
    Stream #0:0: Video: pam, rgb24, 928x506, q=2-31, 200 kb/s, 10 fps, 10 tbn, 10 tbc
    Metadata:
      encoder         : Lavc57.64.101 pam
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> pam (native))
Press [q] to stop, [?] for help
[swscaler @ 0x56461eb1cea0] Warning: data is not aligned! This can lead to a speedloss
Past duration 0.931740 too large  276526kB time=00:00:20.10 bitrate=112701.4kbits/s dup=3 drop=0 speed=   1x    
Past duration 0.979134 too large  302665kB time=00:00:22.00 bitrate=112701.4kbits/s dup=3 drop=1 speed=1.02x    
Past duration 0.995277 too large  608081kB time=00:00:44.20 bitrate=112701.4kbits/s dup=3 drop=1 speed=   1x    
frame=  515 fps= 10 q=-0.0 Lsize=  708511kB time=00:00:51.50 bitrate=112701.4kbits/s dup=3 drop=1 speed=   1x    
video:708511kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000000%
convert-im6.q16: unable to get registry ID `cache:hosts' @ error/registry.c/GetImageRegistry/201.
convert-im6.q16: DistributedPixelCache '127.0.0.1' @ error/distribute-cache.c/ConnectPixelCacheServer/244.
convert-im6.q16: cache resources exhausted `/home/xereda/.cache/peek/peek4XHU2Y.pam' @ error/cache.c/OpenPixelCache/3945.
convert-im6.q16: no images defined `/home/xereda/.cache/peek/peekCNIK2Y.gif' @ error/convert.c/ConvertImageCommand/3258.
Error: Processo filho concluiu com código 1
File save error: Erro ao obter informação para o arquivo “/home/xereda/.cache/peek/peekCNIK2Y.gif”: Arquivo ou diretório não encontrado
Temp file delete error: Erro ao remover arquivo /home/xereda/.cache/peek/peekCNIK2Y.gif: Arquivo ou diretório não encontrado


@teletrail
Copy link

teletrail commented Jul 25, 2017

I'm also having this issue, have changed .cache/peek to have 777 permissions, didn't seem to help.

running latest version from git, compiled following debian instructions.

convert -list resource
Resource limits:
Width: 16KP
Height: 16KP
Area: 128MP
Memory: 256MiB
Map: 512MiB
Disk: 1GiB
File: 768
Thread: 4
Throttle: 0
Time: unlimited

ffmpeg version 3.2.6-1+b3 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 6.3.0 (Debian 6.3.0-19) 20170618
configuration: --prefix=/usr --extra-version=1+b3 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libebur128 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
libavutil 55. 34.101 / 55. 34.101
libavcodec 57. 64.101 / 57. 64.101
libavformat 57. 56.101 / 57. 56.101
libavdevice 57. 1.100 / 57. 1.100
libavfilter 6. 65.100 / 6. 65.100
libavresample 3. 1. 0 / 3. 1. 0
libswscale 4. 2.100 / 4. 2.100
libswresample 2. 3.100 / 2. 3.100
libpostproc 54. 1.100 / 54. 1.100
Input #0, x11grab, from ':0+204,151':
Duration: N/A, start: 1500948969.825304, bitrate: N/A
Stream #0:0: Video: rawvideo (BGR[0] / 0x524742), bgr0, 1069x477, 10 fps, 10 tbr, 1000k tbn, 1000k tbc
Output #0, rawvideo, to '/home/preview/.cache/peek/peekNPX93Y.pam':
Metadata:
encoder : Lavf57.56.101
Stream #0:0: Video: pam, rgb24, 1069x477, q=2-31, 200 kb/s, 10 fps, 10 tbn, 10 tbc
Metadata:
encoder : Lavc57.64.101 pam
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo (native) -> pam (native))
Press [q] to stop, [?] for help
frame= 517 fps= 10 q=-0.0 Lsize= 772371kB time=00:00:51.70 bitrate=122384.2kbits/s speed=1.01x
video:772371kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000000%
convert-im6.q16: unable to get registry ID cache:hosts' @ error/registry.c/GetImageRegistry/201. convert-im6.q16: DistributedPixelCache '127.0.0.1' @ error/distribute-cache.c/ConnectPixelCacheServer/244. convert-im6.q16: cache resources exhausted /home/preview/.cache/peek/peekNPX93Y.pam' @ error/cache.c/OpenPixelCache/3945.
convert-im6.q16: no images defined `/home/preview/.cache/peek/peekPN5N3Y.gif' @ error/convert.c/ConvertImageCommand/3258.
Error: Child process exited with code 1
File save error: Error when getting information for file “/home/preview/.cache/peek/peekPN5N3Y.gif”: No such file or directory
Temp file delete error: Error removing file /home/preview/.cache/peek/peekPN5N3Y.gif: No such file or directory

@morsok
Copy link

morsok commented Jul 26, 2017

Had the same issue, I can confirm that modifying the setting to 10gb works for me too. Previously it failed silently.

@ivoanjo
Copy link

ivoanjo commented Jul 27, 2017

Indeed, I had been bitten by this and had to use other tools for longer gifs, but I do prefer using Peek. It would be useful for peek at least to watch for any failures from convert and send users towards this report, as silently failing is very confusing (and frustrating).

Nevertheless, thanks for all your hard work on peek :D 👍

@FelixDefrance
Copy link
Author

Hi, I confirm, editing /etc/ImageMagick-6/policy.xml and set Disk to 10G work for me ;)

@miili
Copy link

miili commented Sep 7, 2017

Same here, that's the workaround! @phw This should be mentioned in the README.md to be present on the landing page.

@Jokero
Copy link

Jokero commented Sep 25, 2017

Adding <policy domain="resource" name="disk" value="10GiB"/> didn't help me. Ubuntu 16.04
So peek is totally useless now

@miili
Copy link

miili commented Sep 26, 2017

Did you add that string or modify that policy?

@Jokero
Copy link

Jokero commented Sep 26, 2017

I added it to /etc/ImageMagick-6/policy.xml. Maybe there is some difference between version for debian and ubuntu, because I didn't have initially this line with 1GiB:

<policy domain="resource" name="disk" value="1GiB"/>

@phw
Copy link
Owner

phw commented Sep 26, 2017

@Jokero The disk limit is not the only resource limit. Maybe more important is the memory limit. Please run convert -list resource to see the current limits on your system. Some examples show that the memory limit is set to 256 MB in many cases, try something higher instead like:

<policy domain="resource" name="memory" value="2GiB"/>

phw added a commit that referenced this issue Sep 26, 2017
Hopefully helps convert failing due to resource limits when globally configured.

See #112, #125, #177
phw added a commit that referenced this issue Sep 26, 2017
@phw
Copy link
Owner

phw commented Sep 26, 2017

I have added explicit resource limits to the call of convert. Disk usage is unlimited, and memory usage is limited to 90% of available memory at the time of invoking convert.

Would be great if somebody could test this with the current master revision.

See also #125 (comment)

@palyla
Copy link

palyla commented Sep 26, 2017

I'm tested latest version. Problem still reproducing
PS Sorry for formatting. I don't know how to do it correctly.

palyla@spb-tmg-01:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 9.1 (stretch)
Release: 9.1
Codename: stretch

`palyla@spb-tmg-01:~$ peek --backend=ffmpeg

** (peek:24295): WARNING **: Binding 'R' failed!
Requested screen recorder backend ffmpeg

(peek:24295): Gtk-WARNING **: Theme parsing error: gtk.css:68:35: The style property GtkButton:child-displacement-x is deprecated and shouldn't be used anymore. It will be removed in a future version

(peek:24295): Gtk-WARNING **: Theme parsing error: gtk.css:69:35: The style property GtkButton:child-displacement-y is deprecated and shouldn't be used anymore. It will be removed in a future version
ffmpeg version 3.2.7-1deb9u1 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 6.3.0 (Debian 6.3.0-18) 20170516
configuration: --prefix=/usr --extra-version='1
deb9u1' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libebur128 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
libavutil 55. 34.101 / 55. 34.101
libavcodec 57. 64.101 / 57. 64.101
libavformat 57. 56.101 / 57. 56.101
libavdevice 57. 1.100 / 57. 1.100
libavfilter 6. 65.100 / 6. 65.100
libavresample 3. 1. 0 / 3. 1. 0
libswscale 4. 2.100 / 4. 2.100
libswresample 2. 3.100 / 2. 3.100
libpostproc 54. 1.100 / 54. 1.100
[x11grab @ 0x5631cd3f8f00] Stream #0: not enough frames to estimate rate; consider increasing probesize
Input #0, x11grab, from ':0+375,70':
Duration: N/A, start: 1506434092.255643, bitrate: N/A
Stream #0:0: Video: rawvideo (BGR[0] / 0x524742), bgr0, 1031x780, 10 fps, 1000k tbr, 1000k tbn, 1000k tbc
Output #0, rawvideo, to '/home/palyla/.cache/peek/peekXXXXXX.pam':
Metadata:
encoder : Lavf57.56.101
Stream #0:0: Video: pam, rgb24, 1031x780, q=2-31, 200 kb/s, 10 fps, 10 tbn, 10 tbc
Metadata:
encoder : Lavc57.64.101 pam
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo (native) -> pam (native))
Press [q] to stop, [?] for help
Recording canceled with return code 0485kB time=00:00:08.00 bitrate=193008.3kbits/s speed=1.04x
frame= 86 fps= 10 q=-0.0 Lsize= 202621kB time=00:00:08.60 bitrate=193008.3kbits/s speed=1.02x
video:202621kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000000%
ffmpeg version 3.2.7-1deb9u1 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 6.3.0 (Debian 6.3.0-18) 20170516
configuration: --prefix=/usr --extra-version='1
deb9u1' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libebur128 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
libavutil 55. 34.101 / 55. 34.101
libavcodec 57. 64.101 / 57. 64.101
libavformat 57. 56.101 / 57. 56.101
libavdevice 57. 1.100 / 57. 1.100
libavfilter 6. 65.100 / 6. 65.100
libavresample 3. 1. 0 / 3. 1. 0
libswscale 4. 2.100 / 4. 2.100
libswresample 2. 3.100 / 2. 3.100
libpostproc 54. 1.100 / 54. 1.100
[x11grab @ 0x55f185152f00] Stream #0: not enough frames to estimate rate; consider increasing probesize
Input #0, x11grab, from ':0+408,39':
Duration: N/A, start: 1506434107.338632, bitrate: N/A
Stream #0:0: Video: rawvideo (BGR[0] / 0x524742), bgr0, 1031x780, 10 fps, 1000k tbr, 1000k tbn, 1000k tbc
Output #0, rawvideo, to '/home/palyla/.cache/peek/peekXXXXXX.pam':
Metadata:
encoder : Lavf57.56.101
Stream #0:0: Video: pam, rgb24, 1031x780, q=2-31, 200 kb/s, 10 fps, 10 tbn, 10 tbc
Metadata:
encoder : Lavc57.64.101 pam
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo (native) -> pam (native))
Press [q] to stop, [?] for help
Past duration 0.946999 too large 428803kB time=00:00:18.20 bitrate=193008.3kbits/s speed=1.02x
Past duration 0.999062 too large 445295kB time=00:00:18.90 bitrate=193008.3kbits/s dup=1 drop=0 speed=1.02x
frame= 196 fps= 10 q=-0.0 Lsize= 461787kB time=00:00:19.60 bitrate=193008.3kbits/s dup=1 drop=0 speed=1.01x
video:461787kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000000%
convert-im6.q16: unable to get registry ID cache:hosts' @ error/registry.c/GetImageRegistry/201. convert-im6.q16: DistributedPixelCache '127.0.0.1' @ error/distribute-cache.c/ConnectPixelCacheServer/244. convert-im6.q16: cache resources exhausted /home/palyla/.cache/peek/peekXXXXXX.pam' @ error/cache.c/OpenPixelCache/3945.
Error: Дочерний процесс завершился с кодом 1
File save error: Ошибка при получении информации о файле «/home/palyla/.cache/peek/peekXXXXXX.gif»: Нет такого файла или каталога
Temp file delete error: Error removing file /home/palyla/.cache/peek/peekXXXXXX.gif: Нет такого файла или каталога
palyla@spb-tmg-01:$
palyla@spb-tmg-01:
$
palyla@spb-tmg-01:~$ peek

** (peek:24550): WARNING **: Binding 'R' failed!
Using screen recorder backend ffmpeg

(peek:24550): Gtk-WARNING **: Theme parsing error: gtk.css:68:35: The style property GtkButton:child-displacement-x is deprecated and shouldn't be used anymore. It will be removed in a future version

(peek:24550): Gtk-WARNING **: Theme parsing error: gtk.css:69:35: The style property GtkButton:child-displacement-y is deprecated and shouldn't be used anymore. It will be removed in a future version
ffmpeg version 3.2.7-1deb9u1 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 6.3.0 (Debian 6.3.0-18) 20170516
configuration: --prefix=/usr --extra-version='1
deb9u1' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libebur128 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
libavutil 55. 34.101 / 55. 34.101
libavcodec 57. 64.101 / 57. 64.101
libavformat 57. 56.101 / 57. 56.101
libavdevice 57. 1.100 / 57. 1.100
libavfilter 6. 65.100 / 6. 65.100
libavresample 3. 1. 0 / 3. 1. 0
libswscale 4. 2.100 / 4. 2.100
libswresample 2. 3.100 / 2. 3.100
libpostproc 54. 1.100 / 54. 1.100
[x11grab @ 0x5621d156ff00] Stream #0: not enough frames to estimate rate; consider increasing probesize
Input #0, x11grab, from ':0+408,39':
Duration: N/A, start: 1506434389.662479, bitrate: N/A
Stream #0:0: Video: rawvideo (BGR[0] / 0x524742), bgr0, 1031x780, 10 fps, 1000k tbr, 1000k tbn, 1000k tbc
Output #0, rawvideo, to '/home/palyla/.cache/peek/peekXXXXXX.pam':
Metadata:
encoder : Lavf57.56.101
Stream #0:0: Video: pam, rgb24, 1031x780, q=2-31, 200 kb/s, 10 fps, 10 tbn, 10 tbc
Metadata:
encoder : Lavc57.64.101 pam
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo (native) -> pam (native))
Press [q] to stop, [?] for help
frame= 72 fps= 10 q=-0.0 Lsize= 169636kB time=00:00:07.20 bitrate=193008.3kbits/s speed=1.03x
video:169636kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000000%
ffmpeg version 3.2.7-1deb9u1 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 6.3.0 (Debian 6.3.0-18) 20170516
configuration: --prefix=/usr --extra-version='1
deb9u1' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libebur128 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
libavutil 55. 34.101 / 55. 34.101
libavcodec 57. 64.101 / 57. 64.101
libavformat 57. 56.101 / 57. 56.101
libavdevice 57. 1.100 / 57. 1.100
libavfilter 6. 65.100 / 6. 65.100
libavresample 3. 1. 0 / 3. 1. 0
libswscale 4. 2.100 / 4. 2.100
libswresample 2. 3.100 / 2. 3.100
libpostproc 54. 1.100 / 54. 1.100
[x11grab @ 0x555caa01bf00] Stream #0: not enough frames to estimate rate; consider increasing probesize
Input #0, x11grab, from ':0+437,104':
Duration: N/A, start: 1506434452.741770, bitrate: N/A
Stream #0:0: Video: rawvideo (BGR[0] / 0x524742), bgr0, 1031x780, 10 fps, 1000k tbr, 1000k tbn, 1000k tbc
Output #0, rawvideo, to '/home/palyla/.cache/peek/peekXXXXXX.pam':
Metadata:
encoder : Lavf57.56.101
Stream #0:0: Video: pam, rgb24, 1031x780, q=2-31, 200 kb/s, 10 fps, 10 tbn, 10 tbc
Metadata:
encoder : Lavc57.64.101 pam
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo (native) -> pam (native))
Press [q] to stop, [?] for help
Past duration 0.852425 too large 1463112kB time=00:01:02.10 bitrate=193008.3kbits/s dup=44 drop=6 speed= 1x
frame= 658 fps= 10 q=-0.0 Lsize= 1550287kB time=00:01:05.80 bitrate=193008.3kbits/s dup=44 drop=42 speed=1.01x
video:1550287kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000000%
convert-im6.q16: unable to get registry ID cache:hosts' @ error/registry.c/GetImageRegistry/201. convert-im6.q16: DistributedPixelCache '127.0.0.1' @ error/distribute-cache.c/ConnectPixelCacheServer/244. convert-im6.q16: cache resources exhausted /home/palyla/.cache/peek/peekXXXXXX.pam' @ error/cache.c/OpenPixelCache/3945.
convert-im6.q16: no images defined /home/palyla/.cache/peek/peekXXXXXX.gif' @ error/convert.c/ConvertImageCommand/3258. Error: Дочерний процесс завершился с кодом 1 File save error: Ошибка при получении информации о файле «/home/palyla/.cache/peek/peekXXXXXX.gif»: Нет такого файла или каталога Temp file delete error: Error removing file /home/palyla/.cache/peek/peekXXXXXX.gif: Нет такого файла или каталога palyla@spb-tmg-01:~$

@Jokero
Copy link

Jokero commented Sep 26, 2017

@phw

The disk limit is not the only resource limit. Maybe more important is the memory limit. Please run convert -list resource to see the current limits on your system. Some examples show that the memory limit is set to 256 MB in many cases

$ convert -list resource
  File       Area     Memory        Map       Disk   Thread  Throttle       Time
--------------------------------------------------------------------------------
   768    16.56GB  7.7113GiB  15.423GiB      10GiB        4         0  unlimited

@phw
Copy link
Owner

phw commented Sep 26, 2017

@Jokero with these limits that shouldn't be the problem. Maybe your's is a different issue. Can you post the output of Peek when run from the command line?

@Jokero
Copy link

Jokero commented Sep 26, 2017

It happens only when I try to record long video https://gist.github.com/Jokero/a06324c081ebd15973047e0b2b0b7b7f

@phw
Copy link
Owner

phw commented Oct 5, 2017

@Jokero This shows that the process was killed by the OS, probably took too much RAM. I gues you have no or only little swap space? Did you test the latest development version?

In general for what you are doing you shouldn't be using the GIF format anyway. Even if it finishes rendering the GIF, nearly 1 minute recording of 1466x987 will easily end up in file of several hundred MBs in size. Not sure how this is useful. Change the output format to WebM or MP4 in the settings.

Peek's GIF recording is really meant to capture short snippets of parts of your screen.

@phw
Copy link
Owner

phw commented Oct 5, 2017

I close this issue now as I think the 1.1.0 release manages the RAM usage well enough. It can't do magic though, ImageMagick just works as it works and the GIF format is in the end just not optimized for this kind of usage anyway.

@phw phw closed this as completed Oct 5, 2017
@Jokero
Copy link

Jokero commented Oct 11, 2017

@phw Development version works the same. But I totally agree with you that gif is not suited for long videos 👍

@phw
Copy link
Owner

phw commented Oct 12, 2017

Everybody still affected by this might want to read #125 (comment) and try the latest git revision. I made some attempts to use ffmpeg directly instead of ImageMagick and this looks promising so far.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests