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?).

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

> >>>> 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-devel@lists.sourceforge.net
> >>>>>> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> >>>>>>
> >>>>>
> >>>>>
> >>>>
> >>>>
> >>>> --
> >>>> Massimo Maiurana
> >>>> Ragusa (RG)
> >>>>
> >>>
> >>>
> >>
> >>
> >> --
> >> Massimo Maiurana
> >> Ragusa (RG)
> >
> >
> 
> 
> -- 
> Massimo Maiurana
> Ragusa (RG)
> 


-- 
------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler)    ras...@rasterman.com


------------------------------------------------------------------------------
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to