Freezing SuperMemo 16 after a prolonged use
|From=Henrik M. |Sent=Monday, January 26, 2015 15:47 PM |Subject=Supermemo Freezing
I'm having a problem with SuperMemo (Build: 16.06). Around 2-3 times per day the program will freeze and I'm forced to use the task manager to terminate it. The freezing always occurs after having used the program for an hour or two. (it does however not happen if the program has just been running idly in the background).
More specifically, SuperMemo 16 will freeze after prolonged use immediately following an action which opens a progress window.
Actions like filtering, updating tables, collecting elements, downloading images, deleting elements cause the program to freeze in an identical fashion. What happens is that the progress bar will usually progress a few percent (0-10%) and then just stop. The program does not stop responding (I can still minimize it and click on the "X", although the latter does nothing).
This problem seems related to two, more minor, issues which I'm having with SuperMemo:
- after prolonged use, SuperMemo slows down. I have a modern computer (Intel Core I7 @ 2.2 GHz running Windows 8.1, 12 GB RAM, running SuperMemo on an SSD) so switching between elements is almost instantaneous, but after having used the program for a while it starts taking something like a second to switch between them.
- SuperMemo starts eating up a lot of processor power after prolonged usage (around 15%, or 100% of one of the logical cores).
This is before and after closing SuperMemo. As can be seen, the utilization of CPU 7 drops dramatically after the program has been shut down.
These problems go away once i restart the program.
I tried looking for help online, but couldn't find anyone with the same issue. Here are some search terms i used:
- supermemo slow
- supermemo locking up
- supermemo freezing
- supermemo windows 8
These problems go away once I restart the program.
The only solution i could find was using "Rearranging Folders" to limit the number of children per node (I used to have many nodes with several hundred children). This alleviated the slowdown problem somewhat, but it is still very noticeable after a while.
Hint: IE, not SM
- this will most likely be related to the performance of Internet Explorer. You might consider updating the explorer, disabling add-ons, Flash, reinstalling the explorer (in Windows 8, disabling and re-enabling IE, or resetting the IE settings), removing extra toolbars, disabling indexing, dictionary, translation and anti-virus software (for a while), etc.
- there were some cases of Ask Toolbar causing problems with performance in SuperMemo (see if you do not have it installed, even if you have never asked for it)
- you might also have a look at articles that you import to SuperMemo. Are they very long, multimedia rich, using dozens of styles, using scripts, etc. SuperMemo will handle articles much better if you select text & import (Ctrl+Shift+A) rather than importing all with frames, scripts, advertising, etc.
- even with huge files to process in SuperMemo, it hard to get beyond 2% CPU use while browsing, reading, extracting, etc.. You might compare simple items vs. big imports (please submit URLs if you find "expensive" web pages)
- a similar problem in the past was documented due to a bug in stylesheet processing in older versions of Internet Explorer. You could peek into HTML code of some articles to see if they do not build up some HTML garbage code
- a user reported improvement in SuperMemo performance when fading effects were removed from Windows 8
- high CPU use is unlikely to be caused by SuperMemo during standard operations (some operations might be CPU intensive, e.g. HTML filtering, but the CPU use ends when the operation ends)
- large trees might slow down SuperMemo slightly, but will not cause a permanent problem or gradual slowdown or memory leaks
- reinstalling SuperMemo is unlikely to help
Hint: debugging tricks
- run SuperMemo on a neighboring PC (it should be free of the problem), compare all settings, software and services one by one
- run Windows in limited modes adding individual drivers and services gradually until the problem re-appears
- full anti-virus check. Some viruses can live in HTML files. Those could easily eat up resources.
- https://www.youtube.com/watch?v=xY9QIf8qoiQ (from 55th second)
- similar problem Wikipedia pages are slow to load (see how to uninstall Ask Toolbar)
User Follow up 1
Problem remains unresolved.
I've disabled all add-ons, updated IE, reset IE settings (etc) and I've even tried Supermemo on a another computer (the only programs I've installed are VLC, Teamviewer, 7zip and Google Drive).
I've also been able to recreate the problem using a dummy collection of 100 empty items. So it doesn't seem to be my current collection causing the problem. I've also been able to recreate the problem after reinstalling Supermemo.
The problem seems to be that Supermemo somehow retains previously viewed items. A quick way I've found to recreate the problem is by holding down F11 (access random item/topic). When I'm holding down the key, Supermemo uses 100% of the CPU. When i let go of the key, this percentage drops. There is however a ratchet effect. The percentage drops less and less the more times I've held down F11. For example: When i start Supermemo it utilizes around 1% of the CPU. When i hold down F11 this goes up to 100% (in one of the cores). When i let go it drops to 4-5%. Holding F11 again raises it to 100%. Then it drops down to 10-15%. And so on until it hits 100% and stays there, making the program very slow and prone to freezing.
User Follow up 2
I've tried SM on another (freshly formatted) computer and the problem persist.
SM does however work much better when i start my PC in safe mode (on both computers). SM still exhibits ratcheting behavior when I'm holding down F11, but during more normal use the CPU utilization always returns to 0% when the program is idle.
A very strange quirk I've noticed is that the ratcheting behavior does not occur when browsing through items from Advanced English 97 (even when not in safe mode). But as soon as i start browsing through other items/topics (even if they are empty) CPU utilization starts rising and stays up.
I have tried and will continue changing start up services, but so far I've had no luck.
- if the problem shows up on two computers, this could be caused by:
- investigating a subset of the problem that misses the key issue: "gradual persistent and irremediable use of resources up to a point of crash/hanging"
- common factor linking the two computers (e.g. if they work in the same network, they might both be infected by the same virus, or use the same interfering application)
- Advanced English 97 uses plain text components, while the problem seems to be associated with Internet Explorer whose rendering engine is called only to display HTML texts. Advanced English 2014 might cause problems (if HTML rendering is affected) or might not cause problems (if specific HTML structures needed to cause the problem are missing in HTML-less collection that uses HTML components)
- depending on the degree of resource use, the following might be normal/expected behavior: SM still exhibits ratcheting behavior when I'm holding down F11, but during more normal use the CPU utilization always returns to 0% when the program is idle. It should be hard to get above 10% CPU use with F11 on a strong PC even if the collection is full of long multimedia-rich HTML files. CPU use should fall back to baseline within 1-2 seconds after using F11.
- you might now safely focus on "CPU use in Internet Explorer" as all evidence points in that direction