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

Reply via email to