| *** benji has quit IRC | 00:01 | |
| *** efge has quit IRC | 00:06 | |
| srichter | J1m: I am chasing one of those empty pages again :-( | 00:07 | 
|---|---|---|
| J1m | Huh? | 00:07 | 
| GaryPoster | I get those with component lookups sometimes | 00:08 | 
| J1m | ah | 00:08 | 
| srichter | I have a page (addform) for the Site Manager and it will not find it | 00:08 | 
| GaryPoster | I mean, a lookup failure somehow makes the page not return. | 00:08 | 
| J1m | I think someone must have broken something in zpt. | 00:08 | 
| srichter | right, log says I have a 404 | 00:09 | 
| J1m | This is a fairly recent problem. | 00:09 | 
| srichter | yes | 00:09 | 
| J1m | Hm, I wonder if it has something to do with the NotFoundError refactoring. | 00:09 | 
| srichter | probably | 00:09 | 
| J1m | You should file a critical bug on it. | 00:09 | 
| J1m | Fe can go for a February release. ;) | 00:10 | 
| J1m | We can go for a February release. ;) | 00:10 | 
| srichter | I have not much info though | 00:10 | 
| J1m | It is actually a fairly serious bug. | 00:11 | 
| srichter | yep | 00:11 | 
| srichter | and hard to debug | 00:11 | 
| J1m | It would be great for someone to pursue it. | 00:11 | 
| srichter | I am looking into it, but I am not even getting to a ZPT error yet | 00:12 | 
| srichter | if I add my pdb breakpoint in the Adding class, it does nto even get there | 00:12 | 
| srichter | (which is really weird) | 00:13 | 
| J1m | I'm 67% sure that any error raised by code caled by a template causes the white screen of death. | 00:14 | 
| srichter | ok, now I at least have a breakpoint | 00:14 | 
| srichter | ok, I am getting closer | 00:17 | 
| GaryPoster | <the suspense is intense> | 00:18 | 
| srichter | the problem is that (in my case at least), queryMultiAdapter fails with a ComponentLookupError | 00:18 | 
| srichter | (Pdb) view_name | 00:19 | 
| srichter | u'AddWebDevPackage.html' | 00:19 | 
| srichter | (Pdb) zapi.queryMultiAdapter((self, self.request), name=view_name) | 00:19 | 
| srichter | *** ComponentLookupError: ((<zope.schema._bootstrapfields.Field object at 0xb47f4b6c>, <zope.publisher.browser.BrowserRequest instance URL=http://localhost:8080/++etc++site/@@+/action.html>), <InterfaceClass zope.app.form.interfaces.IInputWidget>, u'') | 00:19 | 
| srichter | (Pdb) self | 00:19 | 
| srichter | <zope.app.publisher.browser.viewmeta.+ object at 0xb45c3c0c> | 00:19 | 
| srichter | (Pdb) IAdding.providedBy(self) | 00:19 | 
| srichter | True | 00:19 | 
| GaryPoster | my most recent was a component lookup error called from within a template, as Jim described (Jim, does that push you up to 68%?) | 00:19 | 
| J1m | No | 00:20 | 
| J1m | (Gary is a wild man. 68%. Hah.) | 00:20 | 
| GaryPoster | lol | 00:20 | 
| srichter | LOL | 00:20 | 
| *** zbir has quit IRC | 00:21 | |
| srichter | ok, in my case it seems okay that queryMultiAdapter spews a ComponentLookupError | 00:23 | 
| srichter | so for some reason the ComponentLookupError does not propagate correctly | 00:23 | 
| srichter | which slowly makes me believe that Jim is right | 00:24 | 
| GaryPoster | It's sometimes hard to believe, I understand | 00:25 | 
| srichter | he he | 00:25 | 
| srichter | mmh, we should have a configuration flag in zope.conf for turning off exception handling | 00:26 | 
| srichter | I now think Jim is even more right :-) | 00:33 | 
| srichter | the exception that occurs correctly looks up the NotFound view | 00:33 | 
| srichter | but rendering the NotFound view by calling it, produces an empty string | 00:34 | 
| J1m | so the exception makes it out to the publisher? | 00:34 | 
| srichter | yes | 00:34 | 
| srichter | but now I am not sure whether NotFound produces yet another exception that causes the empty string | 00:35 | 
| J1m | where is that exception view defined? | 00:35 | 
| J1m | Ooooooooooooh | 00:35 | 
| srichter | note that my exception above is raised before any ZPT code is executed | 00:35 | 
| J1m | Eureka! | 00:35 | 
| srichter | huh? | 00:36 | 
| J1m | I'm 73% sure this is due to the wrong view being looked up. | 00:36 | 
| srichter | he he | 00:36 | 
| J1m | I think there is a view registered for webdav that does this. | 00:37 | 
| srichter | (Pdb) view | 00:37 | 
| srichter | <zope.app.http.exception.notfound.NotFound object at 0xb48606cc> | 00:37 | 
| srichter | (Pdb) request | 00:37 | 
| srichter | <zope.publisher.browser.BrowserRequest instance URL=http://localhost:8080/++etc++site/@@+/action.html> | 00:37 | 
| srichter | (Pdb) exception | 00:37 | 
| srichter | <zope.component.interfaces.ComponentLookupError instance at 0xb488ffcc> | 00:37 | 
| J1m | Look at that view. | 00:38 | 
| J1m | It returns an empty string. | 00:38 | 
| J1m | Sidnei created this for webdav | 00:38 | 
| srichter | ahhhh! | 00:38 | 
| J1m | It shouldn't be used for browsers. | 00:38 | 
| srichter | right | 00:39 | 
| J1m | It is overriding the default exception view. | 00:39 | 
| srichter | but it does use it, because HTT is a generic Browser request | 00:39 | 
| J1m | hm, no | 00:39 | 
| J1m | that's not right | 00:39 | 
| J1m | I thought we had another view. | 00:39 | 
| J1m | Yes it is. | 00:40 | 
| srichter | but if ComponentLookupError is an zope.exceptions.INotFoundError, it makes sense | 00:40 | 
| J1m | We want the "system" error view tegistered for this exception. | 00:40 | 
| *** d2m has quit IRC | 00:40 | |
| srichter | I guess we really just want to remove the BBB | 00:41 | 
| srichter | because it causes all the trouble | 00:41 | 
| J1m | We need to register the "system error" view for "INotFouneError and IBrowserRequest" | 00:42 | 
| J1m | No, I don't think so. | 00:42 | 
| srichter | oh, yes, you are right | 00:42 | 
| J1m | I don't think it goes away in 3.3. | 00:42 | 
| J1m | I think it changes | 00:42 | 
| J1m | It would be nice to have a functional test for this fix. | 00:42 | 
| J1m | :) | 00:43 | 
| srichter | I think I can write one now that I know what's wrong | 00:43 | 
| srichter | where is the system error for browser defined? | 00:43 | 
| J1m | I'm glad you decided to change this. | 00:43 | 
| J1m | zope/app/exception/browser | 00:44 | 
| J1m | <page | 00:44 | 
| J1m | for="zope.interface.common.interfaces.IException" | 00:44 | 
| J1m | name="index.html" | 00:44 | 
| J1m | template="systemerror.pt" | 00:44 | 
| J1m | class="..systemerror.SystemErrorView" | 00:44 | 
| J1m | permission="zope.Public" | 00:44 | 
| J1m | /> | 00:44 | 
| srichter | it should not be a NotFound error page?; I guess not | 00:45 | 
| J1m | Need to be registered for INotFounedError too. | 00:45 | 
| J1m | No, the notfound page is for a publisher not found | 00:45 | 
| srichter | oh, I see | 00:45 | 
| J1m | Meaning someone asked for a page that didn't exist. | 00:46 | 
| J1m | As apposed to the programmer doing something dumb. | 00:46 | 
| J1m | opposed | 00:46 | 
| srichter | ok, now I am getting the right thing | 00:46 | 
| J1m | whatever | 00:46 | 
| srichter | I am going to write a test and check it in | 00:46 | 
| J1m | cool | 00:46 | 
| J1m | I'm still struggling w twisted and large-file output. | 00:47 | 
| srichter | :-( | 00:47 | 
| WebMaven | now that's cleared up, what is BBB? | 00:47 | 
| srichter | WebMaven: backward-compatibility flag | 00:47 | 
| WebMaven | Ah, thx. | 00:47 | 
| srichter | or, when I write text the abbreviation of backward-compatibility :-) | 00:48 | 
| jenner | good to know, I wondered too what this might mean :) | 00:49 | 
| jenner | actually I thought that's a nick name or a username for svn or something :) | 00:50 | 
| *** MiUlEr has joined #zope3-dev | 00:52 | |
| jenner | what's the z3 way of doing container.objectValues(mytype)? s.th. like [i for i in container.values() if IMyType.providedBy(i)]? | 00:56 | 
| J1m | yup | 00:56 | 
| jenner | thnx | 00:57 | 
| J1m | jenner, I'm redoing the way that large output is handled. :) | 00:57 | 
| J1m | My plan is that you will be able to simply return a file to the publisher. | 00:57 | 
| jenner | J1m: cool :) | 00:57 | 
| *** J1m has quit IRC | 00:58 | |
| jenner | Damn, he left.. I just wanted to ask about thread-safety and sharing open file descriptors... | 01:00 | 
| srichter | GaryPoster: ok fixed and tested, just have to run all tests | 01:03 | 
| GaryPoster | awesome | 01:03 | 
| *** jinty has quit IRC | 01:05 | |
| GaryPoster | later | 01:06 | 
| WebMaven | l8r | 01:07 | 
| *** GaryPoster has quit IRC | 01:24 | |
| *** MiUlEr has quit IRC | 01:51 | |
| *** deo has quit IRC | 01:53 | |
| *** philiKON has joined #zope3-dev | 02:11 | |
| *** GaryPoster has joined #zope3-dev | 02:12 | |
| jenner | heh "Failure: twisted.internet.error.ConnectionLost: Connection to the other side was lost in a non-clean fashion." <- that's a nice way to say "user pressed the stop button" :) | 02:28 | 
| lifeless | jenner: erm | 02:31 | 
| lifeless | jenner: HTTP/1.0 ? | 02:31 | 
| jenner | nope, 1.1 | 02:32 | 
| * jenner managed to freeze the publisher | 02:33 | |
| *** newpers_ has joined #zope3-dev | 02:36 | |
| *** philiKON has quit IRC | 02:39 | |
| lifeless | sweet | 02:40 | 
| lifeless | http hath no cancel ;) | 02:40 | 
| jenner | yay :) | 02:43 | 
| lifeless | if that printed on the console, its probably a lost event | 02:45 | 
| lifeless | which means you need a failure handler for it ;) | 02:45 | 
| *** zbir has joined #zope3-dev | 03:12 | |
| jenner | lifeless: and I can't even stop the daemon with ^C | 03:13 | 
| lifeless | ^\ ? | 03:15 | 
| jenner | it doesn't even respond to kill -s SIGINT | 03:15 | 
| *** vinsci has joined #zope3-dev | 03:21 | |
| *** niemeyer has quit IRC | 03:27 | |
| *** yota has quit IRC | 03:32 | |
| *** jenner has quit IRC | 03:40 | |
| *** _anguenot has joined #zope3-dev | 03:53 | |
| *** efge has joined #zope3-dev | 03:54 | |
| *** WebMaven has quit IRC | 05:01 | |
| *** GaryPoster has quit IRC | 05:14 | |
| *** efge has quit IRC | 05:18 | |
| *** GaryPoster has joined #zope3-dev | 06:04 | |
| *** GaryPoster has quit IRC | 06:05 | |
| *** stub has quit IRC | 06:47 | |
| *** stub has joined #zope3-dev | 06:49 | |
| *** stub has quit IRC | 06:53 | |
| *** stub has joined #zope3-dev | 06:57 | |
| *** newpers_ is now known as newpers | 07:50 | |
| *** natea has quit IRC | 08:02 | |
| *** MacYET has joined #zope3-dev | 08:50 | |
| *** eins has joined #zope3-dev | 09:01 | |
| eins | hi all | 09:01 | 
| MacYET | zwei | 09:09 | 
| eins | MacYET morning;) | 09:13 | 
| *** zagy has joined #zope3-dev | 09:27 | |
| *** dobee has joined #zope3-dev | 09:46 | |
| *** yota has joined #zope3-dev | 09:50 | |
| *** Aiste has quit IRC | 09:54 | |
| *** tahara has quit IRC | 09:55 | |
| *** Aiste has joined #zope3-dev | 10:03 | |
| *** jenner has joined #zope3-dev | 10:20 | |
| romanofski | moin | 10:34 | 
| *** efrerich has joined #zope3-dev | 10:44 | |
| *** d2m has joined #zope3-dev | 10:58 | |
| eins | hi romanofski | 10:58 | 
| romanofski | hi eins | 10:59 | 
| *** VladDrac has joined #zope3-dev | 11:03 | |
| * jenner wonders if subscribing to IBeforeTraverseEvent is the right way to make an object traversable | 11:06 | |
| eins | :) | 11:08 | 
| *** efrerich has quit IRC | 11:31 | |
| *** dobee has quit IRC | 11:48 | |
| *** zagy has left #zope3-dev | 11:55 | |
| jenner | guys, if I have a class implementing IPublishTraverse and I see that its publishTraverse method returns a valid subitem, but I get a 404 nevertheless - what might be the problem then? the subitems are of the same class as their parent (the parent however is not an IContainer) | 12:16 | 
| * MacYET hands jenner some xmas-cookies | 12:32 | |
| * jenner turns on the "Accept cookies" option and asks MacYET to hand them over again | 12:35 | |
| MacYET | too late, they just expired | 12:36 | 
| jenner | damn :) | 12:37 | 
| *** romanofski has quit IRC | 12:39 | |
| *** efge has joined #zope3-dev | 12:44 | |
| *** jinty has joined #zope3-dev | 12:48 | |
| jenner | yiihaaa, it works - forgot to fallback to a view if no subobjects are found, so obj/subobj/index.html raised a NotFound :) | 12:55 | 
| *** faassen has joined #zope3-dev | 13:07 | |
| jenner | ah, here is it again: "Failure: twisted.internet.error.ConnectionLost: Connection to the other side was lost in a non-clean fashion." | 13:08 | 
| jenner | et rien ne va plus | 13:08 | 
| MacYET | self.__you_lose() | 13:12 | 
| jenner | MacYET: you lost? | 13:12 | 
| *** romanofski has joined #zope3-dev | 13:13 | |
| *** _anguenot has quit IRC | 13:14 | |
| jenner | Hm, returning a file content iterator is evil in IResult, it looks like the whole process is running out of free file descriptors if it has to serve a whole bunch of objects at once | 13:15 | 
| *** mgedmin has joined #zope3-dev | 13:15 | |
| *** philiKON has joined #zope3-dev | 13:18 | |
| *** Aiste_ has joined #zope3-dev | 13:21 | |
| romanofski | adamSummers: you around? | 13:22 | 
| *** Aiste has quit IRC | 13:22 | |
| *** Aiste_ is now known as Aiste | 13:24 | |
| *** niemeyer has joined #zope3-dev | 13:28 | |
| *** alga has joined #zope3-dev | 13:32 | |
| *** Aiste has quit IRC | 13:32 | |
| *** Aiste has joined #zope3-dev | 13:33 | |
| *** jinty has quit IRC | 13:40 | |
| *** jenner has quit IRC | 13:44 | |
| *** efrerich has joined #zope3-dev | 13:50 | |
| *** niemeyer has quit IRC | 13:50 | |
| *** niemeyer has joined #zope3-dev | 13:51 | |
| adamSummers | romanofski - yes :) | 14:10 | 
| *** Aiste has quit IRC | 14:12 | |
| *** Aiste has joined #zope3-dev | 14:18 | |
| *** zbir has quit IRC | 14:44 | |
| *** Aiste_ has joined #zope3-dev | 14:45 | |
| *** Aiste has quit IRC | 14:46 | |
| *** Aiste_ is now known as Aiste | 14:47 | |
| *** _anguenot has joined #zope3-dev | 14:57 | |
| *** ignas has joined #zope3-dev | 14:57 | |
| *** GaryPoster has joined #zope3-dev | 14:59 | |
| *** GaryPoster has quit IRC | 15:03 | |
| *** xenru has quit IRC | 15:21 | |
| *** bradb has joined #zope3-dev | 15:25 | |
| *** mgedmin has quit IRC | 15:45 | |
| *** zbir has joined #zope3-dev | 15:52 | |
| *** xenru has joined #zope3-dev | 15:55 | |
| *** efrerich has quit IRC | 15:57 | |
| *** alga_ has joined #zope3-dev | 16:08 | |
| *** alga has quit IRC | 16:09 | |
| *** GaryPoster has joined #zope3-dev | 16:25 | |
| *** alga_ has quit IRC | 16:38 | |
| *** eins has quit IRC | 16:53 | |
| *** mgedmin has joined #zope3-dev | 17:00 | |
| *** Aiste has quit IRC | 17:03 | |
| *** alga has joined #zope3-dev | 17:04 | |
| *** J1m has joined #zope3-dev | 17:09 | |
| *** ruda_porto has joined #zope3-dev | 17:21 | |
| *** natea has joined #zope3-dev | 17:28 | |
| *** xenru has quit IRC | 17:44 | |
| efge | J1m: are you available for a ZODB question? | 17:48 | 
| J1m | I guess | 17:48 | 
| efge | ok:) | 17:48 | 
| efge | so in Connection._store, there's a call to _store_objects that may raise a write ConflictError if the storage cannot handle conflict resolution | 17:49 | 
| efge | but if this happens, nothing is invalidated or marked modified about the conflicting object that I can see | 17:49 | 
| J1m | I don't have time for a question that requires that I read code. :) | 17:49 | 
| J1m | This is such a question. :) | 17:49 | 
| efge | and I don't understand how the next transaction will be able to get a fresher object | 17:50 | 
| efge | ok then :) | 17:50 | 
| efge | thx anyway | 17:50 | 
| J1m | Try sending mail to the zodb list. | 17:50 | 
| efge | ok I'll keep debugging a bit | 17:51 | 
| *** natea has quit IRC | 18:00 | |
| *** natea has joined #zope3-dev | 18:01 | |
| *** _anguenot has quit IRC | 18:23 | |
| *** natea has quit IRC | 18:50 | |
| *** ruda_porto is now known as ruda-out | 18:52 | |
| *** ignas has quit IRC | 19:08 | |
| J1m | Please see the message I just sent to the list. | 19:14 | 
| srichter | J1m: +1 | 19:17 | 
| J1m | Cool, thanks | 19:17 | 
| *** efrerich has joined #zope3-dev | 19:19 | |
| MacYET | what about b2? | 19:24 | 
| srichter | I'll cut it as soon as Jim gives me a green light | 19:24 | 
| srichter | do we have to talk to Tim about ZODB? | 19:25 | 
| MacYET | you have three hours :-) then i will be off mostly until after my vacation:-) | 19:25 | 
| srichter | ok, when is that done? | 19:25 | 
| MacYET | Jan 5th | 19:25 | 
| zbir | "mostly off"? is that like "kinda pregnant"? | 19:25 | 
| MacYET | hehe | 19:25 | 
| srichter | LOL | 19:25 | 
| J1m | MacYET, I'm not sure you need to wait for us. | 19:26 | 
| J1m | Nothing I'm doing will affect Zope 2. | 19:26 | 
| J1m | If the choice is between: | 19:26 | 
| MacYET | isn't 2.9 using tags for the svn:externals? | 19:26 | 
| zbir | srichter: I've made parallel changes to the run_debug command. | 19:26 | 
| zbir | in both zope.app.[server|twisted].controller | 19:27 | 
| J1m | - Waiting till January to make beta 2 based on 3.2b2 and | 19:27 | 
| srichter | zbir: great | 19:27 | 
| * MacYET checks | 19:27 | |
| J1m | - Making 2.9b2 based on the current 3.2 branch now | 19:27 | 
| J1m | I am strongly in favor of the second option. | 19:27 | 
| J1m | The external need not use a tag. | 19:27 | 
| * srichter notes (again) that December is a bad month for releasing software | 19:27 | |
| srichter | me too | 19:28 | 
| MacYET | lib/python/zope refers to tags/Zope-3.2.0b1 | 19:28 | 
| MacYET | so I need a tag | 19:28 | 
| J1m | J1m, notes again that we should be releasing at the beginning of December. | 19:28 | 
| J1m | MacYET, no, you don't. | 19:28 | 
| MacYET | shall i refer to the 3.2 branch? | 19:29 | 
| J1m | Change the external to point to the current revision number and the 3.2 branch. | 19:29 | 
| J1m | yes | 19:29 | 
| srichter | yeah, probably witha specific rev # | 19:29 | 
| J1m | *and* the current revision. Use -r | 19:29 | 
| J1m | That's how we refer to twisted. | 19:29 | 
| MacYET | sure | 19:29 | 
| srichter | J1m: re December: as we can see this does not work; it's a psycological issue | 19:29 | 
| J1m | srichter, yes, it's a discipline issue. | 19:30 | 
| J1m | anyway, the next Freeze is gonna be April 1. :) | 19:30 | 
| srichter | LOL | 19:30 | 
| srichter | I think it will not matter | 19:30 | 
| zbir | J1m: If it's still freezing here in April, I'm moving South. | 19:31 | 
| zbir | ;) | 19:31 | 
| srichter | people did not get scared enough about failing the release until mid-December | 19:31 | 
| J1m | srichter, if we disallow new features on the trunk, they will be well motivated. | 19:31 | 
| J1m | Besides, I think you are being too cynical. | 19:32 | 
| J1m | People are very committed to times releases. | 19:32 | 
| J1m | timed | 19:33 | 
| J1m | anyway, I need to get back to work. | 19:34 | 
| srichter | :-) | 19:34 | 
| MacYET | Error in test testParseTimeZone (zope.i18n.tests.test_formats.TestDateTimeFormat) | 19:50 | 
| MacYET | Traceback (most recent call last): | 19:50 | 
| MacYET | File "/opt/python-2.4.2/lib/python2.4/unittest.py", line 260, in run | 19:50 | 
| MacYET | testMethod() | 19:50 | 
| MacYET | File "/develop/sandboxes/Zope-2.9/b2/lib/python/zope/i18n/tests/test_formats.py", line 295, in testParseTimeZone | 19:50 | 
| MacYET | dt = self.format.parse('09:48 -600', 'HH:mm z') | 19:50 | 
| MacYET | File "/develop/sandboxes/Zope-2.9/b2/lib/python/zope/i18n/format.py", line 140, in parse | 19:50 | 
| MacYET | tzinfo = pytz.FixedOffset(hours * 60 + mins) | 19:50 | 
| MacYET | AttributeError: 'module' object has no attribute 'FixedOffset' | 19:50 | 
| MacYET | Error in test testParseTimeZone (zope.i18n.tests.test_formats.TestDateTimeFormat) | 19:50 | 
| MacYET | Traceback (most recent call last): | 19:50 | 
| MacYET | File "/opt/python-2.4.2/lib/python2.4/unittest.py", line 260, in run | 19:50 | 
| MacYET | testMethod() | 19:51 | 
| MacYET | File "/develop/sandboxes/Zope-2.9/b2/lib/python/zope/i18n/tests/test_formats.py", line 295, in testParseTimeZone | 19:51 | 
| MacYET | dt = self.format.parse('09:48 -600', 'HH:mm z') | 19:51 | 
| MacYET | File "/develop/sandboxes/Zope-2.9/b2/lib/python/zope/i18n/format.py", line 140, in parse | 19:51 | 
| MacYET | tzinfo = pytz.FixedOffset(hours * 60 + mins) | 19:51 | 
| MacYET | AttributeError: 'module' object has no attribute 'FixedOffset' | 19:51 | 
| MacYET | any bells ringing? | 19:51 | 
| srichter | yeah, pytz must be updated | 19:52 | 
| srichter | Gary recently changed some pytz code in that respect | 19:52 | 
| srichter | GaryPoster: ping | 19:52 | 
| *** BjornT has quit IRC | 19:53 | |
| * MacYET sighs | 19:53 | |
| srichter | but I am surprised it fails | 19:53 | 
| srichter | because it should just be part of the branch | 19:53 | 
| * MacYET floodpings GaryPoster | 19:56 | |
| srichter | I pinged him on AIM too, but he seems to be gone with the wind :-) | 19:57 | 
| MacYET | damn :-) | 19:57 | 
| srichter | MacYET: where are you getting your pytz version from? | 19:57 | 
| srichter | what is the external? | 19:57 | 
| MacYET | no idea :-) | 19:57 | 
| srichter | well, once you know, you have the answer :-) | 19:58 | 
| MacYET | argh..there are much more svn:extnerals | 19:58 | 
| srichter | right, you need switch all externals | 19:58 | 
| MacYET | how can i figre out which packages under lib/python are included through svn:externals? | 19:59 | 
| srichter | svn stat | 20:00 | 
| srichter | all packages that are externals will have an X | 20:00 | 
| GaryPoster | srichter macYET: pong | 20:02 | 
| MacYET | svn stat pytz tells me nothing about externals | 20:03 | 
| srichter | just do svn stat lib/python | 20:03 | 
| GaryPoster | macYET: that's very weird. You have another pytz in your Python path, maybe? | 20:03 | 
| srichter | and if pytz is listed with an X before it, it is an external | 20:03 | 
| *** tarek has quit IRC | 20:03 | |
| GaryPoster | pytz is not an extrenal | 20:03 | 
| MacYET | nope | 20:03 | 
| zbir | hurray, MacYET and I break the buildbots :) | 20:03 | 
| GaryPoster | external | 20:03 | 
| srichter | GaryPoster: he is making a Zope 2 release | 20:04 | 
| srichter | GaryPoster: it is probably an external there | 20:04 | 
| GaryPoster | ah | 20:04 | 
| *** tarek has joined #zope3-dev | 20:04 | |
| MacYET | ajung@sentinel:~/sandboxes/Zope-2.9/b2/lib/python: svn info pytz | 20:04 | 
| MacYET | Path: pytz | 20:04 | 
| MacYET | URL: svn://svn.zope.org/repos/main/Zope3/tags/Zope-3.2.0b1/src/pytz | 20:04 | 
| MacYET | where is this reference to b1 defined ? | 20:05 | 
| GaryPoster | ok, point to the 3.2 branch and you should be fine | 20:05 | 
| MacYET | svn propedit svn:externals pytz give menothing | 20:05 | 
| GaryPoster | I dunno about externals | 20:05 | 
| srichter | svn propedit svn:externals lib/python | 20:06 | 
| srichter | :-) | 20:06 | 
| srichter | always use the parent | 20:06 | 
| * MacYET *SIGH* | 20:06 | |
| * J1m feels bad for MacYET and hopes someone helps him. | 20:09 | |
| srichter | I was hoping he makes progress :-) | 20:10 | 
| * MacYET is trying :) | 20:10 | |
| * MacYET enters panic runlevel | 20:10 | |
| J1m | That's a bad runlevel for making releases. | 20:10 | 
| J1m | Maybe it would be better to wait until January. | 20:11 | 
| J1m | You can blame it on us. | 20:11 | 
| J1m | (Of course, by "us", I mean Gary. ;) | 20:11 | 
| GaryPoster | blah blah! :-) | 20:12 | 
| zbir | is it friday yet? | 20:12 | 
| MacYET | don't release software the day before x-mas | 20:12 | 
| srichter | the new law! | 20:13 | 
| J1m | OK, don't release it tomorrow | 20:13 | 
| MacYET | i am working on it...let me try | 20:13 | 
| *** tarek_ has joined #zope3-dev | 20:18 | |
| *** jenner has joined #zope3-dev | 20:22 | |
| jenner | heya | 20:22 | 
| *** tarek has quit IRC | 20:22 | |
| *** MiUlEr has joined #zope3-dev | 20:24 | |
| MacYET | all tests passed | 20:25 | 
| GaryPoster | yay! | 20:25 | 
| jenner | J1m: I just read your mail about IResult and large result support... is there anything so far which I can stress-test? :) I noticed that with my current setup where I return DirectResult(fileIterator, ..) I get problems when loading pages where a lot of data has to be return as fileIterators... like some album with 50 photos on one page | 20:25 | 
| jenner | J1m: at some point twisted raises a connection error and zope freezes completely (doesn't even respond to `kill -s SIGINT`) | 20:26 | 
| J1m | Interesting | 20:26 | 
| J1m | hm | 20:26 | 
| J1m | Yeah, you can definately stress test what I check in. | 20:27 | 
| J1m | That would be greatly appreciated. | 20:27 | 
| J1m | Think of it as your Christmas present to me. :) | 20:27 | 
| jenner | I suspect it may run out of free file descriptors... I'm not sure but wouldn't each thread create a new file object? | 20:27 | 
| jenner | J1m: :)) | 20:28 | 
| J1m | hm | 20:28 | 
| MacYET | Zope 2.9.0b2 released | 20:28 | 
| J1m | Yay! | 20:28 | 
| jenner | MacYET: ho ho ho :) | 20:28 | 
| MacYET | :-) | 20:29 | 
| J1m | jenner, what platform? | 20:29 | 
| *** mgedmin has quit IRC | 20:29 | |
| jenner | J1m: debian/sid, P4 3GHz, 1.5 GB RAM | 20:30 | 
| J1m | jenner, I think that my change is more likely to make you run out of file descriptors. | 20:30 | 
| jenner | bummer :( | 20:30 | 
| jenner | I mean... I could raise the ulimit :) | 20:30 | 
| J1m | As it is now, the number of active requests, and thus consumers of file descriptors is limited by the number of threads. | 20:30 | 
| J1m | With my change, the files will be output by twisted's main thread. | 20:32 | 
| J1m | They won't be throttled by the thread limit. | 20:32 | 
| jenner | Hm, right | 20:33 | 
| J1m | Note that for smallter files, it would be better to return the contents as a string. | 20:33 | 
| J1m | smaller | 20:33 | 
| jenner | J1m: yes, already doing so (if the size is smaller then my chunk length) | 20:34 | 
| J1m | I kinda doubt that you are tunning out of descriptors. | 20:35 | 
| jenner | It would be nice if WSGI would have a specification for s.th. like apache (and therefor mod_pythons) send_file() | 20:35 | 
| jenner | J1m: any other ideas then? | 20:35 | 
| jenner | Let me reproduce it quick, I'll paste the error I get | 20:35 | 
| * MacYET disappears for x-mas vacation | 20:36 | |
| *** faassen has quit IRC | 20:36 | |
| GaryPoster | thanks macYET | 20:36 | 
| GaryPoster | happy vacation | 20:36 | 
| MacYET | tnx :-) | 20:36 | 
| *** MacYET has left #zope3-dev | 20:36 | |
| jenner | Hm, heisenbug | 20:38 | 
| *** tarek_ has quit IRC | 20:41 | |
| *** tarek_ has joined #zope3-dev | 20:41 | |
| jenner | J1m: I can't reproduce it :) | 20:43 | 
| * jenner turns red | 20:43 | |
| J1m | :) | 20:43 | 
| jenner | actually, it's freaking fast | 20:44 | 
| * jenner keeps pushing the reload button hoping to kill the publisher somehow :) | 20:46 | |
| jenner | There! "Failure: twisted.internet.error.ConnectionLost: Connection to the other side was lost in a non-clean fashion." | 20:46 | 
| J1m | And this makes zope hang? | 20:47 | 
| J1m | Feels like a twisted bug :( | 20:47 | 
| jenner | It *made* it hang, not any more | 20:47 | 
| *** bradb has left #zope3-dev | 20:47 | |
| J1m | I'n not sure what that means. | 20:47 | 
| J1m | Twisted is just complaining that the client broke the connection. | 20:48 | 
| jenner | J1m: easy to reproduce actually, load a lot of data and hit the stop button | 20:48 | 
| J1m | But the server keeps handling requests, right? | 20:48 | 
| jenner | J1m: yes, it does. | 20:49 | 
| J1m | whew | 20:49 | 
| jenner | though I saw the same error this morning with exactly the same data and after some time the server just stopped working | 20:50 | 
| jenner | whatever, maybe I had some other hungry processes running... can't reproduce it anymore | 20:50 | 
| jenner | J1m: sorry for the noise :) | 20:53 | 
| J1m | np | 20:53 | 
| J1m | You can make it up to me by testing the new machinery. | 20:53 | 
| jenner | "Ready when you are, Sergeant Pembry." :) | 20:55 | 
| *** alga has quit IRC | 21:02 | |
| *** efge has quit IRC | 21:03 | |
| *** tonico has quit IRC | 21:03 | |
| *** stub has quit IRC | 21:15 | |
| *** tarek_ has quit IRC | 21:19 | |
| *** efge has joined #zope3-dev | 21:23 | |
| *** Theuni has joined #zope3-dev | 21:26 | |
| *** Aiste has joined #zope3-dev | 21:27 | |
| jenner | Hm, can anyone point me to an example of how to use pdb with z3? The server has frozen again... | 21:38 | 
| J1m | jenner, can I get you to test against the 3.2 branch? | 21:38 | 
| jenner | J1m: sure | 21:38 | 
| J1m | You should be able to use svn switch to switch to that pretty easily. | 21:38 | 
| J1m | I hope to be checking in rsn. | 21:38 | 
| jenner | I'm using a sandbox, so it's a matter of minutes to have a fresh branch checkout | 21:39 | 
| jenner | ok, I'm on 3.2 | 21:47 | 
| dman13 | jenner: to use pdb ... 'import pdb ; pdb.set_trace()' | 21:47 | 
| dman13 | jenner: then when python executes that statement you'll get a shell on stdin | 21:48 | 
| dman13 | jenner: is that enough info for you? | 21:48 | 
| jenner | dman13: yes :) thnx | 21:48 | 
| J1m | OK jenner, the change is in. | 21:51 | 
| *** Egon has joined #zope3-dev | 21:51 | |
| J1m | srichter, ayt? | 21:51 | 
| srichter | yep | 21:51 | 
| J1m | Do you remember why we did the HTTPInputStream business? | 21:52 | 
| srichter | thinking | 21:52 | 
| J1m | with cache stream and such? | 21:52 | 
| srichter | I think originally we allowed seeking in the stream | 21:53 | 
| srichter | I know we got rid the seeking business (I did that) | 21:53 | 
| * J1m looks at 3.1. | 21:53 | |
| jenner | J1m: (svn'ed up) how do I use it? Should I now return a file object instead of an IResult? | 21:55 | 
| J1m | yes | 21:55 | 
| J1m | See zope/publisher/httpresults.txt | 21:56 | 
| J1m | ah, so we orginally promised a file. | 21:58 | 
| J1m | and it is very expensive to keep that promise with wsgi. | 21:58 | 
| J1m | Hm. | 21:58 | 
| srichter | but that's for input, right? | 21:59 | 
| J1m | srichter, so, who used this? | 21:59 | 
| J1m | yes | 21:59 | 
| J1m | somebidy must have depended on this. | 21:59 | 
| J1m | somebody must have depended on this. | 21:59 | 
| srichter | if it there just to provide a file, then it was to support seek | 22:00 | 
| J1m | We are essentially promising a file now. | 22:00 | 
| srichter | WSGI was around before I fixed the seek() issue | 22:00 | 
| J1m | But we are providing something that supports seek now. | 22:00 | 
| J1m | Yeah, but we weren't using wsgi | 22:00 | 
| srichter | right, I think we might not need this anymore | 22:00 | 
| srichter | oh, right | 22:00 | 
| J1m | I suspect that someone wants it. :) | 22:01 | 
| srichter | nix it and wait for someone to cry :-) | 22:01 | 
| srichter | we should definitely not support a full file | 22:01 | 
| srichter | it breaks many assumptions now made with twsited | 22:01 | 
| J1m | I'm sorely tempted. | 22:01 | 
| J1m | well, it's sad really. | 22:01 | 
| srichter | just do it; I'll back you up! :-) | 22:01 | 
| J1m | We need to buffer input so we arrange to create a file upstream. | 22:02 | 
| J1m | But twisted hides the file from us, so we don't actualy see a file. | 22:02 | 
| J1m | I believe that input should always be prebuffered, so it should alsways be possible to have a seekable thing. | 22:03 | 
| srichter | you mean file input? | 22:03 | 
| srichter | but not the entire input stream? | 22:03 | 
| J1m | either a file or a stringio. | 22:03 | 
| J1m | Right now, if someone does a big file upload, we make 3 copies: | 22:04 | 
| srichter | *shrug*, sniff | 22:04 | 
| J1m | 1. we make a copy in twisted or zserver when we prebuffer | 22:05 | 
| J1m | 2. We make a copy in HTTPInputStream | 22:05 | 
| J1m | 3. the cgi module makes a copy. | 22:05 | 
| J1m | sigh | 22:05 | 
| srichter | oh, that is crazy | 22:05 | 
| jenner | J1m: looks good so far, I'll run some ab2 tests with a list of files now | 22:05 | 
| dman13 | ouch. | 22:05 | 
| J1m | jenner, awesome. Much thanks. | 22:06 | 
| * dman13 wants to manage music files with z3 | 22:06 | |
| dman13 | (well, I won't be making the application any time soon) | 22:06 | 
| dman13 | (ps. but not because I just learned about those triplicate copies) | 22:06 | 
| GaryPoster | dman13: lol | 22:06 | 
| J1m | dman13, you really don't want to look at zope.app.file. :) | 22:07 | 
| dman13 | hehe | 22:07 | 
| jenner | dman13: actually I already thought about a z3 "media center", which would manage music/photos and support searching, tagging and commenting content :) | 22:07 | 
| *** MiUlEr has quit IRC | 22:07 | |
| dman13 | jenner: that's what I want, and it needs to be able to conveniently give various playlists for the player | 22:08 | 
| dman13 | if I did make such a thing, I'd use the filesystem (with application-assigned names) to store the actual media and only have the metadata in a db | 22:08 | 
| dman13 | after all, the filesystem is a database designed and optimized for blobs :-) | 22:08 | 
| *** efrerich has quit IRC | 22:09 | |
| jenner | dman13: that's my goal, at least for a photo album app... I already have FS storage and image scaling (resized data is stored on FS too), now I'm about to add some basic image modification and tags | 22:12 | 
| dman13 | jenner: cool | 22:14 | 
| J1m | Now I remember why we need this. | 22:15 | 
| J1m | We need to be able to retry a request. | 22:15 | 
| srichter | oh, bingo | 22:16 | 
| J1m | So we need t buffer the inut. | 22:16 | 
| J1m | input | 22:16 | 
| srichter | right | 22:16 | 
| J1m | (Failing tests sometimes are a memory aid.) | 22:16 | 
| srichter | darn, can we not reuse one of the other buffers | 22:16 | 
| J1m | for now, we'll have to be inefficient. | 22:16 | 
| jenner | dman13: http://212.211.144.90/misc/fsalbum.tar.gz | 22:16 | 
| SteveA | you don't need to be able to retry a request. you could fail a conflicting request without retrying. | 22:18 | 
| J1m | I'm gonna at least avoid creating temporary files i=unless the content length is large, because jenner made me worry about wasting file descriptors. | 22:18 | 
| J1m | SteveA, I don't want to fail requests. | 22:19 | 
| J1m | Users take a dim view of that. | 22:19 | 
| jenner | dman13: add an "FS Photo Folder" and insert a path to a folder on your FS with lots of jpegs, load its index.html from ZMI and watch J1ms latest patch eating your memory and CPU cycles (j/k) | 22:19 | 
| * jenner hides | 22:19 | |
| J1m | jenner, are you saying that this uses a lot of memory? | 22:20 | 
| J1m | This should use less memory than before. | 22:20 | 
| jenner | J1m: No, I was kidding | 22:20 | 
| J1m | whew | 22:20 | 
| jenner | j/k = just kidding | 22:20 | 
| * jenner will behave himself now | 22:21 | |
| jenner | dman13: err... in case you just downloaded the tar.gz - do it again, there's an error I didn't see, 'cos I had *.pycs all over the place (.py deleted but -.pyc was still there) | 22:26 | 
| *** Theuni has quit IRC | 22:45 | |
| dman13 | jenner: thanks; I'll check it out later (I'm at work right now and need to work instead of play :-)) | 22:51 | 
| J1m | srichter, I plan to make my last checkin before the beta soon. :) | 23:00 | 
| J1m | How do you want to handle the beta? | 23:00 | 
| J1m | srichter, ayt? | 23:08 | 
Generated by irclog2html.py 4.0.0 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!