From 3b573c37354f6f17c7e5e99a2fbfc5057024857d Mon Sep 17 00:00:00 2001 From: Ilya_Shlyakhter Date: Mon, 10 Aug 2020 21:14:05 +0000 Subject: [PATCH 1/3] Added a comment: full source tarballs for specific releases? --- .../comment_2_ff968f9f9d6644b9e8607c8e76f45c1e._comment | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 doc/forum/building_the_standalone_distribution_from_source/comment_2_ff968f9f9d6644b9e8607c8e76f45c1e._comment diff --git a/doc/forum/building_the_standalone_distribution_from_source/comment_2_ff968f9f9d6644b9e8607c8e76f45c1e._comment b/doc/forum/building_the_standalone_distribution_from_source/comment_2_ff968f9f9d6644b9e8607c8e76f45c1e._comment new file mode 100644 index 0000000000..0e3b4c835c --- /dev/null +++ b/doc/forum/building_the_standalone_distribution_from_source/comment_2_ff968f9f9d6644b9e8607c8e76f45c1e._comment @@ -0,0 +1,8 @@ +[[!comment format=mdwn + username="Ilya_Shlyakhter" + avatar="http://cdn.libravatar.org/avatar/1647044369aa7747829c38b9dcc84df0" + subject="full source tarballs for specific releases?" + date="2020-08-10T21:14:04Z" + content=""" +Thanks a lot! Do I understand correctly that this can't be done from the [tarballs on Hackage](https://hackage.haskell.org/package/git-annex), and requires [[checking out the full source tree|install/fromsource]]? (And that there is URL from which the full source repo tarball for a given released version can be downloaded?) +"""]] From a186c4a4c418b97f81fc33ec720c3e285ee135da Mon Sep 17 00:00:00 2001 From: kyle Date: Mon, 10 Aug 2020 21:34:46 +0000 Subject: [PATCH 2/3] Added a comment --- ..._b2d1550e20e8c4cc07dbd0ebba64c603._comment | 78 +++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 doc/bugs/Recent_hang_with_rsync_remote_with_older_systems___40__Xenial__44___Jessie__41__/comment_16_b2d1550e20e8c4cc07dbd0ebba64c603._comment diff --git a/doc/bugs/Recent_hang_with_rsync_remote_with_older_systems___40__Xenial__44___Jessie__41__/comment_16_b2d1550e20e8c4cc07dbd0ebba64c603._comment b/doc/bugs/Recent_hang_with_rsync_remote_with_older_systems___40__Xenial__44___Jessie__41__/comment_16_b2d1550e20e8c4cc07dbd0ebba64c603._comment new file mode 100644 index 0000000000..30813e6b3b --- /dev/null +++ b/doc/bugs/Recent_hang_with_rsync_remote_with_older_systems___40__Xenial__44___Jessie__41__/comment_16_b2d1550e20e8c4cc07dbd0ebba64c603._comment @@ -0,0 +1,78 @@ +[[!comment format=mdwn + username="kyle" + avatar="http://cdn.libravatar.org/avatar/7d6e85cde1422ad60607c87fa87c63f3" + subject="comment 16" + date="2020-08-10T21:34:43Z" + content=""" +I applied the change from c59a51a0651b and 4466c1001d88. Now I don't +see \"git-annex: AsyncCancelled\", f0 is transferred, and the exit +status is 0, so it looks to be working as intended. Thank you. + +As described in comment 8, this is all in the Xenial VM on top of +1df9e72a7829, because the hang goes away with the next commit +(4c9ad1de46dd). For posterity, here is a diff of the changes on top +1df9e72a7829, applied from aa492bc65904, c59a51a0651b, and +4466c1001d88. + +
+diff + +[[!format diff \"\"\" +diff --git a/Utility/Metered.hs b/Utility/Metered.hs +index 1c35a9a05..c4063c90b 100644 +--- a/Utility/Metered.hs ++++ b/Utility/Metered.hs +@@ -1,6 +1,6 @@ + {- Metered IO and actions + - +- - Copyright 2012-2018 Joey Hess ++ - Copyright 2012-2020 Joey Hess + - + - License: BSD-2-clause + -} +@@ -46,6 +46,7 @@ import Common + import Utility.Percentage + import Utility.DataUnits + import Utility.HumanTime ++import Utility.ThreadScheduler + + import qualified Data.ByteString.Lazy as L + import qualified Data.ByteString as S +@@ -314,10 +315,26 @@ outputFilter cmd params environ outfilter errfilter = + catchMaybeIO $ withCreateProcess p go + where + go _ (Just outh) (Just errh) pid = do +- void $ concurrently +- (tryIO (outfilter outh) >> hClose outh) +- (tryIO (errfilter errh) >> hClose errh) +- waitForProcess pid ++ outt <- async $ tryIO (outfilter outh) >> hClose outh ++ errt <- async $ tryIO (errfilter errh) >> hClose errh ++ ret <- waitForProcess pid ++ ++ -- Normally, now that the process has exited, the threads ++ -- will finish processing its output and terminate. ++ -- But, just in case the process did something evil like ++ -- forking to the background while inheriting stderr, ++ -- it's possible that the threads will not finish, which ++ -- would result in a deadlock. So, wait a few seconds ++ -- maximum for them to finish and then cancel them. ++ -- (One program that has behaved this way in the past is ++ -- openssh.) ++ void $ tryNonAsync $ race_ ++ (wait outt >> wait errt) ++ (threadDelaySeconds (Seconds 2)) ++ cancel outt ++ cancel errt ++ ++ return ret + go _ _ _ _ = error \"internal\" + + p = (proc cmd (toCommand params)) +\"\"\"]] + +
+ + + +"""]] From 693f2093a00b6292e5f8fd7f202d2c0977db584a Mon Sep 17 00:00:00 2001 From: Ilya_Shlyakhter Date: Mon, 10 Aug 2020 21:52:32 +0000 Subject: [PATCH 3/3] Added a comment --- .../comment_3_e94f70e19b77c9ad6b6349fa65dcc60f._comment | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 doc/forum/building_the_standalone_distribution_from_source/comment_3_e94f70e19b77c9ad6b6349fa65dcc60f._comment diff --git a/doc/forum/building_the_standalone_distribution_from_source/comment_3_e94f70e19b77c9ad6b6349fa65dcc60f._comment b/doc/forum/building_the_standalone_distribution_from_source/comment_3_e94f70e19b77c9ad6b6349fa65dcc60f._comment new file mode 100644 index 0000000000..c35e2e911d --- /dev/null +++ b/doc/forum/building_the_standalone_distribution_from_source/comment_3_e94f70e19b77c9ad6b6349fa65dcc60f._comment @@ -0,0 +1,8 @@ +[[!comment format=mdwn + username="Ilya_Shlyakhter" + avatar="http://cdn.libravatar.org/avatar/1647044369aa7747829c38b9dcc84df0" + subject="comment 3" + date="2020-08-10T21:52:29Z" + content=""" +(I meant, there is _no_ URL from which the full source repo tarball for a given released version can be downloaded?) +"""]]