IRC Logs for #circuits Monday, 2013-03-18

*** Osso has joined #circuits01:15
*** koobs_ has joined #circuits01:23
*** koobs` has joined #circuits01:27
*** koobs_ has quit IRC01:28
*** koobs has joined #circuits01:49
*** ronny has joined #circuits02:36
*** ronny has quit IRC02:36
*** ronny has joined #circuits02:36
prologickoobs: ping?03:45
koobsprologic; pong03:46
prologicYou're more familiar with BSD that i03:46
prologicI was wondering if you could help be fix this bug I found03:46
prologicThat only exhibits itself on BSD03:46
koobsIll do my best, whats up03:46
prologicSo basically I'm running into the same issue with circuits03:47
prologicand sharing a listening socket03:47
prologicamongst several or more processes03:47
prologicThe two posts I posted above are related03:47
koobswhat version are you seeing it on ?03:47
prologicand describe the exact problem more or less03:47
prologicWell by BSD I mean my iMac at work and my MacBook Air03:48
prologicso BSD-ish03:48
koobsso not BSD :D03:48
prologicbut I imagine I'd see the same issue on any BSD03:48
prologicgimme a shell03:48
prologicand I'll test it on real BDS :)03:48
koobspaste me a public key03:48
koobsalso checkout
prologicI just need Python (2.6+) and Apache (/usr/sbin/ab)03:49
koobsyou NEED apache bench?03:49
koobsgimme public key03:49
prologicYeah easiest way to make it happen :)03:49
prologicLemme read your post first03:49
prologicHmm that post has some interesting implications03:50
prologiclemme fetch you that key03:50
koobsyour account is ready03:50
koobsneed pubkey03:50
koobsive closed the window03:51
koobsand i dont have logging.03:51
prologicI'll do some testing on BSD later04:02
prologicwhen I'm more awake :)04:02
koobsi cant leave you on my box alone04:13
prologichey koobs05:04
prologicis it possible Apple never fixed this particular bug in the version of the FreeBSD kernel they forked?05:04
prologicThat causes 22 Invalid Arguments errors?05:04
koobsquite possibly05:05
koobsman bind on osx might help figur eout how old/young/fresh it is05:06
koobsso uh05:06
koobsrelated to that kernel bug05:06
koobsis the a non reproduction ?05:06
prologicman 2 bind05:10
prologic4.2 Berkeley Distribution05:10
koobshow do i exit python out of a while 105:11
prologicor you mean programatically?05:12
koobsno go.05:12
koobsyeh im in the interactive shell05:12
koobsah got it05:12
koobsthis just sat there05:13
koobs>>> read -> x05:13
koobsits the code from the PR you gave me05:13
koobsjust sits there eating 100% cpu05:14
koobsno output, i dont know what im looking for05:15
koobscore dumps when i ^\05:15
prologicgoing to have to look into this further05:16
prologicI'm gonna hit the hay05:16
prologicwork tomrrow05:16
koobsnight :)05:16
*** Osso has quit IRC07:51
spaceone ||09:27
spaceone_ _09:27
jgiorgiboring monday?09:43
*** ronny_ has joined #circuits10:32
*** ronny has quit IRC10:36
*** Osso has joined #circuits11:22
spaceoneprologic: hmm, there is magic happening11:32
spaceoneprologic: the new header class makes it impossible to add keys which are not in str(key).title()11:34
spaceoneprologic: except someone does dict.__setitem__(headers, key, val)11:34
spaceoneprologic: the 3 wsgi_application tests fails because the Host header is uppercase there so it trys to use the host from but server is None (that belongs to your changes)11:39
spaceonei can't further debug this simple.. Debugger(events=True) does not give helpful resultst11:42
spaceoneah, maybe i found it11:48
jgiorgiso last i checked we werent officially supporting py3 but i briefly read some backlogs that seemed to show work in supporting py3, whats the story12:03
jgiorgii'm publishing FrankenCircuits piece by piece, if you're officially supporting py3 i might have to as well12:03
spaceonejgiorgi: what is frankencircuits?12:04
jgiorgiplugin library for circuits and circuits.web, essentially cleaned up, configurable versions of reusable Components i've written for various projects12:05
jgiorgii figured i'd open source some of the tools i12:06
jgiorgi've written, some of it might be worthy of adaptation and inclusion in circuits, some of it isnt12:07
spaceonecan you show me?12:09
jgiorgijust started putting a few modules in it, i have go through a lot of my scripts, flesh out docstrings, make them more configurable and scrub any nuclear launch codes12:12
jgiorgiso far it's a plugin/module system and system initializer, a simple system to set a few variables based on user-agent matches (regex) and a config-based circuits.web initializer12:13
spaceoneprologic: tests are passing now12:28
prologicjgiorgi, we support Python 2.6, 2.7, 3.2, 3.3 and pypy on Windows, Linux, BSD and OS X13:06
prologicspaceone, I'll take a look when I get to work13:07
spaceoneprologic: nice13:07
jgiorgiok, out of respect for the project I'll support all the python versions you support13:07
prologicI wasn't able to pull in your entire changeset because they break so many things13:07
jgiorgiout of principle windows users are on their own13:07
prologicwe support the platform13:07
prologicdon't advocate it :)13:08
spaceoneprologic: 'so many' ? only 3 tests caused by the same little error13:08
prologicthere are still things not available on WIndows we haven't written alternatives for13:08
prologice.g: async file i/o13:08
spaceonewho uses windows?13:08
prologicspaceone, I was seeing errors all over yesterday with various header related issues13:08
prologice.g: test.web.test_unicode was failing too13:08
prologicI don't :)13:09
prologicNot since 200113:09
jgiorgii'll accept patches to fix bugs on windows but my response to "x doesnt work on windows" will be "it works on everything else, windows is broken"13:09
prologicI sadly have to agree13:10
prologicWIndows is broken on so many levels as an OS13:10
spaceonejgiorgi: += "Please contact the microsoft support <>"13:10
prologicI have to get ready adn leave for work13:10
jgiorgispaceone: absofrickinlutely13:10
jgiorgithe only windows box i have has been cut down to the bare essentials13:11
jgiorgithe GUI doesnt exist, you just get a menu offering a list of games to play13:12
jgiorgiif you get the gui back online (which you have to do with a rescue disc) attempting to run any executable whatsoever (except the games) results in a system shutdown13:13
jgiorgia backup copy of the os is on a flash drive and saved games are backed up to a network drive, so if anything ever goes bad i just wipe it and i have my games back in 2 minutes13:14
ronny_prologic, i finished my basic model - i hope i can implement tomorow13:17
ronny_basically i'll completely separate protocols and messages13:18
ronny_and messages will really only be defered method calls13:19
prologicronny_: look forwad to it13:32
ronny_and now, good night13:41
*** Osso has quit IRC15:15
*** ronny_ has quit IRC15:26
prologicspaceone:  ping?16:15
prologickoobs:  ping?16:16
jgiorgilol nope16:16
jgiorgisarcasm, not very effective over irc16:18
prologicoh :)16:18
spaceoneprologic: pong16:28
prologicoh hey16:32
prologicI just want dot ask16:32
prologicthe 4 or so open issues you raised on bitbucket16:32
prologicare they still valid for the experimental branch?16:32
prologicI still haven't pulled in and tested your recent changes yet (header modifications, etc)16:32
jgiorgiprologic: what's the proper way of killing a multi-processed app?16:34
prologicdefine multi-process app?16:35
prologicare you using circuits.core.workers?16:35
prologicor multiprocessing library?16:35
prologicor are you doing .start(process=True) ?16:35
jgiorgimultiple times16:36
spaceoneprologic: the SSL things are NOT fixed16:37
prologicjust call .stop() on the main process16:37
prologicit should shutdown the children too16:37
jgiorgiprologic: it's daemonized16:37
prologicin upcoming release we've added return arguments to start16:37
prologicprocess, bridge = foo.start(process=True, link=bar)16:38
prologicspaceone:  are you sure? I thought we fixed that also16:38
prologicspaceone:  what specifically isn't working?16:38
prologicjgiorgi:  should still work16:38
spaceoneprologic: you fixed only that invalid ssl cert file path16:39
jgiorgiprologic: how about killing from outside the app, sending sigkill only kills one16:39
prologicspaceone:  what was the other problem?16:39
spaceoneand the other way round16:39
prologicjgiorgi:  no easy way to do this. you'd have to send sigkill for each process id16:39
prologicsend it sigint though16:39
prologiccircuits will catch sigint and stop the process16:40
prologicspaceone:  no I thought I fixed that too16:40
prologicspaceone:  let me check16:40
spaceoneprologic: also the request.path thing is REOPENED16:40
spaceone(try "GET * HTTP/1.1")16:40
prologicspaceone:  the only solution to the path thing is to port to Python 316:41
prologicI'll work on this16:41
jgiorgiprologic: easy way to listen for signals? i could listen to sigterm and call .stop16:41
prologicI do quite like it as a url manipulation library16:41
prologicjgiorgi:  circuits already does by default16:41
spaceoneprologic: or maybe in the first step don't implementing path sanitization16:42
jgiorgireally? cuz sigterm doesnt do anything16:42
prologicjgiorgi:  sigint16:42
prologicspaceone:  let's just leave it as posixpath.realpath for now16:42
spaceoneprologic: in the StaticFileBlah you can safely use os.path.abspath and so on16:42
prologicspaceone:  we'll replace with soon16:42
spaceoneprologic: no, realpath is dangerous16:42
prologicspaceone:  what about if we just use posixpath.realpath in the static dispatcher for now?16:43
spaceoneit breaks if there exists a real path which is a symlink16:43
prologicand not worry about sanitizing in the request16:43
spaceoneprologic: that would be ok16:43
prologicI'll do that for now16:43
prologicand create a story to port for future16:43
prologiclet me test this HTTPS/HTTP thing you describe16:43
spaceoneprologic: the ROBUSTITY bug is fixed with the new http parser16:43
prologicif that works we'll close the issues16:44
prologicspaceone:  mind closing what is fixed with comments?16:44
prologicbe very helpful :)16:44
jgiorgiprologic: sigint'ed the pid written to file it died and the other process went to 90% processor usage16:45
jgiorgimight be some collision between Daemonizer and multi-processing16:46
prologicspaceone:  hmmm I think I know what's happenning16:46
prologic<Read[] (<socket._socketobject object at 0x109ee4600>, '\x16\x03\x01\x00n\x01\x00\x00j\x03\x01QG\xb4\xcc<^5\x00Wh,\x11w\xfbu\xbcB\xd4\x94\x88U:O\x7ft\xfb+\x9b\x06\xd5f\xa0\x00\x00.\x009\x008\x005\x00\x16\x00\x13\x00\n\x003\x002\x00/\x00\x9a\x00\x99\x00\x96\x00\x05\x00\x04\x00\x15\x00\x12\x00\t\x00\x14\x00\x11\x00\x08\x00\x06\x00\x03\x00\xff\x02\x01\x00\x00\x12\x00\x00\x00\x0e\x00\x0c\x00\x00\tlocalhost' )16:46
prologicThis is what I get as debug output16:46
prologicso it's getting an encrypted request16:46
prologicbut because the server isn't in secure mode16:46
prologicit doesn't know how to handle this16:46
prologicthe http parser should fail to parse this though16:46
jgiorgi... maybe the pid file is the second not the first, if it's cloning the entire system it's cloning the daemonizer too16:47
jgiorgioh well, kill by command works16:47
spaceoneprologic: SCHEME is also fixed16:48
prologichrmm interesting16:49
prologicthe parser doesn't raise an exception for such a string16:49
prologicjgiorgi:  yeah we should be unregistering the Daemonize component once daemonic. Can you file a bug for that please?16:50
prologicWe'll ship it with 2.1.1 hopefully16:50
prologicspaceone:  hmmm I just debugged it with pudb16:51
prologicwtf do we do?16:51
prologicthe parser treats it as if it hasn't gotten a full packet yet16:51
prologicand buffers the data16:51
prologicwaiting for the first \r\n16:51
prologicbut it will never get one16:51
prologicso no request ever occurs16:51
prologicis there a way to detect ssl markers in the packet?16:53
jgiorgiprologic: the way i'm currently doing it i really don't know how i'd manage to unregister the daemonizer before starting multiprocessing since it's all done in one init function16:53
jgiorgii'll look into it more and file a bug when i have specifics16:54
prologicjgiorgi:  were were simply going to unregister the Daemon component once it had completed it's job16:54
jgiorgioh ok, that works16:55
spaceoneprologic: yes, there are special chars16:57
spaceonebut i dunno exactly16:57
spaceonei am new to this16:57
prologicjgiorgi:  file a bug report16:57
spaceoneprologic: btw, if you annote my donation please don't use my realname17:00
prologicthat's the only thing I can find17:01
prologicspaceone:  ok nps17:01
prologicspaceone:  check the link above17:01
spaceonejgiorgi: ;) it is easy17:01
prologiconly thing I can find to detect ssl handshakes17:01
prologicthis channel is logged ;)17:01
spaceonelet us write in private17:02
jgiorgispaceone: i'm just being funny anyway the extent of my search was whois and CTCP USER lol17:03
spaceonejgiorgi: so, did you find anything ;) ?17:03
spaceoneprologic: hmm17:04
spaceoneprologic: so, it is possible =)17:06
prologicyeah it is17:06
prologicI don't like the implementation though17:07
prologicbut I'll use it for now17:07
prologicseems overly complex17:07
prologicspaceone:  you need to use the code markup to embed monospace text in issues/wiki on bitbucket17:09
prologicjust like any other wiki :)17:09
prologicgithub has the same thing17:09
spaceoneprologic: i want to use HTML or plaintext17:09
spaceoneor BBCode17:09
prologicI think both support only plain text17:10
prologicwith some special markup17:10
prologicgithub uses markdown (specialized kind)17:10
spaceonewhich can be dropped17:10
prologicand bitbucket uses umm17:10
prologiccan't remember17:10
prologicanyway not important :)17:10
spaceoneif people would start to use utf-8 you would not need those things17:10
prologicthe message was converyed :)17:10
spaceoneyou can do everything17:10
prologicthat's so true17:11
prologicnever realized17:11
prologicbut yes you are quite right17:11
spaceonejeah, i forgot how to do them17:11
spaceonealso there is a smiley17:11
prologicmaybe theta's the problem17:11
prologicinputting more than what's on your keyboard is hard17:12
spaceoneyou have to get used to it17:12
*** mehere has quit IRC17:16
*** mehere_ has joined #circuits17:16
prologicDoesn't seem tow irk for me :/17:22
jgiorgididnt know submitting to pypi was such a pain lol20:28
prologicIt ca nbe20:29
prologicif you don't rest your README.rst :)20:29
prologicwhat ends up being your long_descrpotion20:29
jgiorgiyeah my readme is just text, and currently very little of it20:30
jgiorgibut at least i'm leaving fairly detailed docs in the docstrings, hopefully that will make web-published docs easier20:30
prologicsphinx ftw :)20:33
jgiorgihavent looked at it much20:33
jgiorgii'm surprised at how many components i've written worthy of publishing20:34
prologicthat'll tend to happen if you work in the space long enough :)20:49
prologicand you've been using circuits for quite a while now20:49
prologicI'm honestly impressed you've produced as many projects for real customer on top of circuits that you have20:49
prologicYou still need to contribute to the Users page on our website20:49
prologicand say a little about yourself and your experiences :)20:50
prologicI haven't seen a pull request for yet from you :)20:50
jgiorgiprologic: i thought i sent you something on that20:52
jgiorgiand i've ran into a snag in fixing the invalid code but i think i figured it out20:53
jgiorgiand don't be impressed by real world applications for an awesome framework :)21:05
prologicwell I am impressed :)21:39
prologicI seem to recall you did send me something21:39
prologicby email right?21:39
prologicgoing to have to find it21:39
prologicI think I misplaced it and hadn't included it on the website's users page yet21:39
*** ronny_ has joined #circuits23:11
prologichey koobs23:39
prologiccan I have that vm up again some time this evening?23:39
prologicI wanna do some more bench testing23:39
prologicI fixed the cpu bug23:39
koobsjust sorting some work stuff out23:39
koobswont be long23:39
prologictake your time23:40
prologicgonna go have a bath with the family23:40

Generated by 2.11.0 by Marius Gedminas - find it at!