Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: Complicated segfault regression



On Fri, 3 Jul 2015 14:29:28 +0200
Martijn Dekker <martijn@xxxxxxxx> wrote:
> Peter Stephenson schreef op 03-07-15 om 13:35:
> > So the best guess so far is it's do with memory management of the long
> > case with the continuation line.
> 
> FYI, the original crashing code didn't have the continuation line. I
> added that to prevent spurious wrapping by email programs. It seemed to
> make no difference at all to the symptoms.

Yes, it's not the wrap, it's the length that's contributing (but not
decisive on its own).  However, I can't see any sign of problems in
the parsing code, and running the function doesn't fail in the same
castastrophic way.  In fact, nobbling gettext2() entirely, the following

# --- begin crashing code block ---
fn() {
  ac_file="the else branch"
  case $ac_file in
    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
    *.* ) break;;
    *)
    ;;
  esac
  print Stuff here
}
# --- end crashing code block ---

runs to conclusion, printing the message, while the "which" output is
still gibberish.  So there's something at least different about the text
handling compared with execution that needs tracking down.

Unfortunately I wasn't able to get a "case" block both which looks
funny and which has commands after the point where the output is bad, so
this isn't conclusive.

pws



Messages sorted by: Reverse Date, Date, Thread, Author