Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

High usage of memory Ram and Problem with the Share link feature #24

Closed
MendesMarcus opened this issue Mar 25, 2021 · 3 comments
Closed
Labels

Comments

@MendesMarcus
Copy link

Some of us from the IEDB team have been using iCn3D for a while, and we ran into a few issues that we thought might require your immediate attention. When we attempt to select individual residues multiple times, each time changing their style and color, the webpage crashes often. We used Google Chrome and Firefox, each on both Windows 10 and Ubuntu/Mac. On the windows 10 machine, when I try to select a few residues, around four residues selection and change their style and color, Google Chrome memory RAM usage goes up to 4 Gb. On Ubuntu, repeating the same steps using Google Chrome resulted in many crashes, making it impossible to continue. Using Firefox, I managed to finish the process, but the process is very slow, and the webpage freezes for a few seconds and the memory usage goes up to 5 Gb.

Another issue that we would like to raise is the 'Share link' feature. In continuing with the issue mentioned earlier, we saved the steps of selecting residues and changing their style/color into a state file. When we open a new iCn3D window and open the state file, it loads the structure in the desired representation and color. With the structure loaded, now when we click on 'Share Link', a link is created. However, when we open this link, we find that the custom representation is lost, and the structure is loaded in the original state. For example, the desired representation shows the structure as a surface. Still, on opening the link, the structure is no longer shown as a surface but as a cartoon/ribbon representation.

@jiywang3
Copy link
Contributor

jiywang3 commented Mar 25, 2021

The high memory usage is probably due to the surface creation. Try to do that as the last step.

I fixed the share link issue. The '&' in the command string caused the problem.

Thank you for your bug report. Please let me know if you see any problems.

@jiywang3 jiywang3 added the bug label Mar 25, 2021
@jmahita
Copy link

jmahita commented Mar 26, 2021

Thank you for your response. However, we still face issues even without the surface representation. Here are the steps I did before it crashed (Google Chrome, Mac OSX)

  1. Open iCn3D
  2. Load '7DDD' PDB structure
  3. select chain 7DDD_A
  4. Color selection to color 1
  5. select chain 7DDD_B
  6. Color selection to color 2
  7. select chain 7DDD_C
  8. Color selection to color 3
  9. Open "View Sequence and Annotations", detailed view
  10. Select a single residue A
  11. Change style to 'Sphere'
  12. Change color to some color
  13. Select another single residue B
  14. Change style to 'Sphere'
  15. Change color to another color
    This is where it crashed, though it has crashed earlier or later (at random steps). Even without coloring the chains, and going directly to the residue selection step, it was found to crash.

@jiywang3
Copy link
Contributor

Wow, that's such a memory leak. It's related to the dispose() function in three.js (v103.0). I have to call "renderer.renderLists.dispose();" to get the memory finally cleared. It should be fixed in production! Thanks a lot for the bug report.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants