"edit script refers to line past end of file" false report?

Miro Kropáček <[email protected]> Sat, 11 Nov 2023 02:12:56 +0100
Newsgroups gmane.comp.version-control.rcs.bugs
Message-ID <CAN5rfbTpDU5e86KnmyRzMcERL1taSWy3f-y2rBqSHZ0HHaMd=g@mail.gmail.com>
--000000000000c671650609d62381
Content-Type: multipart/alternative; boundary="000000000000c671630609d6237f"

--000000000000c671630609d6237f
Content-Type: text/plain; charset="UTF-8"

Hi,

I'm going through some ancient source archives and I have noticed that some
files report the above mentioned message.

To be precise, I got there when another tool (cvs-fast-export) started to
report failures and found explanation from Eric:
https://gitlab.com/esr/cvs-fast-export/-/issues/1#note_25788748 about its
true cause.

First I was prepared to accept my fate (out of desperation I even dug out
an emulator with 16-bit RCS 5.6, only to confirm that the same error is
present there) but then I looked closely at the file (attached) -- there's
no way there is any integer overflow happening.

This concrete file for example:

co -p1.6 rdb.c works

co -p1.5 rdb.c works

co -p1.4 rdb.c reports:
co: ./rdb.rc,v:91: edit script refers to line past end of file

What is really weird because the line is just simple "@d1 3" which should
be something like "delete 3 lines starting at line 1", right? So where does
that error come from?

Any hint appreciated.

Regards,
Miro

--000000000000c671630609d6237f
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi,<div dir=3D"ltr" class=3D"gmail_signature" data-smartma=
il=3D"gmail_signature"><div dir=3D"ltr"></div></div><div><br></div><div>I&#=
39;m going through some ancient source archives and I have noticed that som=
e files report the above mentioned message.=C2=A0</div><div><br></div><div>=
To be precise, I got there when another tool (cvs-fast-export) started to r=
eport failures and found explanation from Eric:=C2=A0<a href=3D"https://git=
lab.com/esr/cvs-fast-export/-/issues/1#note_25788748">https://gitlab.com/es=
r/cvs-fast-export/-/issues/1#note_25788748</a> about its true cause.</div><=
div><br></div><div>First I was prepared to accept my fate (out of desperati=
on I even dug out an emulator with 16-bit RCS 5.6, only to confirm that the=
 same error is present there) but then I looked closely at the file (attach=
ed) -- there&#39;s no way there is any integer overflow=C2=A0happening.=C2=
=A0</div><div><br></div><div>This concrete file for example:</div><div><br>=
</div><div>co -p1.6 rdb.c works</div><div><br></div><div>co -p1.5 rdb.c wor=
ks<br></div><div><br></div><div>co -p1.4 rdb.c reports:<br></div><div>co: .=
/rdb.rc,v:91: edit script refers to line past end of file<br></div><div><br=
></div><div>What is really weird because the line is just simple &quot;@d1 =
3&quot; which should be something=C2=A0like &quot;delete 3 lines starting a=
t line 1&quot;, right? So where does that error come from?</div><div><br></=
div><div>Any hint appreciated.</div><div><br></div><div>Regards,</div><div>=
Miro</div></div>

--000000000000c671630609d6237f--

--000000000000c671650609d62381
Content-Type: text/plain; charset="US-ASCII"; name="rdb.rc,v"
Content-Disposition: attachment; filename="rdb.rc,v"
Content-Transfer-Encoding: base64
Content-ID: <f_lotcjygq0>
X-Attachment-Id: f_lotcjygq0

aGVhZAkxLjY7CmFjY2VzczsKc3ltYm9scwoJVE9TMDQwMDoxLjYKCVI5MTA2MjBiOjEuNAoJQkFN
TUkxOjEuMwoJVjA2MDM5MToxLjM7CmxvY2tzOwpjb21tZW50CUAjIEA7CgoKMS42CmRhdGUJOTIu
MDguMTEuMDAuMzcuMDI7CWF1dGhvciBrYmFkOwlzdGF0ZSBFeHA7CmJyYW5jaGVzOwpuZXh0CTEu
NTsKCjEuNQpkYXRlCTkyLjA3LjI3LjIwLjA5LjI0OwlhdXRob3Iga2JhZDsJc3RhdGUgRXhwOwpi
cmFuY2hlczsKbmV4dAkxLjQ7CgoxLjQKZGF0ZQk5MS4wNi4yMC4xNy4xMi4zNjsJYXV0aG9yIGFw
cmF0dDsJc3RhdGUgRXhwOwpicmFuY2hlczsKbmV4dAkxLjM7CgoxLjMKZGF0ZQk5MS4wNC4zMC4x
Mi4xMi4zODsJYXV0aG9yIGFwcmF0dDsJc3RhdGUgRXhwOwpicmFuY2hlczsKbmV4dAkxLjI7Cgox
LjIKZGF0ZQk5MS4wNC4wNS4xOC4zOC4yMjsJYXV0aG9yIGFwcmF0dDsJc3RhdGUgRXhwOwpicmFu
Y2hlczsKbmV4dAkxLjE7CgoxLjEKZGF0ZQk5MS4wMy4yOC4xNy40OS41ODsJYXV0aG9yIGFwcmF0
dDsJc3RhdGUgRXhwOwpicmFuY2hlczsKbmV4dAk7CgoKZGVzYwpAQAoKCjEuNgpsb2cKQFRPUyA0
LjAwIEZhbGNvbjAzMCBmaXJzdCBwcm9kdWN0aW9uIHZlcnNpb24KQAp0ZXh0CkAjc2V0IGVpZ2h0
Yml0IDAKI2JpbmQgImVjaG8gXGU4c1xyIiAxZCA7ICMgXl0gYnVyeSB3aW5kb3csIE1pbnQvTUdS
IHN0eWxlCmxvYWQgYzpca2JhZFxkYi5yYwpsb2FkIGZzLmRiCgphbGlhcyBhICJkd2BzcFtmXSIK
YWxpYXMgeHNraXAgImIgI2YgbHBlZWsoYHNwKTtnIgpnZXRzeW0gZG9zLnN5cyBgc3R1YmJwKzEx
YwojZ2V0c3ltIC4uXGJ1aWxkXHRvcy5zeW0KbG9hZCBiaW9zLmRiCmFsaWFzIGRvYmlvcyAnYiM4
IC5fdHJhcDEzIDsgYWxpYXMgYnI4ICJfZGIxMyBgc3ArNDtfMTNlbnRlciI7YiM5IC5fdHJhcDE0
LTI7IFwKCWFsaWFzIGJyOSAiaWYgYGJpb3NfcmV0IHByaW50IEJJT1MgcmV0dXJucyBgZDA7XzEz
bGVhdmUiJwphbGlhcyB1bmJpb3MgJ25iICM4O3VuYWxpYXMgYnI4O25iICM5O3VuYWxpYXMgYnI5
JwoKYWxpYXMgZGJsZXYgInNsLl9fZGJsZXYiCgplY2hvIHNheSAiZGJsZXYgWCIgdG8gc2V0IGRi
IGxldmVsIHRvIFguCmVjaG8gTGV2ZWxzOiAxPXRvcCBsZXZlbCwgMj1yd2Ficy9nZXRyZWMsIDQ9
eHJ3IGFuZCBjbHVzdGVycywgOD1oYW5kbGVzCmVjaG8gMTA9cG9vbCwgMjA9ZGlybmV4dCwgNDA9
cGV4ZWMsIDgwPW1lbW9yeSwgMTAwPXhnZXRkaXIsIDIwMD13cml0ZXMsCmVjaG8gNDAwPXJlYWRz
LCA4MDA9Z2V0Y2wKCmRibGV2IDgwMDAwMDAwCkAKCgoxLjUKbG9nCkBMYXR0aWNlIGNvbXBpbGVk
IFNwYXJyb3cgR0VNRE9TCkAKdGV4dApAZDEgMjIKQAoKCjEuNApsb2cKQHVwZGF0ZXMgZm9yIG5l
dyBEQgpACnRleHQKQGQxIDMKYTMgNAoKc2V0IGVpZ2h0Yml0IDAKYmluZCAiZWNobyBcZThzXHIi
IDFkIDsgIyBeXSBidXJ5IHdpbmRvdywgTWludC9NR1Igc3R5bGUKbG9hZCBjOlxhcHJhdHRccmRi
LnJjCmQ5IDEKQAoKCjEuMwpsb2cKQENvbnZlcnRlZCBEQkNNRHMgdG8gbmV3IGluZml4IERCIHN0
eWxlCkAKdGV4dApAYTE0IDMKIyB0aGlzIGFsaWFzIGlzIHVzZWQgaW4gREJDTURzIGluIHRoZSBz
b3VyY2UKYWxpYXMgX2MgZGVmZXIgZwoKZDIwIDEKYTIwIDEKZWNobyA0MDA9cmVhZHMKZDIyIDEK
YTIyIDEKZGJsZXYgMQpACgoKMS4yCmxvZwpATWlzYyBmaXhlcyBtYWtpbmcgaXQgd29yawpACnRl
eHQKQGQ4IDIKYTkgMgphbGlhcyB4c2tpcCAiYiAjZiAobHBlZWsgYHNwKTtnIgpnZXRzeW0gZG9z
LnN5cyAoKyBgc3R1YmJwIDExYykKZDExIDIKYTEyIDEKYWxpYXMgZG9iaW9zICdiIzggLl90cmFw
MTMgOyBhbGlhcyBicjggIl9kYjEzICgrIGBzcCA0KTtfMTNlbnRlciI7YiM5ICgtIC5fdHJhcDE0
IDIpOyBhbGlhcyBicjkgImlmIGBiaW9zX3JldCBwcmludCBCSU9TIHJldHVybnMgYGQwO18xM2xl
YXZlIicKQAoKCjEuMQpsb2cKQEluaXRpYWwgcmV2aXNpb24KQAp0ZXh0CkBhMCAxCmxvYWQgYzpc
YXByYXR0XHJkYi5yYwpkNCAxCmQ3IDEKYTggMQoKZDExIDIKYTEyIDIKYiM4IC5fdHJhcDEzIDsg
YWxpYXMgYnI4ICJfZGIxMyAoKyBgc3AgNCk7XzEzZW50ZXIiCmIjOSAoLSAuX3RyYXAxNCAyKTsg
YWxpYXMgYnI5ICJpZiBgYmlvc19yZXQgcHJpbnQgQklPUyByZXR1cm5zIGBkMDtfMTNsZWF2ZSIK
ZDE0IDEKZDIxIDMKYTIzIDEKZWNobyAxMD1wb29sLCAyMD1kaXJuZXh0LCA0MD1wZXhlYwpACg==
--000000000000c671650609d62381--