Memory leak in Odyssey
  • Priest of the Order of the Butterfly
    Priest of the Order of the Butterfly
    Cool_amigaN
    Posts: 753 from 2011/11/30
    Hello, I have noticed since first usage of Odyssey that there is a massive memory leak.. and when I am talking about massive proportions, I mean it!
    Mainmemory system's componenets are: PowerMac G4@1,6GHz, 2GB Ram (1.5GB avail. under MorphOS). Software: MorphOS 3.1 + PackUltimate 3.1 / Odyssey v 1.17.
    Thing is that frequently I am opening lots of tabs (say 6-8) whereas always half of them are bloatware sites (starting from Youtube, Gmail to Facebook and others).
    Providing that the memory gadget on screenbar tells the truth, Odyssey requires only 80MB of Ram to boot and 30MB additionally when the spellchecker.library is accessed. Afterwards, around 80-100MBs of Ram are required for 1 YT webpage displaying a video (i,e. the famous 100 Amiga games in 10 mins) and the same amount for Gmail access. Problem is that even if I am closing the Gmail tab, the ram gadget shows that memory was NOT became free once again!
    After some hours of browsing (around 4-5) I am sure that I can reach it till zero (I had reach till 200MB Ram avail with NO tab openened other than the white page of "new tab"!.).
    Problem is replicable in my system and happens every time. Only solution is to close Odyssey entirely and open it again. Is there any log that I could sent t the author?
    Amiga gaming Tribute: Watch, rate, comment :)
  • »10.08.12 - 01:29
    Profile Visit Website
  • Fab
  • MorphOS Developer
    Fab
    Posts: 1331 from 2003/6/16
    The leak is in WebKit javascriptcore itself, and it's not actually a leak but virtual space consumption, which translates for us as leak since we don't have virtual spaces.
    Anyway, there's nothing to be done except bothering WebKit authors to waste less virtual space. It's the same on every WebKit-based browser out there. Safari can literally use GB or virtual space after a couple days uptime.

    Alternatively, you can disable javascript, and then it won't leak at all (or very little :)).

    [ Edited by Fab 10.08.2012 - 00:53 ]
  • »10.08.12 - 01:51
    Profile Visit Website
  • Priest of the Order of the Butterfly
    Priest of the Order of the Butterfly
    Cool_amigaN
    Posts: 753 from 2011/11/30
    Hey man, thanks for answering :)

    I have set js at default setting, now I will just disable it and report back.

    Btw, something else, I am observing that Odyssey usually writes on my hd (though I have plenty of ram space i.e.>1GB). Is this also related to the way Webkit operates?

    Secondly I have a (simple) feature request: On bottom left corner, Opera has a slider to zoom in / out a webpage (plus it has a "fit to width" gadget if a picture streches too much). On FF, it is possible to create buttons (+-) that do the exact same thing. I know about the keyboard's shortcut but is it possible to add similar type of (visual) funcionality to Odyssey as well?
    Amiga gaming Tribute: Watch, rate, comment :)
  • »10.08.12 - 09:18
    Profile Visit Website
  • Yokemate of Keyboards
    Yokemate of Keyboards
    takemehomegrandma
    Posts: 2720 from 2003/2/24
    Quote:

    Safari can literally use GB or virtual space after a couple days uptime.

    Alternatively, you can disable javascript, and then it won't leak at all (or very little :)).


    Would it be possible to have an option of Odyssey automatically disables/re-enables JS at certain points (and when JS is not in use by any web page of course), hence "flush"/free memory that way? Ugly perhaps...?
    MorphOS is Amiga done right! :-)
    MorphOS NG will be AROS done right! :-)
  • »10.08.12 - 09:52
    Profile
  • Yokemate of Keyboards
    Yokemate of Keyboards
    Andreas_Wolf
    Posts: 12132 from 2003/5/22
    From: Germany
    > Odyssey usually writes on my hd (though I have plenty of ram space i.e.>1GB).

    Your amount of RAM is irrelevant here. Depending on your OWB settings, OWB is writing to disk certain information like currently open tabs (/conf/sessions/session.prefs), HTML5 local storage (/conf/LocalStorage/) or favicons (/conf/WebpageIcons.db).
  • »10.08.12 - 11:54
    Profile
  • Fab
  • MorphOS Developer
    Fab
    Posts: 1331 from 2003/6/16
    @Cool_Amigan

    Disk writes can be issued for several reasons like Andreas gave : cookies, history, form autofilling, favicons, sessions, localstorage, bookmarks and so on. Many can be disabled though. And if you want to forbid writing completely, you can switch to private browsing mode, which is originally meant to avoid keeping track of what you browse, and hence avoid storing anything to the disk.

    As for a zoom +/- button, it would of course be very easy to do, but the thing is some might not want more buttons that clutter the UI, so it would have to be optional, in some kind of configurable toolbar/statusbar. I have plans for that, but it's always a bit boring to make that configurable.

    @takemehomegrandma

    The memory allocated by jscore is only totally freed at program exit. Disabling js at runtime isn't enough.
  • »10.08.12 - 13:15
    Profile Visit Website
  • Priest of the Order of the Butterfly
    Priest of the Order of the Butterfly
    Cool_amigaN
    Posts: 753 from 2011/11/30
    @Fab

    Though the best thing would be to make for us a configurable toolbar, I think that, either way, you should take advantage of the bottom bar since as it's for now, it's a waste of space.. too few information appear there. Imo, of course and I hope others agree with me on this one :)

    [ Edited by Cool_amigaN 10.08.2012 - 16:52 ]
    Amiga gaming Tribute: Watch, rate, comment :)
  • »10.08.12 - 15:52
    Profile Visit Website
  • MorphOS Developer
    geit
    Posts: 1044 from 2004/9/23
    Cool_amigaN,
    Quote:

    Though the best thing would be to make for us a configurable toolbar, I think that, either way, you should take advantage of the bottom bar since as it's for now, it's a waste of space.. too few information appear there. Imo, of course and I hope others agree with me on this one :)


    You know that the buttons can be configured as pop down menu?

    Just use the bookmark editor and create a folder. Dump in a few releated links and mark the folder itself to be shown as button.

    Now when you click on the bookmark button, a popup opens and you can select a site.

    Geit
  • »10.08.12 - 16:47
    Profile