[okular] [Bug 375211] New: Table Select tool fails on large table

2017-01-17 Thread Mark Whitis
https://bugs.kde.org/show_bug.cgi?id=375211

Bug ID: 375211
   Summary: Table Select tool fails on large table
   Product: okular
   Version: 0.20.3
  Platform: Other
OS: Linux
Status: UNCONFIRMED
  Severity: normal
  Priority: NOR
 Component: general
  Assignee: okular-devel@kde.org
  Reporter: mark.whi...@gmail.com
  Target Milestone: ---

Table select tool fails to automatically identify rows and columns on a simple
table layout with large amounts of data.
http://www.qsl.net/sterling/VA_QSO_Party/2016_VQP/2016_VQP_MetaData.pdf
approx 22 columns
approx 180 rows per page
approx 414 total rows
3 pages

This requires over 500 near pixel accurate mouse clicks to convert.
This site has similar files for each year.
The following file is a bit more difficult as it is missing lines except on the
column heads on the first page.  okular finds the rows ok but not the columns.
http://www.qsl.net/sterling/VA_QSO_Party/2009_VQP/2009_VQP_MetaData.pdf

This is the latest version of okular packaged for this long term support
release of ubuntu.
Qt: 4.8.6
KDE Development Platform: 4.13.3
Okular: 0.19.3
Distributor ID: Ubuntu
Description:Ubuntu 14.04.4 LTS
Release:14.04
Codename:   trusty

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Okular-devel] [Bug 177213] High X server memory consumption

2009-05-25 Thread Mark Whitis
https://bugs.kde.org/show_bug.cgi?id=177213


Mark Whitis whi...@freelabs.com changed:

   What|Removed |Added

 CC||whi...@freelabs.com




--- Comment #14 from Mark Whitis whitis freelabs com  2009-05-25 06:50:12 ---
 This is not true, Okular does not share the pixmaps of an open document with
 any other open document. Furthermore, all the (still cached) pixmaps of a
 document are freed when that document is closed.

The behavior of okular is not consistent with either of your assertions.

 - X server memory increases by 160MB whether you are running one instance of
okular or multiple instances.   If it did not share, it would grow by 160MB *
number of instances.  Unless you send a signal to other instances to reduce
memory usage before allocating more.

 - In some circumstances, those pixmaps clearly are not freed.   Perhaps okular
tries but there are some circumstances where it is omitted.It is more
likely that an application forgets to request that the memory is freed than
that the X server fails to actually release it without reporting an error. 
This is common due to exceptions, assert(), more than one exit(), signals,
alternate code paths, etc.  What makes you so sure they are ALWAYS freed on
exit?  Which alternate code paths have you taken into account?  Have you
actually checked that the algorithm for freeing doesn't have bugs?

If your assertions are actually true, then you need to provide an alternate
explaination as to why the application behaves in the manner which suggests
that they are false.

You need to explain:
  - Why memory usage is capped across instances
  - How okular allocates its X server side pixmaps.  What functions 
does it call, from which functions in which source files.
  - When and how okular deallocates its pixmaps.   What functions does it call, 
from which functions in which source files.
  - What the limits are for number of cached pixmaps or total size of cached
pixmaps.
  - Why memory isn't freed when the application exits.   Something a little
more
concrete than just saying it is an X server bug.   At least try to narrow
the scope a little.   Why is it that your memory isn't freed on exit when
other application's server memory seems to be.   What is unusual about your
use of pixmaps compared to other apps.  Do you know of any other apps that
use pixmaps in a similar fashion that we can try?

This applies specifically to the pixmaps used to store the pages.  The amount
of memory used seems to be more consistent with rendered pages than icons, etc.
And it applies specifically to the pixmaps stored on the server, not on the
client.

The shared pixmaps hypothesis at least explains the observed phenomenon.  Your
denial explains nothing.

160MB as a trigger point for garbage collection (with total X memory not being
released until then) doesn't seem to be consistent with the fact that once a
leak has occurred, X server size continues to grow.

Note that evince doesn't seem to have this problem.

Give me something specific to go on and I will see if I can get a chance to
look at the source.   But I am not going to dig for hours just to find out
where your application uses the pixmaps.

Gotta go.

-- 
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.
___
Okular-devel mailing list
Okular-devel@kde.org
https://mail.kde.org/mailman/listinfo/okular-devel


