IRC log of dig on 2006-10-09
Timestamps are in UTC.
- 01:49:10 [lkagal]
- lkagal has quit ()
- 07:49:49 [tlr]
- tlr (n=roessler@ip-83-99-62-80.dyn.luxdsl.pt.lu) has joined #dig
- 13:34:57 [DanC_lap]
- DanC_lap (n=connolly@64-126-89-30.dyn.everestkc.net) has joined #dig
- 14:24:33 [lkagal]
- lkagal (n=lkagal1@98.68.171.66.subscriber.vzavenue.net) has joined #dig
- 15:56:27 [lkagal]
- lkagal has quit ()
- 16:18:00 [DanC]
- DanC (n=connolly@64-126-89-30.dyn.everestkc.net) has joined #dig
- 16:18:33 [DanC]
- DanC has changed the topic to: DIG 9 Oct cancelled: MIT is closed for Columbus day http://web.mit.edu/hr/empservices/mit_holidays.html
- 16:21:19 [DanC]
- svn co svn+ssh://mindswap.org/home/svn/paw/www/tags/paw-demo-m2/
- 16:21:28 [DanC]
- Checked out revision 271.
- 16:23:10 [DanC]
- I have the trace from 9 Aug... ugh... it doesn't include the command-line
- 16:24:51 [DanC]
- "
- 16:24:51 [DanC]
- Just a note that running engine.py (with no argument) is still the
- 16:24:51 [DanC]
- current way of running all the test cases the demo needs to support."
- 16:26:14 [DanC]
- ~/w3ccvs/WWW/2000/10/swap$ cvs update -l -r paw-demo-m1
- 16:27:03 [DanC]
- ImportError: No module named swap
- 16:27:43 [DanC]
- ImportError: No module named rdflib.Graph
- 16:28:34 [DanC]
- ok, fixed PYTHONPATH to get swap and rdflib...
- 16:29:06 [eikeon]
- I can swap in PAW demo now too.
- 16:29:51 [eikeon]
- Can check in bits that hook premise stuff back up and tag it as paw-demo-m3 in the paw svn
- 16:30:16 [DanC]
- "INFO Got expected result for html/images/group.jpg, html/troop42-policy1.n3, alice" <- that's case #1 working, yes?
- 16:30:38 [DanC]
- and "INFO Got expected result for html/images/group.jpg, html/troop42-policy1.n3, alice" is case #2 passing?
- 16:31:19 [eikeon]
- For each of the use cases it goes through all the users.
- 16:31:30 [DanC]
- ah... so those are both part of case #1
- 16:31:45 [eikeon]
- So it's 3 by 7 (there's a user unknown added to)
- 16:35:18 [DanC]
- hmm... it looks like it's passing all the tests. or at least: it's passing the last one.
- 16:35:25 [DanC]
- If I grep for INFO, the last thing I get is:
- 16:35:32 [DanC]
- INFO testing html/images/alice-award.jpg, html/troop42-policy3.n3, unknown
- 16:35:32 [DanC]
- INFO findProof("file:///home/connolly/paw2/paw-demo-m2/html/images/alice-award.jpg", "file:///home/connolly/paw2/paw-demo-m2/html/troop42-policy3.n3", "unknown-passwd", "mid:123")
- 16:35:32 [DanC]
- INFO Got expected result for html/images/alice-award.jpg, html/troop42-policy3.n3, unknown
- 16:35:53 [DanC]
- grepping for info on the 9Aug trace yeilds likewise.
- 16:36:16 [eikeon]
- So it looks like you're able to reproduce the results.
- 16:36:53 [eikeon]
- You could grep for "INFO Got" maybe to get all the results.
- 16:37:09 [eikeon]
- To see if all 27 are passing.
- 16:37:49 [DanC_lap]
- DanC_lap has quit (Read error: 110 (Connection timed out))
- 16:38:24 [eikeon]
- Um... not all 27, but the same as in 9Aug
- 16:38:28 [DanC]
- $ grep "INFO Got" ~/Desktop/paw9Augtrace.txt |wc 26 208 2189
- 16:38:53 [DanC]
- $ grep "INFO Got" ,engine.out |wc
- 16:38:53 [DanC]
- 26 208 2189
- 16:39:23 [eikeon]
- I'm checking in engine.py and friends now with the premise bit hooked back up. Maybe we can figure out why it's not passing as many tests.
- 16:40:28 [DanC]
- 26 matches today's run and the 9Aug run. I guess that means 1 out of 7 fails?
- 16:40:35 [DanC]
- er... 1 out of 27
- 16:40:54 [eikeon]
- You'll have to look at Got expected vs. Got unexpected.
- 16:41:19 [DanC]
- 0 hits for grep "INFO Got un" ,engine.out
- 16:41:36 [DanC]
- $ grep unexp ,engine.out
- 16:41:36 [DanC]
- ERROR Got unexpected result for html/images/alice-award.jpg, html/troop42-policy3.n3, dan
- 16:41:36 [DanC]
- ERROR Got unexpected result for html/images/alice-award.jpg, html/troop42-policy3.n3, elle
- 16:42:13 [DanC]
- ah... so troop42-policy3 is case #3
- 16:42:44 [eikeon]
- Yeah.
- 16:46:39 [lkagal]
- lkagal (n=lkagal1@98.68.171.66.subscriber.vzavenue.net) has joined #dig
- 16:49:23 [DanC]
- er... this code looks odd... requestNum isn't used.
- 16:49:43 [eikeon]
- Okay... checked in version that has premise bit hooked back up. Result is that less test cases are passing now :(
- 16:51:53 [eikeon]
- Indeed. Looks like dead code. I'll remove it. re: requestNum
- 16:52:03 [DanC]
- why doesn't "Now checking proof..." show up in the output?
- 16:52:13 [DanC]
- er... don't remove requestNum; use it. i.e. don't hardcode the request number.
- 16:52:26 [DanC]
- request_id = "mid:123"
- 16:52:28 [DanC]
- should be:
- 16:52:49 [DanC]
- request_id = "mid:%d@demo.policyawareweb.org" % requestNum; requestNum += 1
- 16:53:09 [DanC]
- the code was that way at one point... it makes me wonder what else has regressed
- 16:54:15 [DanC]
- _logger.setLevel(logging.INFO)
- 16:55:42 [DanC]
- ew.. `pydoc logging` crashes
- 16:55:53 [DanC]
- File "/usr/lib/python2.4/inspect.py", line 437, in findsource
- 16:55:53 [DanC]
- if pat.match(lines[lnum]): break
- 16:55:53 [DanC]
- IndexError: list index out of range
- 16:58:01 [DanC]
- how can I skip right to the relevant case, eikeon ?
- 16:58:03 [eikeon]
- You probably want _logger.setLevel(logging.DEBUG)
- 16:58:15 [DanC]
- actually, I changed several .debug()'s to .warn()
- 16:58:31 [DanC]
- but I guess I'll change the level too
- 16:59:28 [eikeon]
- If you look in engine.py at the main function you can change users and resources to taste.
- 16:59:50 [eikeon]
- And later in main you'll see that it goes though all resources for all users.
- 16:59:51 [DanC]
- oh. hack the source. ok. oh well.
- 17:01:01 [DanC]
- WARNING irrelevant conjecture: {3}
- 17:02:07 [DanC]
- WARNING irrelevant conjecture: @prefix : <http://dig.csail.mit.edu/2005/09/rein/network#> .
- 17:02:07 [DanC]
- <mid:123> a :Request;
- 17:02:07 [DanC]
- :ans :InValid;
- 17:02:07 [DanC]
- :resource <file:///home/connolly/paw2/paw-demo-m2/html/images/alice-award.jpg> .
- 17:02:49 [DanC]
- indeed, that's not a conjecture that dan gets access.
- 17:03:25 [DanC]
- I guess I should re-sync with you... if I check in, it'll go on this paw-demo-m2 branch. Should I do that?
- 17:04:24 [eikeon]
- It'd probably be easier to keep working off of trunk. the paw-demo-m2 was meant to be a tag not a branch.
- 17:04:36 [DanC]
- ok... saving my diffs...
- 17:05:36 [DanC]
- Updated to revision 273.
- 17:06:20 [eikeon]
- I'm at 273 too
- 17:07:55 [eikeon]
- svn commit -m "each test case uses a unique request_id now"
- 17:07:56 [eikeon]
- Password:
- 17:07:56 [eikeon]
- Sending demo/engine.py
- 17:07:56 [eikeon]
- Transmitting file data .
- 17:07:56 [eikeon]
- Committed revision 274.
- 17:08:55 [DanC]
- this "irrelevant conjecture" warning suggests the filter is wrong or something
- 17:09:23 [eikeon]
- Would you like me to add option parsing to our test case script so we can set logging level and which test cases to run?
- 17:09:50 [DanC]
- yes, though there's no particular rush on that.
- 17:10:53 [DanC]
- right now I'm trying to reproduce the argument that dan should see the award photo
- 17:12:05 [eikeon]
- Award photo is controlled by policy 2.
- 17:12:25 [DanC]
- really?
- 17:12:27 [DanC]
- INFO findProof("file:///home/connolly/paw/www/2005/demo/html/images/alice-award.jpg", "file:///home/connolly/paw/www/2005/demo/html/troop42-policy3.n3", "dan-passwd", "mid:123")
- 17:12:41 [eikeon]
- Ah... alice-award
- 17:12:53 [eikeon]
- Alice-award is controlled by policy 3
- 17:14:04 [eikeon]
- The test case code is expecting the following users to have access: return user in ["alice", "bob", "carol", "dan", "elle", "judy"]
- 17:15:06 [eikeon]
- I'll refactor the test case code now to we can set log level and test cases to run with command line flags. Will you be around for a bit so we can sync up?
- 17:15:14 [eikeon]
- Shouldn't take long.
- 17:16:25 [DanC]
- I intend to be around for hours.
- 17:17:29 [eikeon]
- Sounds great. No better time than now in that case ;)
- 17:22:59 [DanC]
- cwm isn't finding a proof that dan has access.
- 17:25:11 [DanC]
- #SepJamboree troop:attendee [ is foaf:maker of <dan-foaf.rdf> ]
- 17:26:49 [DanC]
- eikeon, why do you think dan can access alice-award.jpg ?
- 17:27:11 [DanC]
- # test cases that correspond to GS demo use cases as taken from:
- 17:27:11 [DanC]
- # http://dig.csail.mit.edu/2005/09/rein/examples/
- 17:27:54 [DanC]
- "Alice's mom has granted public access to a class of pictures to which this picture belongs to on her foaf page, so Dan is permitted to view this picture even though he is not a member of the troop."
- 17:28:17 [eikeon]
- DanC: Test case could be wrong. lkagal helped me work though the expected results though and I think we where fairly confident they where right.
- 17:28:53 [eikeon]
- I didn't think so many people had access on first reading. I'll try and swap it back in now
- 17:29:21 [DanC]
- wow... we're using <http://www.agfa.com/w3c/euler/rpo-rules.n3> ? I wonder if we told check.py to trust that.
- 17:29:46 [DanC]
- er... maybe only indirectly.
- 17:30:27 [eikeon]
- Ah... the prose is easy to follow. Next to see if the policy lines up with the prose.
- 17:30:28 [DanC]
- I wonder how to update this command-line:
- 17:30:31 [DanC]
- [[
- 17:30:31 [DanC]
- cwm --rdf http://dig.csail.mit.edu/2005/09/rein/examples/dan-req.rdf --n3 http://dig.csail.mit.edu/2005/09/rein/engine.n3 --think --filter="http://dig.csail.mit.edu/2005/09/rein/filter.n3"
- 17:30:32 [DanC]
- ]]
- 17:31:49 [eikeon]
- That's one of the reasons why we went though the pain of pulling the policy into svn space. We can version and know which policies we're dealing with now without digging through the code.
- 17:32:22 [DanC]
- meanwhile, can use the local/svn stuff with cwm?
- 17:32:36 [eikeon]
- You tell me.
- 17:32:44 [DanC]
- that cwm command-line comes to the relevant conclusion.
- 17:33:19 [eikeon]
- I'll give it a try.
- 17:34:37 [eikeon]
- Actually I'll keep going on the test case refactor. No sense in us both doing the same thing ;)
- 17:35:21 [DanC]
- hmm...
- 17:35:23 [DanC]
- ENGINE = 'http://dig.csail.mit.edu/2006/06/rein/src/lean-engine.n3'
- 17:36:10 [eikeon]
- Yep, think that's the version we're using these days. Part of the solution to things being too slow.
- 17:36:57 [DanC]
- er... well, that explains why it's not working. The lean engine is too lean to come to the relevant conclusion.
- 17:47:52 [DanC]
- eikeon? still here? this problem with alice-award.jpg and dan has nothing to do with cwm proof checking; it's working as designed, no?
- 17:48:14 [eikeon]
- I'm still here... how do we make it work?
- 17:49:00 [eikeon]
- Can we write a lean-engine that can handle policy 3 and not be too slow?
- 17:49:13 [DanC]
- define "too slow"
- 17:49:43 [DanC]
- does it really matter that some of the cases take a long time to run?
- 17:49:54 [eikeon]
- Before the f2f last January I think we're hoping to have them down in some seconds instead of some minutes.
- 17:50:37 [eikeon]
- Can we write it in a way that doesn't slow down the first two test cases even if the third is slow?
- 17:50:56 [DanC]
- yes, well, someone judged it acceptable to switch to a lean engine. In doing so, it seems natural to just cut the dan/alice-award.jpg case out of the demo
- 17:51:08 [eikeon]
- Think it matters from a practical stand point that the first two are not too much slower than they are... else it's not demo-able.
- 17:51:47 [eikeon]
- Fine by me if we can communicate the issue / status to Jim and company and they are fine with it.
- 17:52:23 [eikeon]
- Next up would be to work though why some of the test cases are not working after I hooked the premise bit back up.
- 17:52:39 [DanC]
- ok. which case?
- 17:53:28 [eikeon]
- Let's narrow down to the first two policies and work through the ones that are failing (they used to all pass)
- 17:53:47 [eikeon]
- Not sure which specific ones... just noticed some unexpected in the output.
- 17:54:06 [eikeon]
- Also, I'm almost done with the new run_tests command line interface.
- 17:54:50 [eikeon]
- Will check that in soon... will make it easier for us to control output and see what's passing / failing.
- 17:55:21 [DanC]
- ERROR Got unexpected result for html/images/group.jpg, html/troop42-policy1.n3, bob. Expected: True
- 17:56:29 [DanC]
- DEBUG acl entails it? False
- 17:56:29 [DanC]
- Proof failed: I cannot assume {{4} rdf:type rein:RequestFormula}
- 17:56:29 [DanC]
- WARNING invalid proof.
- 17:57:04 [DanC]
- that looks like a premise hookup problem
- 17:57:05 [eikeon]
- That's what I'm getting too.
- 17:59:20 [DanC]
- "alice-passwd" vs "bob-passwd"
- 18:00:00 [DanC]
- the assumption in the proof has "alice-passwd"
- 18:01:25 [DanC]
- I'm still getting <mid:123> everywhere... I guess I haven't updated yet.
- 18:03:12 [eikeon]
- I'm updating that as part of my test case running improvements.
- 18:03:24 [eikeon]
- Give me a few more minutes and I'll check in what I have.
- 18:04:52 [eikeon]
- svn commit -m "split out run_tests code into its own file and added command line option parsing"
- 18:04:53 [eikeon]
- Password:
- 18:04:53 [eikeon]
- Sending demo/engine.py
- 18:04:53 [eikeon]
- Adding demo/run_tests.py
- 18:04:53 [eikeon]
- Transmitting file data ..
- 18:04:53 [eikeon]
- Committed revision 275.
- 18:05:03 [eikeon]
- I can help hunt too now that I know what to look for.
- 18:05:26 [DanC]
- C engine.py
- 18:05:26 [DanC]
- A run_tests.py
- 18:05:26 [DanC]
- Updated to revision 275.
- 18:05:37 [eikeon]
- It's now run_tests.py
- 18:05:41 [eikeon]
- With or without -v
- 18:05:46 [eikeon]
- or --verbose
- 18:05:51 [eikeon]
- And can do --help
- 18:08:15 [eikeon]
- Also, it'd be nice to walk through the code at a high level to make sure it makes sense...
- 18:08:39 [eikeon]
- The proxy is now needing to send the secret along with the proof to the resource server.
- 18:08:53 [eikeon]
- As part of the premise code rehookup.
- 18:09:06 [DanC]
- yes, I keep going back and forth about whether that's fixable
- 18:09:42 [DanC]
- part of my brain says we should be able to do challenge-response authentication, but I seem to be able to convince myself that it's impossible more readily than I can come up with a way to do it.
- 18:10:14 [eikeon]
- :) -- not a confidence booster ;)
- 18:11:02 [eikeon]
- So where are we at re: this test case failing... do we think the proof is being generated correctly and is not checking correctly?
- 18:11:15 [eikeon]
- Or do we know the proof is not being generated correctly? or?
- 18:11:42 [eikeon]
- Wanna constrain where I'm looking for a bug.
- 18:11:44 [DanC]
- the proof has alice-passwd where it should have bob-passwd. I haven't figured out why
- 18:13:15 [DanC]
- hmm... which case are we on, again? it was html/images/group.jpg / bob a minute ago...
- 18:13:34 [eikeon]
- I'm just rerunning now to find which case.
- 18:13:47 [eikeon]
- I'll also add an option for specifying a test case now.
- 18:13:47 [DanC]
- now the only failures I get are alice-award.jpg/dan and alice-award.jpg/elle
- 18:14:16 [eikeon]
- Sometime we hit a state where the results vary from run to run.
- 18:14:21 [DanC]
- ew
- 18:14:28 [eikeon]
- Could be in one of those fun states ;)
- 18:15:06 [eikeon]
- Hum... maybe cause I thought I hit a case that failed pretty much right away last time... still waiting this run.
- 18:16:46 [eikeon]
- I just did that with a comment ;)
- 18:16:59 [eikeon]
- # We're removing this resource for now since the engine we're
- 18:16:59 [eikeon]
- # using at the moment can't support policy 3
- 18:16:59 [eikeon]
- # "html/images/alice-award.jpg"]
- 18:17:24 [DanC]
- # the lean engine doesn't cover this case
- 18:17:24 [DanC]
- # "html/images/alice-award.jpg"
- 18:17:29 [eikeon]
- Ah...
- 18:17:36 [eikeon]
- think I might have hit it.
- 18:17:56 [eikeon]
- Are you running with run_tests now?
- 18:18:11 [eikeon]
- Looks like mine are all passing now.
- 18:18:25 [eikeon]
- Might have been the request_id thing being the same between test cases?
- 18:18:32 [DanC]
- yes, using run_tests here. and all are passing. (at least all 7 users on policy1)
- 18:18:53 [DanC]
- yes, let's chalk it up to something like request_id clobbering.
- 18:19:23 [eikeon]
- Sweet. Looks like we're finally making headway!
- 18:19:58 [DanC]
- yes... though oddly... we're not running into any of the funky/subtle cwm/proof/bnode issues.
- 18:20:32 [eikeon]
- If we run out of other bits... we can see why things are not working with trunk version of cwm
- 18:21:07 [DanC]
- hmm... I'm tempted to declare victory instead ;-)
- 18:21:14 [eikeon]
- We should fire off an email re: policy 3 to see what the demo needs are there.
- 18:22:28 [eikeon]
- Yeah... not opening the cwm/trunk potential can of worms if fine by me. The tagged version seems to be doing well for us.
- 18:22:52 [eikeon]
- Hum... just hit a FAILED.
- 18:22:54 [eikeon]
- Grrrr.
- 18:23:31 [eikeon]
- Before we can declare victory I think we need to run the test cases through a number of times :(
- 18:24:19 [eikeon]
- Maybe false alarm... but we should still probably run though a couple times...
- 18:24:29 [eikeon]
- re: false alarm: ERROR Got unexpected result for html/images/alice-award.jpg, html/troop42-policy3.n3, dan. Expected: True
- 18:24:29 [eikeon]
- FAILED
- 18:24:36 [eikeon]
- Notice that was policy3 still.
- 18:25:33 [eikeon]
- For some reason after every time I change run_tests.py the next time I run it... it's been running a stale version somehow.
- 18:25:49 [eikeon]
- First time I thought I just didn't save it...
- 18:26:05 [eikeon]
- then thought maybe it was still running from before I made the change...
- 18:26:16 [eikeon]
- but this is like the third time now. And no.
- 18:26:18 [eikeon]
- Odd.
- 18:29:04 [eikeon]
- PASSED
- 18:29:04 [eikeon]
- PASSED
- 18:29:05 [eikeon]
- PASSED
- 18:29:05 [eikeon]
- PASSED
- 18:29:05 [eikeon]
- PASSED
- 18:29:05 [eikeon]
- PASSED
- 18:29:07 [eikeon]
- PASSED
- 18:29:09 [eikeon]
- ...
- 18:29:27 [eikeon]
- Much better output to follow ;)
- 18:31:23 [tlr]
- tlr has quit ("leaving")
- 18:34:26 [eikeon]
- PASSED 21 / FAILED 0
- 18:35:18 [eikeon]
- Ah... we have two resources controlled by policy 1
- 18:36:08 [DanC]
- yes; is that surprising?
- 18:37:07 [eikeon]
- Only that I was wondering why it was still testing cases beyond 14 of them as I was waiting for it to finish.
- 18:37:13 [DanC]
- ah
- 18:37:37 [eikeon]
- svn commit -m "removed resource controlled by policy3 for now since our engine is to lean to support it"
- 18:37:37 [eikeon]
- Password:
- 18:37:37 [eikeon]
- Sending demo/run_tests.py
- 18:37:37 [eikeon]
- Transmitting file data .
- 18:37:38 [eikeon]
- Committed revision 276.
- 18:38:27 [eikeon]
- Tag this as paw-demo-n3
- 18:38:50 [DanC]
- well, my mail message includes an svn version number; that's enough of a tag for my purposes
- 18:38:54 [eikeon]
- And test end to end demo beyond run_tests
- 18:39:03 [eikeon]
- True.
- 18:39:29 [DanC]
- re what next... by way of code walkthru, there's no module docstring in run_tests
- 18:40:20 [DanC]
- I like to aim for a state where running pydoc on a module yields happy results. (or epydoc). and I like doctest tests.
- 18:40:29 [eikeon]
- Who's editing what? Are you adding one or shall I?
- 18:40:52 [eikeon]
- Can fire up SubEthaEdit too if you like?
- 18:40:56 [DanC]
- I don't understand the split between engine.py, paw_check.py, and run_tests.py to do module docstrings
- 18:40:59 [eikeon]
- Not sure if you have OS X nearby
- 18:41:09 [DanC]
- I have a mac laptop here...
- 18:41:25 [DanC]
- though actually, I'd rather try vnc
- 18:41:40 [eikeon]
- 'k
- 18:41:51 [eikeon]
- Know what I need to install?
- 18:42:11 [DanC]
- if you're on a mac, nothing; "apple remote desktop" speaks the vnc protocol
- 18:42:21 [eikeon]
- I'm on a mac
- 18:42:39 [eikeon]
- Can we share something like an emacs window?
- 18:43:10 [DanC]
- umm... we can share your screen. I'm not sure how to share less.
- 18:43:33 [eikeon]
- Shall we try it now?
- 18:43:35 [DanC_lap]
- DanC_lap (n=connolly@64-126-89-30.dyn.everestkc.net) has joined #dig
- 18:43:50 [DanC]
- yes...
- 18:44:21 [DanC]
- system preferences, sharing... do you see apple remote desktop there?
- 18:45:24 [eikeon]
- Yep
- 18:45:36 [DanC]
- hmm... looks like you have to give me an account on your machine. that's a little odd.
- 18:45:59 [DanC]
- maybe it's less constrained in tiger.
- 18:46:30 [eikeon]
- There's a "Guests may request permission to control screen" option
- 18:47:29 [DanC]
- not here on this 10.3.9 box. you must have the newer OS. good.
- 18:47:40 [DanC]
- is your machine behind a firewall?
- 18:48:00 [eikeon]
- 10.4.8 and sitting on its own static IP
- 18:48:26 [eikeon]
- Makes stuff like this a lot easier ;)
- 18:49:12 [DanC]
- so the only remaining thing should be a password. call me or something?
- 18:49:14 [DanC]
- I'm available at tel:+1-617-395-0241
- 18:49:44 [DanC]
- $ vncviewer 66.92.168.155
- 18:49:44 [DanC]
- VNC server supports protocol version 3.889 (viewer 3.3)
- 18:50:13 [eikeon]
- I checked the Guest option... I'll call you with a password... and I checked send text messages, and Observe + control.
- 18:51:19 [eikeon]
- Calling now
- 18:58:16 [DanC]
- vnc client for mac http://sourceforge.net/projects/cotvnc/ "Chicken of the VNC is a VNC client for Mac OS X."
- 19:00:35 [DanC]
- on skype, I'm connollydwc
- 19:34:41 [eikeon]
- Forgot we're still over here too
- 19:42:25 [eikeon]
- /usr/local/bin/python2.4 run_tests.py --user=alice
- 19:42:25 [eikeon]
- PASSED
- 19:42:25 [eikeon]
- PASSED
- 19:42:26 [eikeon]
- PASSED
- 19:42:26 [eikeon]
- PASSED 3 / FAILED 0
- 19:51:23 [timbl]
- timbl (n=timbl@146-115-112-112.c3-0.lex-ubr1.sbo-lex.ma.cable.rcn.com) has joined #dig
- 19:51:55 [DanC]
- eikeon and I are hacking PAW demo stuff, using skype and subethaedit.
- 19:53:55 [timbl]
- cool
- 19:54:06 [timbl]
- Saubethaedit remotey?
- 19:54:13 [timbl]
- does that work?
- 19:54:18 [DanC]
- yes.
- 19:54:25 [DanC]
- eikeon's machine is on the Interenet
- 19:54:28 [DanC]
- Internet
- 19:54:55 [DanC_lap]
- see://kitty.eikeon.com:6942/run_tests.py?documentID=5B72F9DE-57CA-11DB-A0BD-00112474D8EA
- 19:55:07 [DanC_lap]
- they squatted in the URI scheme registry. :-/
- 19:55:55 [eikeon]
- Subethaedit is actually the motivating reason why I put my desktop on a static IP ;)
- 19:56:21 [eikeon]
- Even though I've not ended up using it too much :| -- We're making good use of it now though ;)
- 20:42:31 [eikeon]
- PASSED
- 20:42:31 [eikeon]
- ERROR No tracker. This may happen if the formula is validly empty.
- 20:42:31 [eikeon]
- Traceback (most recent call last):
- 20:42:32 [eikeon]
- File "run_tests.py", line 103, in run_test_cases
- 20:42:32 [eikeon]
- result = test_rein(engine, resource, policy, '%s-passwd' % user, request_id)
- 20:42:32 [eikeon]
- File "run_tests.py", line 129, in test_rein
- 20:42:34 [eikeon]
- pf = engine.findProof(uri, policy, secret, request_id)
- 20:42:36 [eikeon]
- File "/Users/eikeon/paw/www/2005/demo/engine.py", line 72, in findProof
- 20:42:38 [eikeon]
- return self._findProof(httpf, httprsn, configf, configr)
- 20:42:40 [eikeon]
- File "/Users/eikeon/paw/www/2005/demo/engine.py", line 97, in _findProof
- 20:42:42 [eikeon]
- pf = explainFormula(h)
- 20:42:44 [eikeon]
- File "/Users/eikeon/paw/www/2005/demo/swap/why.py", line 104, in explainFormula
- 20:42:46 [eikeon]
- raise ValueError(
- 20:42:48 [eikeon]
- ValueError: No tracker. This may happen if the formula is validly empty.
- 20:42:50 [eikeon]
- If this helps:
- 20:42:52 [eikeon]
- def explainFormula(f, flags=""):
- 20:42:54 [eikeon]
- "Return the explanation formula for f"
- 20:42:56 [eikeon]
- tr = proofsOf.get(f, None)
- 20:42:58 [eikeon]
- if tr is None:
- 20:43:00 [eikeon]
- raise ValueError(
- 20:43:02 [eikeon]
- "No tracker. This may happen if the formula is validly empty.")
- 20:43:04 [eikeon]
- return tr[0].explanation(flags=flags)
- 20:48:18 [DanC]
- timbl, any clues on this
- 20:48:23 [DanC]
- timbl, any clues on this "No tracker" thingy?
- 20:50:14 [DanC]
- @@created store: %d -1216474868
- 20:50:15 [DanC]
- @@created store: %d -1216474676
- 20:52:35 [timbl]
- I gues the tracker is a thing associated with a formula,
- 20:52:54 [timbl]
- which holds the reaons for the statments in a formula -- where this is needed.
- 20:53:21 [timbl]
- Eg if the formula is the knowedge base, or is the resul tof a log:conclusion
- 20:53:57 [timbl]
- What isthe formula which gives this error? Is it your main workspace
- 20:54:02 [timbl]
- for which you need a proof?
- 20:54:35 [DanC]
- yes, the formula for which we need a proof
- 20:56:02 [DanC]
- h = self._store.newFormula()
- 20:56:02 [DanC]
- applyRules(g, self._filter, h)
- 20:56:02 [DanC]
- h = h.close()
- 20:56:14 [DanC]
- _logger.debug('Expressing proof as a graph...\n'
- 20:56:20 [DanC]
- pf = explainFormula(h)
- 20:56:24 [DanC]
- and then kerflewey.
- 20:56:42 [timbl]
- Hmmm.
- 20:57:35 [DanC]
- @@created store: -1216560308
- 20:57:35 [DanC]
- @@created store: -1216560116
- 20:57:45 [DanC]
- somehow we're creating 2 different stores.
- 20:58:09 [eikeon]
- tb = sys.exc_traceback
- 20:58:09 [eikeon]
- tb = tb.tb_next
- 20:58:09 [eikeon]
- logger.error(traceback.print_exception(sys.exc_type, sys.exc_value, tb))
- 20:58:52 [timbl]
- you means self._store is changing?
- 20:59:05 [DanC]
- or something.
- 20:59:38 [timbl]
- Is the tracking flag now an attribute of the store?
- 21:00:36 [DanC]
- traceback.print_exception(sys.exc_type, None, sys.exc_traceback)
- 21:00:36 [DanC]
- AttributeError: 'module' object has no attribute 'exc_traceback'
- 21:03:52 [DanC]
- http://docs.python.org/lib/module-traceback.html
- 21:05:49 [eikeon]
- >>> def foo():
- 21:05:50 [eikeon]
- ... traceback.print_stack()
- 21:05:50 [eikeon]
- ...
- 21:05:50 [eikeon]
- >>> foo()
- 21:05:50 [eikeon]
- File "<stdin>", line 1, in ?
- 21:05:51 [eikeon]
- File "<stdin>", line 2, in foo
- 21:05:52 [eikeon]
- >>> def bar():
- 21:05:54 [eikeon]
- ... foo()
- 21:05:56 [eikeon]
- ...
- 21:05:58 [eikeon]
- >>> bar()
- 21:06:00 [eikeon]
- File "<stdin>", line 1, in ?
- 21:06:02 [eikeon]
- File "<stdin>", line 2, in bar
- 21:06:04 [eikeon]
- File "<stdin>", line 2, in foo
- 21:06:06 [eikeon]
- >>>
- 21:06:44 [DanC]
- @@created store: -1213573908
- 21:06:44 [DanC]
- File "run_tests.py", line 26, in ?
- 21:06:44 [DanC]
- from paw_check import check_proof
- 21:06:44 [DanC]
- File "/home/connolly/paw/www/2005/demo/paw_check.py", line 11, in ?
- 21:06:44 [DanC]
- from swap import check
- 21:06:45 [DanC]
- File "/home/connolly/w3ccvs/WWW/2000/10/swap/check.py", line 41, in ?
- 21:06:47 [DanC]
- knownReasons = Set([reason.Premise, reason.Parsing,
- 21:08:17 [DanC]
- File "/home/connolly/w3ccvs/WWW/2000/10/swap/notation3.py", line 1230, in __init__
- 21:08:28 [DanC]
- notation3.py creates another store
- 21:08:35 [timbl]
- You don't import the same mosule tice, making global store twice?
- 21:08:55 [DanC]
- huh?
- 21:09:20 [DanC]
- the problem is that swap/check.py creates a store and so does swap/notation3.py , and they're not the same store.
- 21:10:07 [DanC]
- hmm... notation3.py creates an RDFSink(), not an RDF store... sorry...
- 21:15:10 [DanC]
- timbl, have you ever tried to do 2 proofs in the same python process?
- 21:15:47 [timbl]
- No, not at the top level.
- 21:15:59 [timbl]
- Yosi may have done nested proofs for log:conclusion
- 21:16:24 [timbl]
- You think proofsOf is getting initialized to {} at some pioint?
- 21:16:44 [DanC]
- dunno...
- 21:17:28 [DanC]
- I thought the problem was that symbols and formulas were getting created in different engines, but I just eliminated that problem, and the "no tracker" problem persists.
- 21:18:30 [timbl]
- proofsOf is a global
- 21:19:01 [timbl]
- Only used in why.py.
- 21:19:19 [timbl]
- Only written to around 5 places
- 21:19:47 [timbl]
- 6
- 21:19:57 [timbl]
- Couls put a diagnotic trace on each one
- 21:20:08 [timbl]
- Could
- 21:20:20 [DanC]
- well, I'm running out of energy on this for today. I'd be more interested to get rid of the globals.
- 21:21:08 [DanC]
- there are some mysterious aspects to the swap.diag module; for years I have wanted to replace that with the python logging module. That might be the place to start.
- 21:21:17 [timbl]
- Sounds as though it could be an attribute on te formula
- 21:22:38 [timbl]
- danc, diag.progress would be a major place to start, and would it not just change 1 set of globals for another?
- 21:23:58 [timbl]
- Could you check whether the line proofsOf[G] = pF + pG line 71) is ever executed?
- 21:24:03 [timbl]
- It looks like an untested one
- 21:24:09 [timbl]
- possiby untested one
- 21:24:45 [DanC]
- yes, diag.progress would be trading one set of globals for another, but the other set is maintained by the python community
- 21:25:43 [timbl]
- which would be all good, but how aout starting where this prrof stuff is by getting rid of proofsOf?
- 21:26:31 [timbl]
- wow ... make fast was fast
- 21:26:49 [DanC]
- At revision 285.
- 21:28:31 [DanC]
- ok, checking for proofsOf[G] = pF + pG ...
- 21:29:16 [timbl]
- I tried to run retest test/reason/detailed.tests and it crashed out
- 21:29:26 [timbl]
- on t06zcheck
- 21:29:37 [DanC]
- odd... I think what I just checked in might be bogus...
- 21:29:38 [DanC]
- File "/home/connolly/paw/www/2005/demo/engine.py", line 43, in __init__
- 21:29:38 [DanC]
- assert(diag.tracking)
- 21:29:38 [DanC]
- AssertionError
- 21:30:33 [DanC]
- we're using the version of swap tagged paw-demo-m1
- 21:30:38 [timbl]
- _________
- 21:30:52 [timbl]
- Oh... I am using the latest
- 21:30:56 [timbl]
- I get raise "eh? this is silly - ever reached? s is statment not step"
- 21:30:57 [timbl]
- eh? this is silly - ever reached? s is statment not step
- 21:31:08 [timbl]
- File "/devel/WWW/2000/10/swap/why.py", line 483, in explain
- 21:31:48 [timbl]
- That sounds like svn
- 21:32:09 [DanC]
- run_tests.py: diag.tracking = 0
- 21:32:11 [DanC]
- odd!
- 21:32:11 [eikeon]
- :)
- 21:32:32 [timbl]
- Repository revision: 1.48 /w3ccvs/WWW/2000/10/swap/why.py,v
- 21:32:48 [DanC]
- no wonder!
- 21:33:12 [DanC]
- [[
- 21:33:13 [DanC]
- # Check will not work with diag == 1 nor will check._s2f
- 21:33:13 [DanC]
- # See bug report of 9 Oct 2006
- 21:33:13 [DanC]
- # http://lists.w3.org/Archives/Public/public-cwm-bugs/2006Oct/0003.html
- 21:33:13 [DanC]
- diag.tracking = 0
- 21:33:13 [DanC]
- diag.setTracking(0)
- 21:33:15 [DanC]
- return check_proof(proof_string, request_id, uri, policy, secret)
- 21:33:17 [DanC]
-
- 21:33:19 [DanC]
- ]]
- 21:34:58 [timbl]
- That bug looks like a lake base URI.
- 21:35:11 [timbl]
- Nothing really connected to tracking itself
- 21:35:35 [timbl]
- but something exposed by DanC's making it illegal to hand a non-absolute base URI to refTo
- 21:37:37 [DanC]
- DEBUG @@check proof uri: file:/home/connolly/paw/www/2005/demo/html/images/group.jpg
- 21:37:41 [DanC]
- looks absolute to me...
- 21:38:30 [DanC]
- proof = check._s2f(proof_string.encode('utf-8'), base=request_id)
- 21:38:37 [timbl]
- The assertion could be made to print its params ... ah it is ... is hte URI missing or empty or something?
- 21:38:46 [timbl]
- # assert ':' in urirefString, "must be absolute: %s" % urirefString
- 21:38:46 [timbl]
- # AssertionError: must be absolute:
- 21:38:58 [timbl]
- or was the error report paste truncated?
- 21:39:08 [DanC]
- DEBUG @@check proof request id: mid:1
- 21:39:31 [DanC]
- I think the URI is missing or empty or something
- 21:42:21 [eikeon]
- svn commit -m "return diag.tacking back to the value it was after we turn it off for checking" run_tests.py
- 21:42:21 [eikeon]
- Password:
- 21:42:22 [eikeon]
- Sending run_tests.py
- 21:42:22 [eikeon]
- Transmitting file data .
- 21:42:22 [eikeon]
- Committed revision 286.
- 21:42:38 [eikeon]
- Just to get us back to a working state while we debug the issue.
- 21:44:11 [DanC]
- thisDoc=""
- 21:44:22 [DanC]
- if diag.tracking: self._reason2 = BecauseOfData(
- 21:44:22 [DanC]
- store.newSymbol(thisDoc), because=self._reason
- 21:45:36 [DanC]
- ah... looks like s2f doesn't correctly create the N3 parser object...
- 21:48:45 [DanC]
- ok, after fixing that, I no longer get "no tracker" but rather...
- 21:48:46 [DanC]
- ERROR Tracking reasons but no reason given for{_g_L97C34 pr:boundTo {3}}
- 21:50:03 [timbl]
- This is is a proof about a proof?
- 21:50:17 [DanC]
- no. not on purpose, anyway
- 21:50:51 [timbl]
- It looks as though something is trying to expain why x is pr:boundTo y when pr:boundTo is the proof ontology.
- 21:51:06 [DanC]
- we've got a proof in N3 string form. We're trying to parse it to a formula, and we're getting tripped up because we seem to be required to say why.
- 21:51:07 [timbl]
- that suggests that we are making a proof onf a proof?
- 21:51:52 [timbl]
- that meaning my last ine not yours
- 21:52:17 [DanC]
- formulas, yes, but terms?
- 21:53:32 [timbl]
- agreed.
- 21:53:48 [timbl]
- Maybe it was left over from when the forallSome was stored as a statement
- 21:54:23 [eikeon]
- none
- 22:00:33 [DanC]
- oh... your desk... glad to hear it's tidy. I was wondering about my own
- 22:47:37 [timbl]
- timbl has quit ()
- 22:54:14 [timbl]
- timbl (n=timbl@146-115-112-112.c3-0.lex-ubr1.sbo-lex.ma.cable.rcn.com) has joined #dig