Re: cvs broken pipe
On 9/5/18 2:59 AM, math...@lubrano.at wrote: But I would rather look for something wrong in your PC: - Do you have the same result with CVSROOT="anon...@anoncvs3.de.netbsd.org:/cvsroot » ? - Add "-t" to your cvs update command to see more about cvs exchanges For what it's worth: I have run again with the `-t' option and it failed again: S -> modify_watchers ( gdbserver.1 ) S -> time_stamp_server (gdbserver.1, (null), (null), (null)) S -> server_register(gdbserver.1, 1.1.1.6, , , , , ) S -> Register(gdbserver.1, 1.1.1.6, , , ) -> rename(.new.gdbserver,gdbserver.1) -> Register(gdbserver.1, 1.1.1.6, Sun May 26 20:59:42 2019, , ) -> rename(CVS/Entries.Backup,CVS/Entries) -> unlink_file(CVS/Entries.Log) U src/external/gpl3/gdb/dist/gdb/doc/gdbserver.1 S -> time_stamp_server (gpl.texi, (null), (null), (null)) S -> RCS_checkout (/cvsroot/src/external/gpl3/gdb/dist/gdb/doc/gpl.texi,v, 1.1.1.1, , , (function)) S -> modify_watchers ( gpl.texi ) S -> time_stamp_server (gpl.texi, (null), (null), (null)) S -> server_register(gpl.texi, 1.1.1.1, , , , , ) S -> Register(gpl.texi, 1.1.1.1, , , ) packet_write_wait: Connection to 199.233.217.198 port 22: Broken pipe -> rename(.new.gpl.texi,gpl.texi) -> Register(gpl.texi, 1.1.1.1, Sat Sep 24 20:14:06 2011, , ) -> rename(CVS/Entries.Backup,CVS/Entries) -> unlink_file(CVS/Entries.Log) U src/external/gpl3/gdb/dist/gdb/doc/gpl.texi S -> time_stamp_server (guile.texi, (null), (null), (null)) S -> RCS_checkout (/cvsroot/src/external/gpl3/gdb/dist/gdb/doc/guile.texi,v, 1.1.1.5, , , (function)) S -> modify_watchers ( guile.texi ) S -> time_stamp_server (guile.texi, (null), (null), (null)) S -> server_register(guile.texi, 1.1.1.5, , , , , ) S -> Register(guile.texi, 1.1.1.5, , , ) cvs [checkout aborted]: end of file from server (consult above messages if any) I have unlocked myself by tapping in anoncvs.fr.netbsd.org rather than the master site. I will reinstall on a clean, other disk (well SSD actually) and retry syncing right away once this is done. Thanks! Kind regards; -- Germain Le Chapelain http://lanvaux.fr
Re: cvs broken pipe
On 9/5/18 2:59 AM, math...@lubrano.at wrote: Le 5 sept. 2018 à 06:07, Germain Le Chapelain a écrit : On 09/04/18 15:06, Germain Le Chapelain wrote: I will try another one as well as the tcp-dump. Well this is what I got: 20:35:14.631696 IP 192.168.0.129.58621 > anoncvs.netbsd.org.ssh: Flags [.], ack 89814420, win 14375, options [nop,nop,TS val 290 ecr 289], length 0 20:35:14.632415 IP anoncvs.netbsd.org.ssh > 192.168.0.129.58621: Flags [.], seq 89814420:89815868, ack 645939, win 4197, options [nop,nop,TS val 289 ecr 290], length 1448 20:35:14.632419 IP anoncvs.netbsd.org.ssh > 192.168.0.129.58621: Flags [.], seq 89815868:89817316, ack 645939, win 4197, options [nop,nop,TS val 289 ecr 290], length 1448 20:35:14.632423 IP anoncvs.netbsd.org.ssh > 192.168.0.129.58621: Flags [.], seq 89817316:89818764, ack 645939, win 4197, options [nop,nop,TS val 289 ecr 290], length 1448 20:35:14.632426 IP anoncvs.netbsd.org.ssh > 192.168.0.129.58621: Flags [.], seq 89818764:89820212, ack 645939, win 4197, options [nop,nop,TS val 289 ecr 290], length 1448 20:35:14.632429 IP anoncvs.netbsd.org.ssh > 192.168.0.129.58621: Flags [.], seq 89820212:89821660, ack 645939, win 4197, options [nop,nop,TS val 289 ecr 290], length 1448 20:35:14.632433 IP anoncvs.netbsd.org.ssh > 192.168.0.129.58621: Flags [.], seq 89821660:89823108, ack 645939, win 4197, options [nop,nop,TS val 289 ecr 290], length 1448 20:35:14.632454 IP 192.168.0.129.58621 > anoncvs.netbsd.org.ssh: Flags [.], ack 89817316, win 14075, options [nop,nop,TS val 290 ecr 289], length 0 20:35:14.632466 IP 192.168.0.129.58621 > anoncvs.netbsd.org.ssh: Flags [.], ack 89820212, win 13713, options [nop,nop,TS val 290 ecr 289], length 0 20:35:14.632477 IP 192.168.0.129.58621 > anoncvs.netbsd.org.ssh: Flags [.], ack 89823108, win 13351, options [nop,nop,TS val 290 ecr 289], length 0 20:35:14.632496 IP 192.168.0.129.58621 > anoncvs.netbsd.org.ssh: Flags [.], ack 89823108, win 14375, options [nop,nop,TS val 290 ecr 289], length 0 20:35:14.633184 IP anoncvs.netbsd.org.ssh > 192.168.0.129.58621: Flags [.], seq 89823108:89824556, ack 645939, win 4197, options [nop,nop,TS val 289 ecr 290], length 1448 20:35:14.633188 IP anoncvs.netbsd.org.ssh > 192.168.0.129.58621: Flags [.], seq 89824556:89826004, ack 645939, win 4197, options [nop,nop,TS val 289 ecr 290], length 1448 20:35:14.633191 IP anoncvs.netbsd.org.ssh > 192.168.0.129.58621: Flags [.], seq 89826004:89827452, ack 645939, win 4197, options [nop,nop,TS val 289 ecr 290], length 1448 *20:35:14.633195 IP anoncvs.netbsd.org.ssh > 192.168.0.129.58621: Flags [FP.], seq 89830348:89830816, ack 645939, win 4197, options [nop,nop,TS val 289 ecr 290], length 468** I have no idea what to make of that . Your PC close the connexion (FIN flag at 20:35:14.633195). Hi! Thank you! I'm still looking at that: To me it looks more like anoncvs.netbsd.org sent me the fin flag, no? c.f anoncvs.netbsd.org.ssh > 192.168.0.129.58621: Flags [FP.] Kind regards; -- Germain Lanvaux Computer Games Limited http://lanvaux.fr
Re: cvs broken pipe
On 09/05/18 03:24, Benny Siegert wrote: On Wed, Sep 5, 2018 at 12:09 PM wrote: Your PC close the connexion (FIN flag at 20:35:14.633195). Generaly, multiple lines with same ack and sequence may indicate packet loss. It may also indicate a busy line or busy hosts on one end. Could it be that you need to lower MTU on the connection? Thank you all for your replies, So, this is what I observed : My MTU is set everywhere to 1500, so I assume it is correct. Furthermore, with CVSROOT="anon...@anoncvs3.de.netbsd.org:/cvsroot it was working great (Obviously?) But it also asked me `do you want to accept this key? or something of the like And I remember I had removed the .ssh folder for my user, expecting the key to be reset for anoncvs.netbsd.org However: I had got only a warning `the key is unknown' or something like that (sorry for the vagueness: I actually tried when you people kindly replied but then never gave feedback.) So I guess there is another spot, perhaps per computer and not per user somewhere, that cached some wrong reference to anoncvs.netbsd.org. Odd that it'd kind of work but then die quite a bit in the CVS update though.. Thank you for your help so far! -- Germain
Re: cvs broken pipe
On 09/05/18 03:24, Benny Siegert wrote: On Wed, Sep 5, 2018 at 12:09 PM wrote: Your PC close the connexion (FIN flag at 20:35:14.633195). Generaly, multiple lines with same ack and sequence may indicate packet loss. It may also indicate a busy line or busy hosts on one end. Could it be that you need to lower MTU on the connection? (Sorry the mail never went to the list) Thank you all for your replies, So, this is what I observed : My MTU is set everywhere to 1500, so I assume it is correct. Furthermore, with CVSROOT="anon...@anoncvs3.de.netbsd.org:/cvsroot it was working great (Obviously?) But it also asked me `do you want to accept this key? or something of the like And I remember I had removed the .ssh folder for my user, expecting the key to be reset for anoncvs.netbsd.org However: I had got only a warning `the key is unknown' or something like that (sorry for the vagueness: I actually tried when you people kindly replied but then never gave feedback.) So I guess there is another spot, perhaps per computer and not per user somewhere, that cached some wrong reference to anoncvs.netbsd.org. Odd that it'd kind of work but then die quite a bit in the CVS update though.. Thank you for your help so far! -- Germain
Re: cvs broken pipe
On Wed, Sep 5, 2018 at 12:09 PM wrote: > Your PC close the connexion (FIN flag at 20:35:14.633195). > > Generaly, multiple lines with same ack and sequence may indicate packet loss. > It may also indicate a busy line or busy hosts on one end. Could it be that you need to lower MTU on the connection? -- Benny
Re: cvs broken pipe
> Le 5 sept. 2018 à 06:07, Germain Le Chapelain > a écrit : > > On 09/04/18 15:06, Germain Le Chapelain wrote: >> I will try another one as well as the tcp-dump. > > Well this is what I got: > > 20:35:14.631696 IP 192.168.0.129.58621 > anoncvs.netbsd.org.ssh: Flags [.], > ack 89814420, win > 14375, options [nop,nop,TS val 290 ecr 289], length 0 > 20:35:14.632415 IP anoncvs.netbsd.org.ssh > 192.168.0.129.58621: Flags [.], > seq 89814420:89815868, > ack 645939, win 4197, options [nop,nop,TS val 289 ecr 290], length 1448 > 20:35:14.632419 IP anoncvs.netbsd.org.ssh > 192.168.0.129.58621: Flags [.], > seq 89815868:89817316, > ack 645939, win 4197, options [nop,nop,TS val 289 ecr 290], length 1448 > 20:35:14.632423 IP anoncvs.netbsd.org.ssh > 192.168.0.129.58621: Flags [.], > seq 89817316:89818764, > ack 645939, win 4197, options [nop,nop,TS val 289 ecr 290], length 1448 > 20:35:14.632426 IP anoncvs.netbsd.org.ssh > 192.168.0.129.58621: Flags [.], > seq 89818764:89820212, > ack 645939, win 4197, options [nop,nop,TS val 289 ecr 290], length 1448 > 20:35:14.632429 IP anoncvs.netbsd.org.ssh > 192.168.0.129.58621: Flags [.], > seq 89820212:89821660, > ack 645939, win 4197, options [nop,nop,TS val 289 ecr 290], length 1448 > 20:35:14.632433 IP anoncvs.netbsd.org.ssh > 192.168.0.129.58621: Flags [.], > seq 89821660:89823108, > ack 645939, win 4197, options [nop,nop,TS val 289 ecr 290], length 1448 > 20:35:14.632454 IP 192.168.0.129.58621 > anoncvs.netbsd.org.ssh: Flags [.], > ack 89817316, win > 14075, options [nop,nop,TS val 290 ecr 289], length 0 > 20:35:14.632466 IP 192.168.0.129.58621 > anoncvs.netbsd.org.ssh: Flags [.], > ack 89820212, win > 13713, options [nop,nop,TS val 290 ecr 289], length 0 > 20:35:14.632477 IP 192.168.0.129.58621 > anoncvs.netbsd.org.ssh: Flags [.], > ack 89823108, win > 13351, options [nop,nop,TS val 290 ecr 289], length 0 > 20:35:14.632496 IP 192.168.0.129.58621 > anoncvs.netbsd.org.ssh: Flags [.], > ack 89823108, win > 14375, options [nop,nop,TS val 290 ecr 289], length 0 > 20:35:14.633184 IP anoncvs.netbsd.org.ssh > 192.168.0.129.58621: Flags [.], > seq 89823108:89824556, > ack 645939, win 4197, options [nop,nop,TS val 289 ecr 290], length 1448 > 20:35:14.633188 IP anoncvs.netbsd.org.ssh > 192.168.0.129.58621: Flags [.], > seq 89824556:89826004, > ack 645939, win 4197, options [nop,nop,TS val 289 ecr 290], length 1448 > 20:35:14.633191 IP anoncvs.netbsd.org.ssh > 192.168.0.129.58621: Flags [.], > seq 89826004:89827452, > ack 645939, win 4197, options [nop,nop,TS val 289 ecr 290], length 1448 > *20:35:14.633195 IP anoncvs.netbsd.org.ssh > 192.168.0.129.58621: Flags > [FP.], seq > 89830348:89830816, ack 645939, win 4197, options [nop,nop,TS val 289 ecr > 290], length 468** > *20:35:14.633215 IP 192.168.0.129.58621 > anoncvs.netbsd.org.ssh: Flags [.], > ack 89826004, win > 14075, options [nop,nop,TS val 290 ecr 289], length 0 (...) > 20:42:41.865753 IP 192.168.0.129.58621 > anoncvs.netbsd.org.ssh: Flags [.], > seq 646451:646463, ack > 89827452, win 14437, options [nop,nop,TS val 1184 ecr 289,nop,nop,sack 1 > {89830348:89830817}], > length 12 > 20:43:45.903023 IP 192.168.0.129.58621 > anoncvs.netbsd.org.ssh: Flags [R.], > seq 651663, ack > 89827452, win 14437, options [nop,nop,sack 1 {89830348:89830817}], length 0 > > I have no idea what to make of that . Your PC close the connexion (FIN flag at 20:35:14.633195). Generaly, multiple lines with same ack and sequence may indicate packet loss. It may also indicate a busy line or busy hosts on one end. But I would rather look for something wrong in your PC: - Do you have the same result with CVSROOT="anon...@anoncvs3.de.netbsd.org:/cvsroot » ? - Add "-t" to your cvs update command to see more about cvs exchanges > Now I am doing a tcpdump -w > :| > > Kind regards; > > -- > Germain Le Chapelain > Director / Software Engineer > Lanvaux Computer Games Limited > http://lanvaux.fr
Re: cvs broken pipe
On 09/04/18 15:06, Germain Le Chapelain wrote: I will try another one as well as the tcp-dump. Well this is what I got: 20:35:14.631696 IP 192.168.0.129.58621 > anoncvs.netbsd.org.ssh: Flags [.], ack 89814420, win 14375, options [nop,nop,TS val 290 ecr 289], length 0 20:35:14.632415 IP anoncvs.netbsd.org.ssh > 192.168.0.129.58621: Flags [.], seq 89814420:89815868, ack 645939, win 4197, options [nop,nop,TS val 289 ecr 290], length 1448 20:35:14.632419 IP anoncvs.netbsd.org.ssh > 192.168.0.129.58621: Flags [.], seq 89815868:89817316, ack 645939, win 4197, options [nop,nop,TS val 289 ecr 290], length 1448 20:35:14.632423 IP anoncvs.netbsd.org.ssh > 192.168.0.129.58621: Flags [.], seq 89817316:89818764, ack 645939, win 4197, options [nop,nop,TS val 289 ecr 290], length 1448 20:35:14.632426 IP anoncvs.netbsd.org.ssh > 192.168.0.129.58621: Flags [.], seq 89818764:89820212, ack 645939, win 4197, options [nop,nop,TS val 289 ecr 290], length 1448 20:35:14.632429 IP anoncvs.netbsd.org.ssh > 192.168.0.129.58621: Flags [.], seq 89820212:89821660, ack 645939, win 4197, options [nop,nop,TS val 289 ecr 290], length 1448 20:35:14.632433 IP anoncvs.netbsd.org.ssh > 192.168.0.129.58621: Flags [.], seq 89821660:89823108, ack 645939, win 4197, options [nop,nop,TS val 289 ecr 290], length 1448 20:35:14.632454 IP 192.168.0.129.58621 > anoncvs.netbsd.org.ssh: Flags [.], ack 89817316, win 14075, options [nop,nop,TS val 290 ecr 289], length 0 20:35:14.632466 IP 192.168.0.129.58621 > anoncvs.netbsd.org.ssh: Flags [.], ack 89820212, win 13713, options [nop,nop,TS val 290 ecr 289], length 0 20:35:14.632477 IP 192.168.0.129.58621 > anoncvs.netbsd.org.ssh: Flags [.], ack 89823108, win 13351, options [nop,nop,TS val 290 ecr 289], length 0 20:35:14.632496 IP 192.168.0.129.58621 > anoncvs.netbsd.org.ssh: Flags [.], ack 89823108, win 14375, options [nop,nop,TS val 290 ecr 289], length 0 20:35:14.633184 IP anoncvs.netbsd.org.ssh > 192.168.0.129.58621: Flags [.], seq 89823108:89824556, ack 645939, win 4197, options [nop,nop,TS val 289 ecr 290], length 1448 20:35:14.633188 IP anoncvs.netbsd.org.ssh > 192.168.0.129.58621: Flags [.], seq 89824556:89826004, ack 645939, win 4197, options [nop,nop,TS val 289 ecr 290], length 1448 20:35:14.633191 IP anoncvs.netbsd.org.ssh > 192.168.0.129.58621: Flags [.], seq 89826004:89827452, ack 645939, win 4197, options [nop,nop,TS val 289 ecr 290], length 1448 *20:35:14.633195 IP anoncvs.netbsd.org.ssh > 192.168.0.129.58621: Flags [FP.], seq 89830348:89830816, ack 645939, win 4197, options [nop,nop,TS val 289 ecr 290], length 468** *20:35:14.633215 IP 192.168.0.129.58621 > anoncvs.netbsd.org.ssh: Flags [.], ack 89826004, win 14075, options [nop,nop,TS val 290 ecr 289], length 0 20:35:14.633229 IP 192.168.0.129.58621 > anoncvs.netbsd.org.ssh: Flags [.], ack 89827452, win 13894, options [nop,nop,TS val 290 ecr 289,nop,nop,sack 1 {89830348:89830817}], length 0 20:35:14.633249 IP 192.168.0.129.58621 > anoncvs.netbsd.org.ssh: Flags [.], ack 89827452, win 14437, options [nop,nop,TS val 290 ecr 289,nop,nop,sack 1 {89830348:89830817}], length 0 20:35:14.651487 IP 192.168.0.129.58621 > anoncvs.netbsd.org.ssh: Flags [P.], seq 646623:646695, ack 89827452, win 14437, options [nop,nop,TS val 290 ecr 289,nop,nop,sack 1 {89830348:89830817}], length 72 20:35:14.651509 IP 192.168.0.129.58621 > anoncvs.netbsd.org.ssh: Flags [P.], seq 646695:646731, ack 89827452, win 14437, options [nop,nop,TS val 290 ecr 289,nop,nop,sack 1 {89830348:89830817}], length 36 20:35:14.651541 IP 192.168.0.129.58621 > anoncvs.netbsd.org.ssh: Flags [P.], seq 646731:646803, ack 89827452, win 14437, options [nop,nop,TS val 290 ecr 289,nop,nop,sack 1 {89830348:89830817}], length 72 ... 20:35:15.551910 IP 192.168.0.129.58621 > anoncvs.netbsd.org.ssh: Flags [P.], seq 651375:651447, ack 89827452, win 14437, options [nop,nop,TS val 292 ecr 289,nop,nop,sack 1 {89830348:89830817}], length 72 20:35:15.564516 IP 192.168.0.129.58621 > anoncvs.netbsd.org.ssh: Flags [P.], seq 651447:651483, ack 89827452, win 14437, options [nop,nop,TS val 292 ecr 289,nop,nop,sack 1 {89830348:89830817}], length 36 20:35:15.577795 IP 192.168.0.129.58621 > anoncvs.netbsd.org.ssh: Flags [P.], seq 651483:651555, ack 89827452, win 14437, options [nop,nop,TS val 292 ecr 289,nop,nop,sack 1 {89830348:89830817}], length 72 20:35:15.592192 IP 192.168.0.129.58621 > anoncvs.netbsd.org.ssh: Flags [P.], seq 651555:651591, ack 89827452, win 14437, options [nop,nop,TS val 292 ecr 289,nop,nop,sack 1 {89830348:89830817}], length 36 20:35:15.605142 IP 192.168.0.129.58621 > anoncvs.netbsd.org.ssh: Flags [P.], seq 651591:651663, ack 89827452, win 14437, options [nop,nop,TS val 292 ecr 289,nop,nop,sack 1 {89830348:89830817}], length 72 20:35:15.605869 IP 192.168.0.129.58621 > anoncvs.netbsd.org.ssh: Flags [.], seq 645939:647375, ack 89827452, win 14437, options [nop,nop,TS val 292 ecr 289,nop,nop,sack 1 {89830348:89830817}], length 1436 20:35:15.605879
Re: cvs broken pipe
On 09/03/18 22:31, ML wrote: Thank you! It looks like a network issue... Yes, It's gotta be. Or more likely with my configuration :( I've tried from Cygwin on windows with the following results: $ cvs -danon...@anoncvs.netbsd.org:/cvsroot co -P src connect to address 199.233.217.198: Connection timed out Trying 2001:470:a085:999:28c:faff:fe03:597c... anoncvs.netbsd.org: Network is unreachable cvs [checkout aborted]: end of file from server (consult above messages if any) then, germain@germain-PC ~ $ CVS_RSH=ssh cvs -danon...@anoncvs.netbsd.org:/cvsroot co -P src worked perfect! So naturally I tried `CVS_RSH=ssh cvs -danon...@anoncvs.netbsd.org:/cvsroot co -P src' on the BSD box. I got the same result as without `CVS_RSH=ssh' I remember never using that anyways and it has always worked nevertheless. Wich CVS server are you using? Same problem with another CVS I guess... `anon...@anoncvs.netbsd.org:/cvsroot' I will try another one as well as the tcp-dump. I am at loss as of what would make this very specific thing not work while everything else does :| Maybe some firewall decided to reset your tcp connexion, a tcpdump on source server will tell you that. Thank you! Kind regards; -- Germain Le Chapelain Director / Software Engineer Lanvaux Computer Games Limited http://lanvaux.fr
Re: cvs broken pipe
Hi It looks like a network issue... Wich CVS server are you using? Same problem with another CVS I guess... Maybe some firewall decided to reset your tcp connexion, a tcpdump on source server will tell you that. Kind regards Mat Le 3 sept. 2018 à 21:23, Germain Le Chapelain a écrit : >> Any ideas what to do when you hit this? >> >> # for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19; do cvs update >> -A; done >> cvs [update aborted]: error writing to server: Broken pipe >> cvs [update aborted]: error writing to server: Broken pipe > > This is a long shot but I am having a similar problem for a long while now: > > U src/external/bsd/llvm/dist/clang/include/clang/AST/Availability.h > U src/external/bsd/llvm/dist/clang/include/clang/AST/BaseSubobject.h > packet_write_wait: Connection to 199.233.217.198 port 22: Broken pipe > cvs [checkout aborted]: end of file from server (consult above messages if > any) > -bash-4.4$ > > Is there anyone for whom it works? > Where should I take it from there? > > for info: > -bash-4.4$ uname -a > NetBSD germ 8.0_RC1 NetBSD 8.0_RC1 (GENERIC) #0: Sat May 12 10:44:25 UTC 2018 > mkre...@mkrepro.netbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC amd64 > > > Kind regards; > > -- > Germain Le Chapelain > Director / Software Engineer > Lanvaux Computer Games Limited > http://lanvaux.fr >
Re: cvs broken pipe
Any ideas what to do when you hit this? # for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19; do cvs update -A; done cvs [update aborted]: error writing to server: Broken pipe cvs [update aborted]: error writing to server: Broken pipe This is a long shot but I am having a similar problem for a long while now: U src/external/bsd/llvm/dist/clang/include/clang/AST/Availability.h U src/external/bsd/llvm/dist/clang/include/clang/AST/BaseSubobject.h packet_write_wait: Connection to 199.233.217.198 port 22: Broken pipe cvs [checkout aborted]: end of file from server (consult above messages if any) -bash-4.4$ Is there anyone for whom it works? Where should I take it from there? for info: -bash-4.4$ uname -a NetBSD germ 8.0_RC1 NetBSD 8.0_RC1 (GENERIC) #0: Sat May 12 10:44:25 UTC 2018 mkre...@mkrepro.netbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC amd64 Kind regards; -- Germain Le Chapelain Director / Software Engineer Lanvaux Computer Games Limited http://lanvaux.fr