Carsten Haitzler (The Rasterman) ha scritto il 21/08/2016 alle 15:05: > On Sun, 21 Aug 2016 14:22:33 +0200 Massimo Maiurana <maiur...@gmail.com> said: > >> Carsten Haitzler (The Rasterman) ha scritto il 21/08/2016 alle 14:03: >>> On Sun, 21 Aug 2016 10:42:47 +0200 Massimo Maiurana <maiur...@gmail.com> >>> said: >>> >>>> Carsten Haitzler (The Rasterman) ha scritto il 21/08/2016 alle 01:42: >>>>> On Sat, 20 Aug 2016 19:04:44 +0200 Massimo Maiurana <maiur...@gmail.com> >>>>> said: >>>>> >>>>>> Carsten Haitzler (The Rasterman) ha scritto il 20/08/2016 alle 14:17: >>>>>>> On Sat, 20 Aug 2016 09:41:00 +0200 Massimo Maiurana <maiur...@gmail.com> >>>>>>> said: >>>>>>> >>>>>>>> There is an annoying issue that I found in rage from some months ago >>>>>>>> but I've always forgot to report it here, sorry :( >>>>>>>> >>>>>>>> There are cases where rage_thumb just go crazy, spawns several >>>>>>>> processes, eats up the cpu and reamins active even if I close rage, so >>>>>>>> I have to "killal -9 rage_thumb". Tipically it happens if I navigate >>>>>>>> the movie clicking with the mouse in the progress bar, so in order to >>>>>>>> avoid it I use to navigate via arrow keys. >>>>>>> >>>>>>> well - it's generating thumbanils for the whole movie (every 10 seconds >>>>>>> or so it snapshots). it literally sits and loads the movie relying on >>>>>>> the gst generic evas loader to load a specific frame # from the video >>>>>>> file. it loads, scales down, and saves to a big eet archive with all >>>>>>> the thumbs in it for the video... >>>>>>> >>>>>>> why is it spinning? some bakctrace, some trace/debug as to what it's >>>>>>> spinning on etc.... would be useful. :) >>>>>> >>>>>> I would like to help but need also help on how to generate backtraces :) >>>>> >>>>> gdb /usr/local/lib/rage/utils/rage_thumb `pidof rage_thumb` >>>>> >>>>> ... >>>>> >>>>> bt >>>>> >>>>> :) >>>>> >>>>> also getting the file it is choking on would be nice. the file will be on >>>>> the cmdline passed to rage_thumb.. >>>> >>>> Ok, I did this: I opened a movie, clicked on some points in the progress >>>> bar to go forward and the cpu went 100% (both cores). At this point I >>>> had six instances of rage_thumb running. This is the command line: >>>> rage /home/max/Video/Il.Volo.Del.Falco.2014.iTALiAN.BDRiP.XviD-HDi.avi >>>> >>>> Then I closed rage but all rage_thumb processes still was alive and >>>> kicking... too kicking :) >>>> Htop reported small cpu usage for rage_thumb, every process was eating >>>> just around 1/1.5% of it. Top made me see that there were many >>>> evas_image_load processes that instead was eating much more cpu, 10% and >>>> occasionally 20% each process. I generated a backtrace from one of the >>>> rage_thumb processes, I don't know how it is useful but it is attached. >>>> In the meantime all processes quitted, so it is just a matter of time >>>> waiting they do their job, but the problem is that this jog is cpu and >>>> time consuming :) >>>> >>>> Should I run gdb on evas_image_load and generate a backtrace? >>> >>> doesn't sound hung to me. it sounds like its actually working. it may take >>> several minutes to thumbnail the video depending on how long it is... >> >> It doesn't hang but it makes my pc unresponsive for a long time, even > > no - i meant that rage_thumb isn't hung - it sounds by your description, like > it's doing it's job. it's trying to generate thumbnails... > > i wonder if the issue is that the stream cannot be seeked and thus it's simply > repeatedly generating frame 0 because a seek to a point fails... > > if you do: > > strace -f -o ~/log -p `pidof rage_thumb` > > then grep through the file for "exec" - you should find the exec lines that > run > the generic loader... what are the aerguments? there should be the file plus a > number. the number should be large - eg going up by 1000 per second being > snapped. it will try and get an image for every 10 seconds from memory so > number should be going up by 10k each run). maybe check the strace log and see > what the child processes are exiting with (0 for success? something else?).
On the terminal where I ran strace I saw that it keeps spawning new processes, see a part of the output: strace: Process 31513 attached strace: Process 31514 attached strace: Process 31515 attached strace: Process 31516 attached strace: Process 31517 attached Consider that this is the end of the output, the first pid was 22042. The command should be this: execve("/opt/e17/lib/evas/utils/evas_image_loader.avi", ["/opt/e17/lib/evas/utils/evas_ima"..., "/home/max/Video/Boulevard.2014.B"..., "-head", "-key", "3340000"], [/* 65 vars */] <unfinished ...> >> after I close rage. FWIU there should be a limit in how much cpu the >> thumbnailing processes can take, or a limit in the number of > > it sets the priority of the video thumb to 10 - the higher the priority value > the less likely the system will be to assign cpu to it - or that's how it > should work. this should be inherited by child processes too. this is the nice > value fyi (it uses setpriority() - see manual page): > > "The default nice value is {NZERO}; lower nice values shall cause more > favorable scheduling." > >> thumbnailing processes which can be run at the same time, or at the very >> least an option to turn off thumbnailing. I understand that my PC is >> quite old (6 years), but I would like to keep using it as much as >> possible :) > > i'm not going to make it an option. thumbnailing of videos is central ro rage > and being able to know what on earth you are dealing with. you haven't seen > the > browser mode yet then where it'll be plainly obvious that no thumbnail makes > the > ui pretty poor. it's central tot he ui design. Indeed I'm using rage from quite a long time and thumbnailing has always been there, this problem started recently so I guess there is no point in disabling thumbnailing :) >>>>>> If it would segvs i would do it via a "bt" command in gdb, but it >>>>>> doesn't crash and also rage_thumb keeps running in multiple processes >>>>>> when I stop rage, so how should I trace its activities? >>>>> >>>>> ^^^^^ you can attach to an existing process any time. when you attach the >>>>> process will be paused. you can grab a bt then. you can let it continue >>>>> running with "c" (continue) cmd any time. you can pause it again with ctrl >>>>> +c in gdb an get another backtrace. switch stack frame with "fr N" where N >>>>> matches the backtrace number. list the code where you are at with "l". >>>>> list a specific line number in that file in context with "l 1234". print a >>>>> variable you see with "p varname" dereference a pointer (like c/c++ does >>>>> all the time) with "p *varname" or if its a struct geta member with "p >>>>> varname->member". gdb will even be able to tab complete these like a shell >>>>> does with files. :) >>>>> >>>>> learning gdb is a very powerful thing. you can find out so much useful >>>>> info about a process... :) >>>>> >>>>>>> >>>>>>>> Thanks >>>>>>>> Massimo >>>>>>>> >>>>>>>> Carsten Haitzler (The Rasterman) ha scritto il 20/08/2016 alle 05:45: >>>>>>>>> So here is a new release of Rage. >>>>>>>>> >>>>>>>>> It is a simple video and audio player intended to be slick yet >>>>>>>>> simplistic, much like Mplayer. You can provide 1 or more files to play >>>>>>>>> on the command-line or just DND files onto the rage window to insert >>>>>>>>> them into the playlist. You can get a visual representation of >>>>>>>>> everything on the playlist by hitting the / key, or just hovering your >>>>>>>>> mouse over the right side of the window. Mouse back over the left side >>>>>>>>> of the window to dismiss it or press the key again. It has a full >>>>>>>>> complement of key controls if you see the README for the full list. It >>>>>>>>> will automatically search for album art for music files, if not >>>>>>>>> already cached, and display that. It even generates thumbnails for >>>>>>>>> the timeline of a video and allows you to preview the position on >>>>>>>>> mouseover of the position bar at the bottom of the window. >>>>>>>>> >>>>>>>>> If you run it without any files as arguments, it will go into >>>>>>>>> "browser" mode where it will index $HOME/Videos and basically become >>>>>>>>> a simple media center. >>>>>>>>> >>>>>>>>> A feature list at this point: >>>>>>>>> >>>>>>>>> * Play video and audio files >>>>>>>>> * Support a playlist via command-line >>>>>>>>> * Insert to playlist via DND >>>>>>>>> * Controls hide on mouse idle, and appear on mouse movement >>>>>>>>> * Fullscreen mode support with automatic "no blank" support >>>>>>>>> * Playlist visual previews and controls >>>>>>>>> * Subtitle file support >>>>>>>>> * Supports Gstreamer 0.10, Gstreamer 1.x, Xine and VLC as media >>>>>>>>> engines via Emotion modules >>>>>>>>> * Selection of media back-end via command-line >>>>>>>>> * Album art fetch and caching >>>>>>>>> * Video thumbnail timeline generation and caching >>>>>>>>> * Works with any Evas engine (OpenGL acceleration, pure software >>>>>>>>> etc.) >>>>>>>>> * Works in X11, Wayland and Framebuffer direct support >>>>>>>>> * Accelerated seek on keyboard fowrard/reverse >>>>>>>>> * Drag gestures for seeking >>>>>>>>> * Special different UI modes for pure audio and video >>>>>>>>> * Media center browser/indexer mode >>>>>>>>> * Simeline thumbails of videos get generated and displayed when over >>>>>>>>> seek bar >>>>>>>>> >>>>>>>>> If you want to see more go to the about page at >>>>>>>>> https://www.enlightenment.org/p.php?p=about/rage >>>>>>>>> >>>>>>>>> http://download.enlightenment.org/rel/apps/rage/rage-0.2.0.tar.gz >>>>>>>>> http://git.enlightenment.org/apps/rage.git >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Massimo Maiurana >>>>>>>> Ragusa (RG) >>>>>>>> >>>>>>>> ------------------------------------------------------------------------------ >>>>>>>> _______________________________________________ >>>>>>>> enlightenment-devel mailing list >>>>>>>> enlightenment-de...@lists.sourceforge.net >>>>>>>> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel >>>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Massimo Maiurana >>>>>> Ragusa (RG) >>>>>> >>>>> >>>>> >>>> >>>> >>>> -- >>>> Massimo Maiurana >>>> Ragusa (RG) >>> >>> >> >> >> -- >> Massimo Maiurana >> Ragusa (RG) >> > > -- Massimo Maiurana Ragusa (RG) ------------------------------------------------------------------------------ _______________________________________________ enlightenment-users mailing list enlightenment-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-users