#foswiki 2017-02-27,Mon

↑back Search ←Prev date Next date→ Show only urls(Click on time to select a line by its url)

WhoWhatWhen
GithubBot[NotificationPlugin] gac410 pushed 1 new commit to master: https://git.io/vyILN
NotificationPlugin/master 822707d George Clark: Item11574: Item14327 NotificationPlugin fixes...
[03:42]
***GithubBot has left [03:42]
FoswikiBothttps://foswiki.org/Tasks/Item11574 [ Item11574: Plugin buttons not working ] https://foswiki.org/Tasks/Item14327 [ Item14327: Multiple errors saving a new userNotifyList ] [03:42]
................... (idle for 1h30mn)
GithubBot[BugzillaLinkPlugin] gac410 pushed 1 new commit to master: https://git.io/vyIYw
BugzillaLinkPlugin/master dc9fd8b George Clark: Item2197: Port BugzillaLinkPlugin
[05:12]
***GithubBot has left [05:12]
FoswikiBothttps://foswiki.org/Tasks/Item2197 [ Item2197: Port BugzillaLinkPlugin to Foswiki ] [05:12]
***gk-1wm-su has left
gac410 has left
[05:25]
..................... (idle for 1h40mn)
GithubBot[distro] MichaelDaum pushed 1 new commit to Item14288: https://git.io/vyIZA
distro/Item14288 0410a3b MichaelDaum: Merge branch 'master' into Item14288
[07:08]
***GithubBot has left [07:08]
FoswikiBothttps://foswiki.org/Tasks/Item14288 [ Item14288: rewrite to support pluggable edit engines ] [07:08]
.... (idle for 15mn)
***ChanServ sets mode: +o cdot [07:23]
ChanServ sets mode: +o MichaelDaum [07:28]
....................................... (idle for 3h13mn)
GithubBot[distro] MichaelDaum pushed 1 new commit to Item14288: https://git.io/vyIau
distro/Item14288 7745f59 MichaelDaum: Item14288: raw and codemirror are ready to be used...
[10:41]
***GithubBot has left [10:41]
FoswikiBothttps://foswiki.org/Tasks/Item14288 [ Item14288: rewrite to support pluggable edit engines ] [10:41]
................................ (idle for 2h37mn)
***ChanServ sets mode: +o gac410 [13:18]
gac410hey cdot ... I posted a patch to Item14329 ... Not sure I really understand whats going on, and my tests don't really show that it helped :( [13:27]
FoswikiBothttps://foswiki.org/Tasks/Item14329 [ Item14329: Memory leaks in Foswiki ] [13:27]
.......... (idle for 49mn)
gac410cdot another little one. In a time far far away and long long ago, you implemented a "friendly" attribute parser, which accepts single quotes, commas, etc.
just for the fun of it I made it the default parser and everything seemed to still work, even unit tests passed.
[14:16]
cdotI think it's still in there [14:16]
gac410Yes ... I was going to ask why we never enabled it by default, other than he who shall not be named :D [14:17]
cdotoh, right. Jolly good. I think there are some obscure edge cases it doesn't handle, involving quote embeddings. [14:17]
gac410I wonder if a 2.2. feature might be to enable it by configuration setting. [14:17]
cdotbut I'm scraping the bottom of my brain for that. sooo.....
How would a punter choose? WHat are the pros/cons?
[14:17]
gac410y. I guess this was one where the BDFL rejected it? [14:18]
cdotpossibly. I know he didn't like it.
maybe some history on triki.org
[14:18]
gac410Not really sure of the rationale ... it does seem friendly enough. ;) seems a shame to let it all go to waste.
Maybe I'll write up a feature request to make it the default behavior and include the patch for others to test.
[14:19]
vrurggac410: BTW, I just saw your message about memory issues with SEARCH. If it what I think about then it's memory leaks caused by back-references from some objects created by SEARCH to their parent objects or to the session object. Practically unsolvable with the current model unless a lot of handwork on weaking references is applied. [14:22]
gac410y. I found one place where the MetaCache gets free'd without calling the TopicObject finish() methods. I added a call to that into the loop.
But it was hard to say the patch actually worked, as I was not seeing memory growth on my fcgi test server. :(
The patch to core/lib/Foswiki/MetaCache.pm is in Item14329, adding a call in the finish() loop
[14:23]
FoswikiBothttps://foswiki.org/Tasks/Item14329 [ Item14329: Memory leaks in Foswiki ] [14:26]
vrurgThere are some more problems of the kind. I dedicated some of my time specifically to address these issues. But in Moo it's easier because most of the time declaring an attribute with weak_ref is enough to fix the problem. For this reason I spotted few problems like storing data on the session object leaving it there without cleaning up. [14:33]
gac410y, I found lots of places that TopicObjects are declared, with circular pointers back to the session. It's bad news that the META points back to {session}, [14:34]
vrurgIt's not that bad. After all any object exists in an application context and thus having access to the application representing object is ok. Just a matter of taking care of the circulars. [14:38]
gac410102 circular refs in the current code (was 56 back in 2005) My patches dropped it to 99. So not much help according to the MemoryCycleTests. [14:39]
vrurgThe only alternative is to reference the parent object and trace down to the root whenever you need the app – but it doesn't solve the circularity too. [14:40]
gac410I assume that one fix is to ensure that finish() is always called for all nested objects, and that the finish() routine alwasy undef the circular reference?
ie my change: finish on MetaCache, has to call finish() on each Meta, which in turn undefs the {session} circular ref.
[14:41]
vrurgBTW, I have patched the DevelLeak to store stack traces of leaked objects. Greatly simplifies locating the bad code. [14:42]
gac410Oooh... I'll have to look. The current code doesn't find *any* circular refs without first nullifying the Foswiki::finish() ...
and I'm out of time. Gotta head to an appt.
[14:43]
vrurgIn the current model – finish()'ing everywhere does seem to be the only solution. The problem is that some data is quite complex; and that unconditional calling of finish() could lead to 'use of undefined value'.
The simplest base finish could simply traverse keys on the object checking if a key is blessed and can do finish() and then call it.
cu later!
[14:44]
............................ (idle for 2h16mn)
***ChanServ sets mode: +o Lynnwood [17:01]

↑back Search ←Prev date Next date→ Show only urls(Click on time to select a line by its url)