Re: GNU RCS 5.7.93 (pretest for 5.8) available
[email protected] (Ludovic Courtès)
| Newsgroups | gmane.comp.version-control.rcs.bugs |
|---|---|
| Message-ID | <[email protected]> |
Hi Thien-Thi, Thien-Thi Nguyen <[email protected]> writes: > This message is to announce that pretest release of GNU RCS > (Revision Control System) is available. Congratulations for this brave endeavor! :-) I tried to build it on NixOS GNU/Linux on x86_64 and noticed several glitches related to the test suite: 1. The tests do “. common”, which means that ‘common’ is looked up in $PATH, which fails unless ‘.’ is in $PATH. 2. Why is a custom ‘check-TESTS’ target needed in the ‘v’ (!) directory? 3. Why move executables from ‘src’ to ‘src/0pre/bin’? 4. How about using ‘set -e’ in test scripts? 5. The ‘rlog’ program as run by the tests segfaults: --8<---------------cut here---------------start------------->8--- $ cat t000.d/out __________________________________________________ DOING: rcs -i -t-t000 $v RCS file: t000.d/x,v done RESULT: 0 |head ; |access; |symbols; |locks; strict; |comment @# @; | | |desc |@t000 |@ _________________________________________ rlog | |RCS file: t000.d/x,v |Working file: t000.d/x |head: |branch: |locks: strict |access list: |symbolic names: |keyword substitution: kv |total revisions: 0 |description: |t000 |============================================================================= __________________________________________________ DOING: ci -u -r4.20 -mHELLO $w t000.d/x,v <-- t000.d/x initial revision: 4.20 done RESULT: 0 |head 4.20; |access; |symbols; |locks; strict; |comment @# @; | |4.20 |date 2010.09.28.16.06.46; author ludo; state Exp; |branches; |next ; | | |desc |@t000 |@ | | |4.20 |log |@HELLO |@ |text |@nonempty |@ __________________________________________________ DOING: rcs -q -o4.20 $w ./common: line 42: 7330 Segmentation fault (core dumped) rcs -q -o4.20 $w RESULT: 139 |head 4.20; |access; |symbols; |locks; strict; |comment @# @; | |4.20 |date 2010.09.28.16.06.46; author ludo; state Exp; |branches; |next ; | | |desc |@t000 |@ | | |4.20 |log |@HELLO |@ |text |@nonempty |@ _________________________________________ rlog --8<---------------cut here---------------end--------------->8--- Likewise with ‘t001’: --8<---------------cut here---------------start------------->8--- $ cat t001.d/err RCS file: t001.d/x,v done t001.d/x,v <-- t001.d/x initial revision: 4.20 done ./common: line 42: 7496 Segmentation fault (core dumped) rcs -nWONDERFUL: $w --8<---------------cut here---------------end--------------->8--- and the backtrace: --8<---------------cut here---------------start------------->8--- Core was generated by `rlog t001.d/x'. Program terminated with signal 11, Segmentation fault. #0 hash_pjw (x=0x8888888888888888, tablesize=149) at hash-pjw.c:36 36 for (s = x; *s; s++) (gdb) bt full #0 hash_pjw (x=0x8888888888888888, tablesize=149) at hash-pjw.c:36 s = 0x8888888888888888 <Address 0x8888888888888888 out of bounds> h = <value optimized out> #1 0x000000000040a842 in hash ( revno=0x8888888888888888 <Address 0x8888888888888888 out of bounds>, ht=0x17d5280) at b-grok.c:469 No locals. #2 gethash (revno=0x8888888888888888 <Address 0x8888888888888888 out of bounds>, ht=0x17d5280) at b-grok.c:498 slot = <value optimized out> #3 0x000000000040bc21 in full (to=0x17d5090, f=<value optimized out>) at b-grok.c:796 ny = 0x17ed3f0 d = 0x17d5790 ls = 0x17d5850 count = <value optimized out> box = {entry = 0xa, next = 0x8888888888888888} tp = <value optimized out> g = 0x17d5190 neck = <value optimized out> #4 grok_all (to=0x17d5090, f=<value optimized out>) at b-grok.c:823 repo = 0x17d51f0 #5 0x00000000004069b7 in pairnames (argc=<value optimized out>, argv=0x7fff5f3b545a, rcsopen=0x7, mustread=<value optimized out>, quiet=<value optimized out>) at rcsfnms.c:384 p = 0x17ed3f0 "\200W}\001" arg = <value optimized out> RCS1 = <value optimized out> base = 0x7fff5f3b545a "x" RCSbase = <value optimized out> x = <value optimized out> mani_filename = <value optimized out> paired = false dlen = 7 baselen = 1 xlen = <value optimized out> from = 0x17d5130 maybe = {open = 0x406d60 <rcsreadopen>, mustread = true, tentative = { string = 0x17eb2e0 "t001.d/x,v", size = 10}, space = 0x17eb230, bestfit = { string = 0x17eb2e0 "t001.d/x,v", size = 10}, status = 0x17d4188, eno = 2} __func__ = "pairnames" #6 0x000000000040318e in main (argc=1, argv=0x7fff5f3b4c20) at rlog.c:924 tip = 0x1 defbr = 0x2ab3f7fa0d40 "\226\021@" strictly_locking = false kws = 10931 repo_filename = 0x2ab3f7f8a7e3 "\205\300\017\217\205\001" locks = 0x7fff5f3b4b00 out = 0x2ab3f84f9780 a = <value optimized out> newargv = 0x7fff5f3b4c18 accessListString = 0x41130b "\naccess list:" accessFormat = 0x1 <Address 0x1 out of bounds> headFormat = 0x4114a8 "\nRCS file: %s\nWorking file: %s\nhead:%s%s\nbranch:%s%s\nlocks:%s" symbolFormat = 0x4112fd "\n\t%s: %s" descflag = true selectflag = true onlylockflag = false onlyRCSflag = false pre5 = false shownames = true revno = 1 program = {name = 0x41126f "rlog", help = 0x4116a0 "[options] file ...\nOptions:\n -L", ' ' <repeats 12 times>, "Ignore RCS files with no locks set.\n -R", ' ' <repeats 12 times>, "Print the RCS file name only.\n -h", ' ' <repeats 12 times>, "Print only the \"header\" information.\n -t", ' ' <repeats 12 times>, "Like "..., exiterr = 0x403cb0 <exiterr>} --8<---------------cut here---------------end--------------->8--- Well, I hope this helps. :-) Thanks, Ludo’.