[Okular-devel] [Bug 177213] High X server memory consumption

2009-05-25 Thread Mark Whitis
https://bugs.kde.org/show_bug.cgi?id=177213





--- Comment #15 from Mark Whitis whitis freelabs com  2009-05-25 08:29:17 ---
I can certainly appreciate that X pixmap storage on the server could
significantly improve performance in many cases.Indeed, okular seemed a bit
faster than evince at first, which was largely why a switched.But in the
long range memory consumption ultimately causes it, and the rest of the system,
to be slower.   This would not be the case on a system with ample ram.   

And the sharing pixmap cache feature, if it actually exists, or an equivalent
mechanism with the same effect would be a very good thing in terms of keeping
the ram cache reasonable by caching just the document the user is currently
paging through.

And I care about the performance because I skim documents at very high speed to
find what is relevant.   Often as fast as the viewer can rasterize the pages. I
regularly use huge documents, often many at the same time.

Albert: having a (non-hidden) setting to disable pixmap cache on the server
could help, in the situations it is needed for.You would simply reuse one
or two pixmaps to render either the visible area or the page or two that
occupies it.   Since only one or two pages would be cached on the server, each
instance would use little memory there.If you have 10 instances, you only
have 10 or 20 pages stored on the server (still a lot if you use 24bit mode) 
If that pixmap doesn't get freed, it takes a lot longer for the system to
become unstable.   You reuse those pixmaps.   But this ends up being very close
to just setting cache_size=2, if the cache is made of non-sharable pixmaps.  
I.E. the degeneration case of the cache would more or less do what you would do
if you weren't caching. 

The real minimum X server memory usage case is when you bitblt the bottom
portion of the top page and the top portion of the bottom page (assuming a
typical case where part of two pages is visable) from a client side pixmap
directly to the framebuffer and scroll by using a bitblt to move the memory up
(or down) and then a small bitblt to fill in the missing piece.Things get
more complicated, though, when part of the window is obscured.   And
applications sometimes have subtle errors in the update code.  Or you can
bitblt into the back buffer, then let X copy to the window.   Easier because
you don't have to worry about obscuring windows (which may even move on you) in
either the draw or the scroll operations.

But it may be easier, and ultimately more beneficial, to carefully check for
bugs in the cache handling than to write new code which could result in the old
set of bugs plus a new set.

The statement that okular reduces its cache use based on available system
memory might explain why the usage caps at 160MB on my machine.  Yet free
memory is a nebulous concept on a system which uses virtual memory and fills
any unused memory with disk buffers.   And there is the timing of exactly when
this reduction of cache occurs.

-- 
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.
___
Okular-devel mailing list
Okular-devel@kde.org
https://mail.kde.org/mailman/listinfo/okular-devel


[Okular-devel] [Bug 177213] High X server memory consumption

2009-05-24 Thread Mark Whitis
https://bugs.kde.org/show_bug.cgi?id=177213





--- Comment #7 from Mark Whitis whitis freelabs com  2009-05-24 19:36:06 ---
The situation is much worse than described in this bug report.
  - X server resident usage climbs to 500MB and virtual memory usage to about
1.3MB on my system.
   - The X server memory is NOT consistently freed when okular exits.
This results in serious thrashing.

This appears to be related to okular sharing its pixmap cache among separate
okular instances, such that the total memory used by all okular instances is
capped at 160MB (until things go wrong) using some sort of X server shared
memory.

Given that okular appears to share pixmaps between instances, this does not
appear to be just an X server issue.   Shared memory mechanisms tend to have
semantics that allow resource consumption to persist after a process exits.
This is an X bug AND an okular bug.

Okular performance is set to normal.

Ironically, the resource consumption appears to be related to an attempt to
limit resource consumption across instances.   If you weren't sharing pixmaps,
running multiple instances of okular would result in huge consumption but it
would be consistently released when all instances were closed.

More details here (in the many comments by me at the end):
https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/98783

ii  okular 4:4.2.2-0ubunt document viewer for KDE 4
Distributor ID:Ubuntu
Description:Ubuntu 9.04
Release:9.04
Codename:jaunty

-- 
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.
___
Okular-devel mailing list
Okular-devel@kde.org
https://mail.kde.org/mailman/listinfo/okular-devel