[darcs-users] Bug in rebase

Simon Marlow marlowsd at gmail.com
Tue Jan 11 12:44:41 UTC 2011


While doing a rebase today, I hit this:

darcs-rebase: bug at src/Darcs/Patch/Rebase.hs:209 compiled Sep 16 2010 
13:27:58
rebase chain with Fixup at end
See http://wiki.darcs.net/BugTracker/Reporting for help on bug reporting.

Any ideas on how to extricate my tree, or is it now hosed?  I was 
halfway through a lengthy rebase :(

Here are the steps I did leading up to the failure:

~/darcs/ghc-localgc > darcs-rebase rebase unsuspend
Tue Jan 11 11:17:26 GMT 2011  Simon Marlow <marlowsd at gmail.com>
   * Partially-working snapshot of local GC work, before redesign
Shall I unsuspend this patch? (1/44)  [ynW...], or ? for more options: y
Tue Jan 11 11:17:57 GMT 2011  Simon Marlow <marlowsd at gmail.com>
   * snapshot of local GC work at a relatively stable point
Shall I unsuspend this patch? (2/44)  [ynW...], or ? for more options: d
We have conflicts in the following files:
./includes/rts/storage/ClosureTypes.h ./includes/rts/storage/TSO.h 
./rts/ClosureFlags.c ./rts/PrimOps.cmm ./rts/Schedule.c 
./rts/ThreadPaused.c ./rts/Threads.c ./rts/Updates.h ./rts/sm/Evac.c 
./rts/sm/MarkWeak.c ./rts/sm/Sanity.c ./rts/sm/Scav.c
Rebase in progress: 43 suspended patches
~/darcs/ghc-localgc > darcs-rebase amend-record
Tue Jan 11 11:44:23 GMT 2011  Invalid <invalid at invalid>
   * DO NOT TOUCH: Rebase patch
   This patch is an internal implementation detail of rebase, used to
   store suspended patches, and is only visible in the user interface as a
   temporary measure.

   Bad things will happen if you try to use normal darcs operations on it.
Shall I amend this patch? [yN...], or ? for more options: n
Tue Jan 11 11:44:29 GMT 2011  Simon Marlow <marlowsd at gmail.com>
   * Partially-working snapshot of local GC work, before redesign
Shall I amend this patch? [yN...], or ? for more options: y
hunk ./includes/rts/storage/ClosureTypes.h 52
-#define RET_BCO                 31
-#define RET_SMALL              32
-#define RET_BIG                        33
-#define RET_DYN                        34
-#define RET_FUN                 35
-#define UPDATE_FRAME           36
-#define CATCH_FRAME            37
-#define STOP_FRAME             38
-#define BLOCKING_QUEUE         39
-#define BLACKHOLE              40
-#define MVAR_CLEAN             41
-#define MVAR_DIRTY             42
-#define ARR_WORDS              43
-#define MUT_ARR_PTRS_CLEAN      44
-#define MUT_ARR_PTRS_DIRTY      45
-#define MUT_ARR_PTRS_FROZEN0    46
-#define MUT_ARR_PTRS_FROZEN     47
-#define MUT_VAR_CLEAN          48
-#define MUT_VAR_DIRTY          49
-#define WEAK                   50
-#define PRIM                   51
-#define MUT_PRIM                52
-#define TSO                    53
-#define TREC_CHUNK              54
-#define ATOMICALLY_FRAME        55
-#define CATCH_RETRY_FRAME       56
-#define CATCH_STM_FRAME         57
-#define WHITEHOLE               58
-#define N_CLOSURE_TYPES         59
+#define IND_LOCAL               31
+#define RET_BCO                 32
+#define RET_SMALL              33
+#define RET_BIG                        34
+#define RET_DYN                        35
+#define RET_FUN                 36
+#define UPDATE_FRAME           37
+#define CATCH_FRAME            38
+#define UNDERFLOW_FRAME         39
+#define STOP_FRAME              40
+#define BLOCKING_QUEUE         41
+#define BLACKHOLE              42
+#define MVAR_CLEAN             43
+#define MVAR_DIRTY             44
+#define ARR_WORDS              45
+#define MUT_ARR_PTRS_CLEAN      46
+#define MUT_ARR_PTRS_DIRTY      47
+#define MUT_ARR_PTRS_FROZEN0    48
+#define MUT_ARR_PTRS_FROZEN     49
+#define MUT_VAR_CLEAN          50
+#define MUT_VAR_DIRTY          51
+#define WEAK                   52
+#define PRIM                   53
+#define MUT_PRIM                54
+#define TSO                    55
+#define TREC_CHUNK              56
+#define ATOMICALLY_FRAME        57
+#define CATCH_RETRY_FRAME       58
+#define CATCH_STM_FRAME         59
+#define WHITEHOLE               60
+#define N_CLOSURE_TYPES         61
+
+/* Closure flags, for the info->flags field. */
+#define HAS_UNLIFTED_FIELDS     1
Shall I add this change? (1/29)  [ynW...], or ? for more options: a
Finished amending patch:
Tue Jan 11 12:29:56 GMT 2011  Simon Marlow <marlowsd at gmail.com>
   * Partially-working snapshot of local GC work, before redesign
Rebase in progress: 43 suspended patches
~/darcs/ghc-localgc > darcs-rebase rebase unsuspend
Tue Jan 11 11:17:57 GMT 2011  Simon Marlow <marlowsd at gmail.com>
   * snapshot of local GC work at a relatively stable point
Shall I unsuspend this patch? (1/43)  [ynW...], or ? for more options: q
Unsuspend cancelled.
~/darcs/ghc-localgc > darcs-rebase rebase unsuspend --skip-conflicts
Skipping some patches which would cause conflicts.
Tue Jan 11 11:17:56 GMT 2011  Simon Marlow <marlowsd at gmail.com>
   * don't keep mutable arrays on the mutable list all the time
Shall I unsuspend this patch? (1/6)  [ynW...], or ? for more options: a
Rebase in progress: 37 suspended patches
~/darcs/ghc-localgc > darcs-rebase rebase unsuspend
darcs-rebase: bug at src/Darcs/Patch/Rebase.hs:209 compiled Sep 16 2010 
13:27:58
rebase chain with Fixup at end
See http://wiki.darcs.net/BugTracker/Reporting for help on bug reporting.
[2]    27789 exit 1     darcs-rebase rebase unsuspend
~/darcs/ghc-localgc > darcs-rebase rebase unsuspend
darcs-rebase: bug at src/Darcs/Patch/Rebase.hs:209 compiled Sep 16 2010 
13:27:58
rebase chain with Fixup at end
See http://wiki.darcs.net/BugTracker/Reporting for help on bug reporting.


More information about the darcs-users mailing list