bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#58144: 29.0.50; [noverlay] Abort when committing in Magit


From: Gerd Möllmann
Subject: bug#58144: 29.0.50; [noverlay] Abort when committing in Magit
Date: Wed, 28 Sep 2022 16:29:39 +0200

An attempt to commit changes in Magit led to an abort in
interval_tree_iter_start 

frame #9: 0x00000001002e2900 
emacs`interval_tree_iter_start(tree=0x0000600003034870, begin=5464, 
end=2730898, order=ITREE_ASCENDING, file="buffer.c", line=2937) at itree.c:441:5
   438                            const char* file, int line)
   439  {
   440    if (tree->iter_running)
-> 441      emacs_abort ();
   442    interval_generator_reset (tree->iter, begin, end, order);
   443    tree->iter_running = 1;
   444    tree->file = file;

Because this wasn't debuggable, I've changed the code to record where an
iteration starts, which is, in this case, 


static bool
strings_with_newlines (ptrdiff_t startpos, ptrdiff_t endpos, struct window *w)
{
  struct interval_node *node;
  /* Process overlays before the overlay center.  */
  buffer_overlay_iter_start (current_buffer,
                             startpos, endpos, ITREE_DESCENDING);


I'll fix that, and also put the location recording in, to make debugging
such cases easier.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]