Camelia, the Perl 6 bug

IRC log for #darcs, 2011-04-21

| Channels | #darcs index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:01 iago uhm, yes
00:02 iago but, anyway, what did you do in addition
00:02 owst http://hpaste.org/45896 this patch.
00:04 iago tests ran ok before that patch so
00:06 owst Yeah. I just want to try and understand why or how it's failing as it is.
00:07 iago owst, well
00:07 iago it should be in tryMakeBoringRegex, I guess
00:10 iago owst, sorry for the inconvenience  but you are using Control.Exception to catch an exception from matchRegex or mkRegex, but I don't see any documented exception
00:10 iago what am I missing?
00:11 owst Yes, I know - it's really hidden :)
00:11 owst 1 moment.
00:12 owst http://hpaste.org/45862 was a small example
00:12 owst the exception is thrown inside matchRegex (I think matchRegex internally calls Text.Regex.Posix)
00:15 iago does not looks like a library bug ? Such exception should be captured
00:17 iago it looks that the error is raised when you try to compile an invalid posix regular expression
00:17 owst Yes, I think so.
00:19 iago so, what's the point of decide if a re is boring or not by catching an error that is caused by an ill-formed regex
00:19 iago oh ok
00:19 iago sorry
00:19 owst http://bugs.darcs.net/issue2065 If you've not seen it :)
00:20 iago yes sorry
00:20 iago uhmm
00:21 owst It's a hack - it seems that the regex doesn't get compiled, until it's used in a match - so I thought to just try matching against empty string.
00:21 iago well, honestly I think I will ask the library maintainer to change mkRegex to String -> Maybe Regex
00:21 iago or to properly catch and re-throw the exception
00:21 iago owst, yeah, I realize that
00:22 iago but the "" confuses me for a while and makes me thing that you want to filter such regexs
00:22 iago -thing +think
00:22 owst I was going to write some comments, but it was breaking so I didn't get to it!
00:23 iago uhmm let me try that function with ghci
00:23 owst it breaks - I tested there first.
00:23 owst Oh, do you mean my function?
00:23 owst Or just mkRegex/matchRegex?
00:24 iago your function
00:24 iago import Text.Regex ( Regex, mkRegex, matchRegex, ) <-- should not give you a syntax error ?
00:25 owst it didn't, but good spot
00:27 owst I have a test file if you like
00:27 iago well, your function seems to work well
00:27 iago ...
00:27 owst http://hpaste.org/45900/testing_regex yeah,
00:27 owst This is why I was confused!
00:27 iago maybe some use of Debug.Trace( trace ) ?
00:27 iago :P
00:28 owst If you apply that patch I pasted, do you get the same error?
00:29 iago I'll see
00:33 owst Although, I can't get the segfault now.
00:33 owst (the get-http-packed.sh script just says skipped, for some reason)
00:36 iago I am still building
00:36 iago I had to install new deps with the current version of screened
00:38 owst Oh, I had a segfault, in another test this time.
00:39 owst It says "core dumped" but I can't find the core file anywhere :S
00:53 iago uhm
00:53 iago I have applied your patch
00:54 iago build
00:54 iago and now I am running the tests (cabal test)
00:54 owst Mine has passed all tests a couple of times, I'm not sure what is going on...
00:54 iago and I do not observe anything strange (till now)
00:54 iago a few tests are skipped
00:55 iago issue1645-ignore-symlinks.sh fails...
00:56 owst | test: line 132: 29042 Segmentation fault      (core dumped) darcs rec -alm "should not happen" >> log 2>&1
00:56 iago also pull-dont-prompt-deps.sh, push-dont-prompt-deps.sh, send-dont-prompt-deps.sh, unrecord-dont-prompt.sh ...
00:56 owst Yeah I think the email and prompt tests are borkne
00:56 owst broken*
00:56 owst s/email/sendmail/
00:57 owst Did you get a segfault?
00:58 iago uhm yes
00:58 iago | test: line 21: 24287 Segmentation fault      darcs record -Ax -alm foo2
01:03 iago just checking if it is indeed caused by your patch
01:04 copumpkin joined #darcs
01:04 owst I can't recreate the segfault outside of the tests
01:04 iago me too
01:04 iago or me neither, I don't know :P
01:05 owst I would say "me neither"
01:05 iago although I did not try anything exotic
01:05 owst No, me neither :p
01:16 iago unfortunately the use of trace conflicts with some tests that require stderr to be empty
01:16 owst Ok, this is strange. I rebuilt my screened copy, and removed my other installed darcs (2.5.2). Then, the tests would keep failing - so I tried `valgrind darcs test` and now the tests won't fail again!
01:16 owst When I say failed, I mean segfaulting.
01:18 iago uhmm
01:19 iago if I run selectively those tests they don't fail also
01:21 iago well, I am too tired to do anything well
01:22 iago owst, I recommend you forget that for a while...
01:22 owst Me too. Maybe I'll have some clever ideas when I'm not tired :)
01:22 owst Thanks for your help, even if we didn't get anywhere!
01:22 iago sure
01:23 iago welcome
01:23 iago good night!
01:23 iago left #darcs
01:54 secorp left #darcs
02:34 owst left #darcs
02:34 jeffz joined #darcs
02:38 secorp joined #darcs
02:41 zooko joined #darcs
02:41 gwern zooko: I saw  http://lwn.net/Articles/381512/ with interest but one thing I've never seen you address is that zfec is just a library, AFAIK, and not a user tool. if I want to ECC my bup backups (or my burned DVDs) I have to use par2 because zfec offers no executable (assuming I trusted zfec as much as par2 in the first place for long-term backup purposes)
02:42 zooko Does too.
02:52 intripoon joined #darcs
02:53 zooko is now known as zookonap
02:55 intripoon_ left #darcs
03:07 gwern zookonap: I don't see any executables in the .deb
03:07 dankna left #darcs
03:09 gwern python-zfec on ubuntu
03:12 dankna joined #darcs
03:16 lispy1 joined #darcs
03:16 lispy left #darcs
03:16 lispy1 is now known as lispy
03:18 zookonap is now known as zooko
03:19 zooko gwern: yes the executables aren't in the Ubuntu package.
03:22 gwern zooko: not very useful then
03:23 gwern par2 isn't well maintained (my easy usability bugs are still open ~years later), but at least it's actually packaged
03:55 dcolish left #darcs
03:57 dcolish joined #darcs
04:00 dcolish left #darcs
04:04 dcolish joined #darcs
04:45 sm left #darcs
05:11 copumpkin left #darcs
05:25 lispy left #darcs
06:06 zooko left #darcs
06:57 roconnor left #darcs
07:05 jeffz left #darcs
07:14 shenshei joined #darcs
07:40 lelit joined #darcs
07:42 jeltsch joined #darcs
07:45 Weltraumschaf joined #darcs
08:11 dcoutts Heffalump: I expect you've thought of this already, but found another darcs rebase use case yesterday,
08:12 dcoutts wanted to combine two patches into one
08:12 dcoutts e.g. receive a patch set via email, first one causes conflicts, second resolves the conflicts
08:13 dcoutts I want to combine and rebase those into a single patch with no conflicts
08:14 dcoutts (there's still some more trivial conflicts after applying the second, so we can't just do a single combine op)
08:38 jonkri joined #darcs
09:04 balor joined #darcs
09:10 kowey joined #darcs
09:11 shenshei left #darcs
09:11 shenshei joined #darcs
09:21 balor left #darcs
09:44 iago joined #darcs
09:59 raichoo joined #darcs
10:23 kowey what would be a good bit of timing after all these "yeah, I'd use darcs if I had a decent site with a bug tracker" is alexsuraci piping up and saying "oh bugtracker? hacked it weeks ago, here you go"
10:24 kowey hmm, I do see an "issues" button on one of the projects...
10:31 kowey http://darcsden.com/kowey/snippets/issues
11:06 iago I suspect you will hear something else
11:18 gal_bolle joined #darcs
11:19 zooko joined #darcs
11:26 jonkri left #darcs
12:05 owst joined #darcs
12:30 owst left #darcs
12:34 jderque joined #darcs
13:01 gh_ joined #darcs
13:07 copumpkin joined #darcs
13:10 owst joined #darcs
13:37 sm joined #darcs
13:54 raichoo left #darcs
14:02 copumpkin left #darcs
14:15 jonkri joined #darcs
14:20 iago left #darcs
14:22 kowey left #darcs
14:29 copumpkin joined #darcs
14:45 iago joined #darcs
14:55 secorp left #darcs
15:04 jderque left #darcs
15:04 lispy joined #darcs
15:20 jonkri left #darcs
15:22 gh_ left #darcs
15:39 zooko left #darcs
15:42 gal_bolle left #darcs
15:49 lispy left #darcs
15:49 Weltraumschaf left #darcs
15:50 jeffz joined #darcs
15:55 jeltsch left #darcs
16:16 raichoo joined #darcs
16:17 jeffz left #darcs
16:23 shenshei left #darcs
16:34 lispy joined #darcs
16:36 alexsuraci well. in that case, yes, darcsden has had bug tracking for months now
16:40 jeltsch joined #darcs
16:40 jderque joined #darcs
16:44 zooko joined #darcs
16:50 jeltsch left #darcs
16:58 sm_ joined #darcs
17:01 sm left #darcs
17:01 sm_ is now known as sm
17:02 zooko left #darcs
17:04 exlevan left #darcs
17:08 C-Keen joined #darcs
17:09 C-Keen left #darcs
17:22 secorp joined #darcs
17:38 owst left #darcs
17:39 owst joined #darcs
18:00 zooko joined #darcs
18:01 owst iago: I managed to get a coredump of the segfault... but I'm not sure it's any use!
18:03 iago well, I am not sure if the time worth it
18:04 owst But I want to push this patch! :)
18:04 owst And I'm not happy to do so if it's going to cause segfaults in the tests!
18:05 zooko left #darcs
18:16 iago uhm
18:20 iago well, I think I would take a look to the code of the regex library
18:20 iago or try to reproduce the problem by hand
18:20 iago as we said, none of us have tried nothing "exotic"
18:21 iago maybe if you try to execute one of the failing tests by hand you will end with a repo in which the problem arises
18:21 iago to spend time analyzing a core dump does no seem to be very productive, as you said
18:22 iago in this case at least
18:23 lispy iago: "none of us have tried anything "exotic""  (english has funny rules about double negatives)
18:23 lispy iago: how are things going?
18:23 lispy iago: enjoying cryptol?
18:24 iago lispy, my supervisor has gone to Intel :-P
18:24 lispy iago: John Matthews?
18:24 iago yep
18:24 lispy yeah :(
18:24 lispy iago: so was the project called off?  I didn't realize he was your advisor
18:24 lispy I assumed it was Sally or Levent
18:25 iago 'Using quantified rewrite patterns with SMT solvers'
18:25 lispy iago: sorry, I meant, are you still going to do the project?
18:26 lispy iago: I'm sure I could ask someone here, but I already have your attention :)
18:27 iago lispy, honestly I understood that Leven was my supervisor, but with John out now Joe Hurd is my new supervisor... so I guess that officially Jhon was my supervisor... however most questions were answered by Levent... after all I send my e-mails to all of them and who respond depends on the kind of question... so maybe it is not so important
18:28 iago yes, I'm continuing with the project
18:29 iago although I decide to change it a bit and instead of try to instruct a SMT solver to use X rules (which after some 'playing' it seems to be quite tricky) I have decided to write an external rewriting system
18:35 lispy iago: oh wow.  Cool!
18:36 owst iago: what is this project for?
18:38 iago owst, in short... some problems are not handled in a clever way by SMT solvers so I have to find high-level rules that simplified those problems into anothers that are properly handled by SMT solvers
18:38 iago that can be used to simplify* (sorry, I'm writing a bit fast)
18:39 owst iago: I mean, for a PhD, Masters?
18:39 phyve joined #darcs
18:39 owst But cool - sounds fun!
18:39 iago imagine (a * b) * c == a * (b * c), where a,b,c are bit-vectors of length 1024... some solvers could try to solve that by bit-blasting a,b,c instead of just apply associativity
18:40 iago and bit-blasting multiplication is particularly expensive
18:40 iago that's the basic idea
18:41 copumpkin ##smt
18:41 copumpkin it's getting rather small in there though :(
18:42 phyve i'm new to darcs (mostly use git) and I was wondering why there isn't a branching feature similar to git or hg. I understand using patches is fundamentally different than snapshots, but it seems like it wouldn't be too difficult of a facility to add, so I thing i'm missing something
18:43 phyve i mean there are tags
18:44 phyve and git/hg users are so used to branching
18:44 phyve well, the ones that use it properly, that is :)
18:44 * owst wonders why `cabal test foo.sh` always segfaults, yet `valgrind cabal test foo.sh` always doesn't :S *rage at stupid heisenbug!*
18:45 iago owst, sorry, I'm also reading fast :-)
18:45 iago it is part of a course
18:45 owst phyve: I think it's mostly an implementation issue, rather than a 'this is particularly difficult problem to tackle in darcs'.
18:46 alexsuraci phyve: the Darcs Way™ is typically to just use another repository as your branch
18:46 alexsuraci and you can cherry-pick from there to your heart's content
18:46 owst phyve: Or rather, I mean "it just needs careful designing, and then someone to implement it", it's not usually needed in Darcs.
18:46 iago well, it is part of the specialization on fm, it has a "project module" but it is not considered a thesis
18:47 owst phyve: that said, I do think it is something that is missing in Darcs.
18:47 phyve i see
18:47 jeltsch joined #darcs
18:47 owst phyve: are you a programmer or just a user?
18:48 phyve programmer
18:48 owst Cool, do you know Haskell?
18:48 owst </obvious attempt at recruiting hackers>
18:48 phyve working on it
18:48 alexsuraci phyve: btw, see http://wiki.darcs.net/BestPra​ctices#when-should-you-branch
18:48 phyve thanks!
18:48 zooko joined #darcs
18:50 phyve i'm hoping to learn haskell better when i have more time. fortunately the first CS course at my univ is in Scheme, so functional programming isn't that weird anymore :)
18:51 alexsuraci lucky. i got stuck with java.
18:51 owst alexsuraci: same :(
18:52 phyve i've learned that if i ever am forced to do java, i should just use scala instead
18:52 alexsuraci heh. there's clojure too.
18:54 phyve does clojure have a decent rate of adoption? i played around with it a bit, but went with scala because it seemed to have more of that
18:55 phyve however, 2.7 to 2.8
18:55 phyve was a bit painful
18:56 phyve not that adoption really counts for much :)
19:00 phyve left #darcs
19:04 owst Is this a usability bug, or just me being silly. If I record a patch, then pull some changes in, then amend-record, I'm asked if I want to amend the pulled changes, and have to 'n' through to my patch. I would think that users would expect to be prompted to amend their last patch first.
19:04 Heffalump owst: arguably by default it should only offer patches authored by you
19:04 Heffalump also, there's been quite a lot of chat lately about making pull leaving "local" patches last in the repo
19:05 owst Oh really? Interesting. That'd be like a `git pull --rebase` then.
19:06 Riastradh ...except not scary and dangerous.
19:07 zooko left #darcs
19:08 owst "Danger? Ha, I laugh in the face of danger."
19:08 owst Yes that is a Lion King quote.
19:08 * Heffalump has never seen Lion King
19:08 * owst usually pretends that he hasn't.
19:10 owst Heffalump: "try enabling core dumps then using gdb to get a stack trace - see if it's coming from any library under Text.Regex" was what you said regarding trying to figure out the regex segfaut. I don't have any debugging symbols, so I just get a load of addresses for the backtrace... am I screwed?
19:10 owst Also, I was under the (perhaps wrong) impression that stacktraces were not possible/useful with Haskell.
19:12 Heffalump owst: I'm a bit rusty with gdb, but I was under the impression that if the problem happened in some foreign library then you'd see that in the trace
19:13 Heffalump ultimately, the way to track this down will be to turn it into a small Haskell program that reproduces the problem :-(
19:13 owst Yeah, if only I could :)
19:14 owst I have a reliably-always-failing `cabal test` that'll segfault, but reproducing outside of the test framework doesn't seem to work.
19:16 Heffalump even in a shell loop?
19:16 owst Yeah, if I run the shell test outside of the test harness it always appears to work.
19:16 Heffalump ok, so the test harness is a Haskell program too...
19:19 owst Oh, and it does appear to always fail on the Hashed format test.
19:19 owst Not on Darcs2 format.
19:20 Heffalump now that's really weird
19:20 Heffalump what if you skip darcs2 format
19:20 Heffalump ?
19:21 owst How do I do that? (cabal test --help doesn't show anythimg useful)
19:22 Heffalump not sure then. Actually, the next intermediate step between cabal test and shell is runnign dist/build/darcs-test/darcs-test directly
19:22 Heffalump I think that has an option to control it.
19:22 owst Righto, I'll have a peek.
19:27 owst Well, things got more strange :)
19:28 owst With darcs-test you can specify the number of threads to use - I randomly tried 10, and it passed! 1,2,3,4,5 all fail, every time.
19:28 Heffalump btw, I noticed you tried valgrind - did you arrange for darcs itself to be valgrinded?
19:29 owst Not that I know of (I don't know how I would do so), I just ran  `valgrind cabal test`, nothing else.
19:33 Heffalump unless it can follow fork/exec, that wouldn't help
19:33 Heffalump check if it has an option for child processes
19:34 owst --trace-children=yes, fyi.
19:34 Heffalump ok, cool
19:35 owst Well, that certainly gave more output... :)
19:48 Heffalump :-)
19:49 Heffalump I'm not sure if valgrinding GHC programs is much use anyway
19:49 owst It doesn't seem that it is ;)
19:49 owst I thought "memory errors == valgrind", but that might have been silly :0
19:55 JaffaCake1 joined #darcs
19:57 JaffaCake left #darcs
20:00 ezyang left #darcs
20:10 Heffalump dcoutts: btw, I'm making progress with the cabal-install rebase, finding some bugs and missing features in rebase along the way.
20:10 Heffalump it was originally in a cabal-install subdir, do you want it to end up back in that?
20:11 owst Argh. I give up for now - to the pub!
20:17 owst left #darcs
20:27 zooko joined #darcs
20:51 sm owst: excellent plan!
20:55 sm many a fine debugging idea has come from a cozy pub
20:56 sm oops he's gone.. forgot I just turned off join/leave notices
21:00 zooko left #darcs
21:08 jderque left #darcs
21:29 shenshei joined #darcs
21:41 dcoutts Heffalump: oh brilliant
21:41 dcoutts Heffalump: yes, I think in the end we'll want to have a subdir for each package, initially cabal and cabal-install, and we'll do further package splitting from there.
21:42 Heffalump so you'll want cabal to move back into a subdir too?
21:42 dcoutts Heffalump: eventually, but I can do that bit
21:42 dcoutts Heffalump: it's fine if your merge puts cabal at the root and cabal-install in a subdir
21:42 Heffalump yeah, but it might also make it easier for me (or might not), so it's good to be thinking ahead
21:43 dcoutts do whatever's easiest
21:43 dcoutts it's relatively easy to rearrange afterwards
21:44 jeltsch left #darcs
21:44 dcoutts Heffalump: do you have a rebase TODO list? Can I add 1. "-p flag" support for suspend, and 2. in unsuspend follow the normal patch picking procedure, rather than always verbosely showing the whole patch
21:44 Heffalump it's unfortunate that darcs doesn't yet have a nice solution for just merging two repos, like the Anygma guy whose name escapes me asked us about in Utrecht - you'd like to be able to move everything in each repo into a different subdir then just merge the repos, but conflicts between the original file additions kill you.
21:44 dcoutts ah yes
21:45 Heffalump -p is already in my todo list (implicitly, the TODO is to review it against all the options other commands give)
21:45 Heffalump I don't understand 2.
21:45 Heffalump oh, I see
21:45 Heffalump I obviously hadn't used it for a bit :-)
21:45 dcoutts oh, 2 it's just that when you rebase unsuspend, it shows you the whole patch in -v mode, rather than the usual darcs patch picking UI
21:45 Heffalump yeah
21:45 dcoutts e.g. I can't use x for a summary
21:46 Heffalump I guess I need to implement a few more class methods there.
21:46 dcoutts for the merging, somehow want to prepend a patch to each set that moves the root dir into a subdir
21:46 * Heffalump adds it to the TODO list
21:47 Heffalump dcoutts: kind of - http://wiki.darcs.net/Ideas/AddAddConflicts is the proposed solution
21:47 * dcoutts reads
21:48 zooko joined #darcs
21:49 dcoutts Heffalump: patch guids reminds me that it'd be nice to have special help in the case that a rebased patch conflicts with the original, to help in the case that someone accidentally pulls into the wrong repo
21:49 dcoutts or a contributor sends a patch to the maintainer, the maintainer rebases and pushes to head, the contributor pulls and their old patch now conflicts
21:50 dcoutts want to flag up to the contributor that they have a different version of the "same" patch and, so they can know to discard it
21:50 * dcoutts continues reading
21:51 Heffalump dcoutts: yeah, that's on my todo list
21:52 dcoutts oh nice
21:53 dcoutts Heffalump: re add-add conflicts, all sounds very reasonable
21:56 Heffalump re your earlier comment about patch merging, yes, it's a useful use case; I'm hesitating about whether it deserves a command of its own or whether users should just synthesise it manually.
21:59 Heffalump right now I'm writing rebase obliterate because that really is nasty to do by hand
21:59 Heffalump (in the presence of conflicts)
22:00 raichoo left #darcs
22:01 dcoutts Heffalump: it could be done manually by unrecord + amend-record?
22:01 * dcoutts had not thought of that
22:02 dcoutts Heffalump: in which case perhaps just added to the list of "recipes" would be fine
22:03 dcoutts hmm, it's not really obvious to me how it'd work. I've got three patches all of which conflict with the mainline, but the 3rd patch is a merge patch from the contributor that fixes many of the conflicts from the first two.
22:03 shenshei left #darcs
22:04 dcoutts I want to preserve the structure of their being two patches, but want to merge the conflict resolution one into the 2nd patch
22:04 dcoutts but if I unsuspend the first and resolve its conflicts with mainline, I'll make the 3rd conflict-resolution patch worse :-)
22:05 copumpkin left #darcs
22:08 * dcoutts disappears
22:12 Heffalump isn't making the 3rd conflict-resolution worse inevitable?
22:14 Heffalump in the absence of rebase, you're still going to have to sort out the three-way conflict at some point
22:25 zooko left #darcs
22:44 parcs joined #darcs
22:44 parcs left #darcs
22:44 zooko joined #darcs
23:12 zooko left #darcs
23:33 zooko joined #darcs
23:44 zooko left #darcs

| Channels | #darcs index | Today | | Search | Google Search | Plain-Text | summary