Camelia, the Perl 6 bug

IRC log for #darcs, 2012-12-21

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

All times shown according to UTC.

Time Nick Message
00:42 favonia joined #darcs
02:09 mizu_no_oto joined #darcs
02:30 koninkje_away joined #darcs
02:45 intripoon joined #darcs
04:06 Modius Is there a way to search Darcs for changes to a specific file?
04:06 Modius nvm - changes -s
04:27 drdo joined #darcs
04:28 `nand` joined #darcs
04:28 mndrix_ joined #darcs
04:34 alexsuraci_ joined #darcs
04:35 mulander joined #darcs
07:03 stepcut joined #darcs
08:40 owst joined #darcs
08:46 drdo joined #darcs
09:59 donri joined #darcs
10:10 mndrix joined #darcs
10:13 alexsuraci_ joined #darcs
11:12 schlaftier joined #darcs
11:22 owst Gah! barefruit.co.uk I hate you!
11:23 owst (causing tests to hang since they intercept non-existent dns lookups and return some crappy advertising)
11:27 owst On a related note, we want to test that darcs accepts paths containing colons (either ssh, http, or unix-files), so therefore need to do a darcs get on some paths to test that darcs attempts to access an ssh/http repo. However it seems horrible to just try and connect to some.bogus.path.that.will.surely.fail.com, exactly in cases like I'm hitting (the dns munging)
11:31 owst (For anyone else on BT with this *stupid* dns redirection, you can disable this "experience enhancement" here http://preferences.webaddresshelp​.bt.com/selfcare/preferences.cgi)
11:40 owst Hmm: darcs push foobar --match 'author Ganesh' seems to present patches by me and kowey, and Heffalump :-s
12:32 favonia joined #darcs
13:19 donri owst: 8.8.8.8 4.4.4.4
13:19 donri uh 8.8.4.4
13:23 owst donri: yeah, that is of course the proper solution (though if I opt-out, I have some vain hope that someone at BT will notice at some point)
13:39 donri it should be illegal to sell that as "internet service" :(
13:41 owst Yeah, it's very annoying, I suppose *technically* it's not breaking any standards :-(
13:43 donri dns is part of what makes up "the internet". straying from the root nameservers makes you "not internet". QED!
13:44 donri here in sweden most ISPs have a child porn filter that mostly blocks legal gay porn and blogs speaking up against the filter :)
13:47 mizu_no_oto joined #darcs
15:10 schlaftier joined #darcs
15:55 mizu_no_oto joined #darcs
17:08 mizu_no_oto joined #darcs
17:44 amgarchIn9 joined #darcs
18:06 markstos joined #darcs
18:06 markstos I just got a bad bug with the latest "pull" I did from darcs screened. Basic functionality of "darcs changes" has broken:
18:06 markstos runghc Setup.lhs test tests
18:06 markstos Oops, wrong paste: http://bugs.darcs.net/issue2286
18:07 markstos But related to my "oops" paste, the README in the tests/ redirectory says to use this syntax to run the tests:
18:07 markstos runghc Setup.lhs test tests
18:07 markstos But when I do, I get back an exception:  "   Deprecated: "Please use the new testing interface instead!"
18:07 markstos so it seems like that README in test/ needs to be updated.
18:08 markstos When I try to use "darcs changes" I get: darcs: ByteString: hGetContents: invalid argument (invalid byte
18:08 markstos sequence)
18:08 markstos From looking at --debug-verbose, this appears to be emitted while reading inventory files.
18:15 markstos Did I see go by recently than an upgraded an alternate bytestring library was starting to be used? Perhaps that plays a role.
18:17 markstos I attemped to run "darcs-test", but it advises me me to first pass "-ftest" to ./configure, but "configure" does not exist. That diagnostic should be updated to tell me what to really do instead.
18:37 pr joined #darcs
18:42 owst markstos: you did (re: a new bytestring lib)
18:43 owst Not sure how to setup tests without cabal, but with cabal it's: `cabal configure -ftest; cabal build; cabal test` for the basic shell tests
18:43 owst markstos: are you on 32 bit Ubuntu?
18:44 markstos 64
18:44 markstos The repo may have formally been hosted on 32-bit.
18:44 owst Do you get the error in the darcs.net repo?
18:44 markstos (formerly)
18:44 * markstos checks
18:44 owst (i.e. your local copy of it)
18:45 owst Oh, yeah, I get it now
18:46 markstos Looks like I don't get the issue in the darcs repo.
18:46 owst Really? I get to:
18:46 owst Sun Nov 20 20:00:02 GMT 2005  Tommy Pettersson <ptp@lysator.liu.se>
18:46 owst * remove tabs from darcs source file
18:46 owst Sun Nov 20 17:01:57 GMT 2005  darcs: ByteString: hGetContents: invalid argument (invalid byte sequence)
18:46 owst (having said `darcs changes`)
18:47 markstos What was your exact command you used?
18:47 owst darcs changes
18:47 owst With the same reported version as yours
18:47 markstos OK, Yes, after it streams for a while, that happens.
18:47 markstos Cool, reproduction is a step towards a fix.
18:47 owst Indeed
18:48 owst It also seems to print the date but dies on the author name
18:48 owst that's surely a hint
18:48 * owst is getting and old darcs to see who the author is
18:48 markstos I suppose the test suite would have caught this, if it had been run.
18:48 owst Perhaps
18:48 markstos You think it's UTF-8 related?
18:49 owst No idea I'm afraid :-)
18:49 markstos The next patch was from:
18:49 markstos Sun Nov 20 12:01:57 EST 2005  Daniel B?nzli <daniel.buenzli@epfl.ch>
18:50 markstos Aha!
18:50 owst Indeed
18:50 markstos Hmm, but I don't think my team is using UTF-8 in any of our author or patch names. It's all boring English here.
18:51 markstos Although, there may be a "Löwchen" patch somewhere in the patch history.
18:53 owst Daniel Bünzli is the name
18:54 markstos Perhaps this is more of a question for #haskell than #darcs, if it's a third-party library issue?
18:54 owst Hmm. Heffalump certainly knows the most about char encoding problems of late
18:54 owst He should turn up sometime soon I'd expect
18:55 owst hah! The shell tests don't fail, but "Testing patch metadata decoding:" does fail
18:55 schlaftier joined #darcs
18:55 owst (those tests aren't run by default)
18:57 markstos owst: I'm still not able to get the tests to run. I'm told that there are missing dependencies, but am not told how to resolve them: https://gist.github.com/6bae5eaa76298e7bc28e
18:58 owst markstos: cabal install --only-dependencies -ftest
18:58 markstos In Haskell fashion, the error condition is recursive. It tells me to use -ftest after I just did. :)
18:58 owst Heh, sort of, you're getting the message from your old binary
18:58 owst (it will run darcs test regardless of earlier exit codes)
18:59 markstos The latest tip seems to help, it's downloading dependencies now.
19:06 markstos I'm oblit'ing this patch, rebuilding darcs, and re-testing:  use bytestring-handle instead of haskeline for encoding
19:11 owst markstos: I have to go I'm afraid
19:11 owst hopefully Heffalump will arrive and know what's going on :-)
19:11 markstos That's OK, it's not the end of the world.
19:12 owst Interesting! darcs annotate -p 'broken patch' works for me
19:13 markstos Uh oh, I got stuck.  Now darcs is trying to install "cryptohash", which requires GHC > 7, but  I have ghc 6.12.1.
19:14 markstos I think this happened when I attempted to install the extra testing dependencies, but I don't think I really need this otherwise.
19:14 owst Urk.
19:15 owst cabal configure without -ftest should stop it asking for those deps
19:16 markstos Nope, still stuck. I tried "cabal clean", too.
19:16 * markstos scratches head.
19:19 owst Interesting, I file thinks the broken inventory in my case is ISO-8859:
19:19 owst darcs.net/ $ zcat _darcs/inventories/0000005604-bb001bedd0ab7044f​d8e0386b2de3e79eefff69b9fe3776d035a9f2cedb354ad > busted_inventory.txt
19:19 owst darcs.net/ $ file busted_inventory.txt
19:19 owst busted_inventory.txt: ISO-8859 text
19:19 owst darcs.net/ $ zcat _darcs/inventories/0000039357-ec588bcc63ff07b47​3b17e855d55d0858e7d7ecd9563a0849edaab1f672fc68c > good_inventory.txt
19:19 owst darcs.net/ $ file good_inventory.txt
19:19 owst good_inventory.txt: ASCII text
19:20 owst busted_inventory was the one that contained that patch by Daniel
19:20 owst anyway, I'm sure that's something to do with it :-)
19:20 * owst is gone
19:23 markstos I forgot I had a private copy of GHC 7.x:  cabal install --with-ghc=/home/mark/ghc/bin/ghc
19:24 markstos Dependency issue resolved for now.
19:24 * owst *really* is gone now ;-)
19:27 markstos I confirmed that removing this patch removes the bug: "use bytestring-handle instead of haskeline for encoding"
19:58 gpiero joined #darcs
20:14 sm__ joined #darcs
20:18 Heffalump oh dear..
20:18 Heffalump at least you caught the problem before I released 2.8.4 with it
20:19 markstos It's surprising the test suite didn't catch it.. I guess I don't know what combination of factors it takes to trigger it.
20:31 Heffalump apparently the unit tests do catch it - unfortunately I'd stopped running them routinely because they're not all green for external reasons (yes, yes, I know..)
20:31 * Heffalump is just investigating that
20:33 markstos Having "darcs changes" fail for a new release would be embarassing.  I had decided it was "safe" to update to the latest from darcs-screened and start using it in production, because I knew darcs had a strong test suite. :)
20:34 Heffalump if you'd only caught this tomorrow, the same change would have made it into 2.8.4 (albeit only for GHC 7.6)
20:35 markstos May some of the "externally failing" unit tests can be marked as TODO for now, so the rest of them can be put back in action sooner?
20:36 markstos Does darcs still have the buildbot network? Wouldn't they have caught it?
20:36 Heffalump yeah, that seems like a sensible thing to do :-) (I was actually working on making the tests on screened clean the last few days)
20:36 Heffalump it's down :-/
20:37 markstos Oh, volunteer shortage?
20:37 Heffalump yeah, I guess. Another thing I haven't kept a good eye on for a while.
20:38 Heffalump hmm, also the metadata encoding test doesn't fail on Windows, where I mostly do my development
20:47 gpiero hi, just a hint in case you didn't noticed yet: the problematic char is 0xfc that's not a valid utf-8 encoding (the corrispondent code point u+0079 is encoded as c3 bc )... setting the locale of the terminal to a non-utf8 one fixes the visualization error
20:48 markstos That's interesting to know, but an encoding mismatch shouldn't crash darcs.
20:48 Heffalump gpiero: thanks. It's very likely that I should have paid more attention to the comment in the code I was replacing: "unrecognized byte sequences in the input are skipped"
20:49 gpiero I guess the same problem appears with all chars in the range 128-255
20:56 gpiero markstos: sure, was just testing the terminal for confirming the problem was caused by invalid utf chars...
20:56 markstos That's useful to confirm.
20:58 Heffalump the trouble is that all these tests are implicitly dependent on the locale you're running them in :-(
21:07 gpiero not an expert, but I suppose that testing against an @utf-8 locale should cover at least 80-90% of the users... mmh, apart from windows users, maybe... does windows use utf-16 for the terminal too?
21:08 markstos And that's sufficient for cases where a project history may go back several years and perhaps span multiple encodings used in the darcs data and metadata?
21:08 Heffalump yeah, it does
21:08 Heffalump gpiero: ideally, I want tests that don't depend on where they're being run at all!
21:11 markstos left #darcs
21:37 Heffalump windows seems to still use codepages (e.g. CP850) for the terminal
21:38 Heffalump which is why the test doesn't fail there
21:38 Heffalump what non-UTF encodings might raise errors?
22:02 gpiero noone, I think... well, plain ascii (7bit) should, but I don't know if it can be selected on windows
22:04 * gpiero trying to remembering about the old DOS days
22:06 iago joined #darcs
22:36 Heffalump ok, so my first attempt at a fix just segfaults :-)
23:08 sm__ joined #darcs
23:28 JamesJRH sm: Hi, I've been learning some Haskell, but I'm still nowhere near good enough yet for Darcsden developement.
23:29 JamesJRH Have you looked at filestore and Git support yet?
23:41 owst joined #darcs
23:41 Heffalump hi owst, thanks for tracking some more about that encoding screwup
23:44 owst Hey Heffalump - looks like a tricky one! :-)
23:44 owst (sounds like it too, from the scrollback)
23:44 Heffalump I thought I'd found a nice fix. But I think GHC is buggy :-(
23:45 owst :-(
23:45 Heffalump or rather the base library
23:45 owst Eek
23:45 Heffalump http://hpaste.org/79649
23:46 Heffalump there's some stuff to define an encoding that ignores errors instead of blowing up
23:46 Heffalump but if you decode something short that's nothing but an error, it segfaults
23:46 owst \o/
23:47 Heffalump I'm now wondering if I can cheat by adding some junk at the end and then removing it after decoding..
23:48 owst Sounds reasonable. Probably something you should let quickcheck check for you?
23:49 Heffalump probably - but that gets us back to this issue of coverage and tests that are dependent on the current locale
23:49 owst Oh yeah.
23:49 owst Ugh
23:49 Heffalump I can force tests to run in a particular locale, which would help, but then I need to think about what locales to test
23:50 owst Any there are many possible locales?
23:50 owst Not just a thing you can check once-and-for-all?
23:52 Heffalump I guess, but if you're relying on something working it's generally best for it to be in the test suite
23:54 Heffalump and the problem is that adding junk at the end might turn an invalid sequence into a valid one..

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