** Description changed:

  Binary package hint: zsh
  
  I can reproduce crashing zsh when completing for "gsmc":
      gsmc <tab>
  
  Similar for "which gsmc".
  
  This is the function, initially there was nothing commented out, but
  I've tried narrowing it down, and came up with the commented lines to
  trigger it:
  
  gsmc() {
    # [ x$1 = x ] && { echo "Commit update to which submodule?"; return 1;}
    # [ -d "$1" ] || { echo "Submodule $1 not found."; return 2;}
    # summary=$(git submodule summary "$1" 2>&1)
    # if [[ $summary == "" ]] ; then
    #   echo "Submodule $1 not changed."; return 3
    # fi
    if [[ $summary =~ "^fatal:" ]] ; then
      echo $summary ; return 4
    fi
    # summary=( ${(f)summary} )
    git commit -m "Update submodule $1 ${${(ps: 
:)summary[1]}[3]}."$'\n\n'"${(F)summary}" "$1"
  }
  
- I can provide more information, in case the backtrace and this info
- alone is not useful enough.
+ Using `which` on it makes it hang before returning to the prompt:
+ % which gsmc
+ gsmc () {
+         if [[ "$summary" =~ "^fatal:" ]]
+         then
+                 echo $summary
+         elif return 4
+         then
+                 git commit -m "Update submodule $1 ${${(ps: 
:)summary[1]}[3]}."$'\n\n'"${(F)summary}" "$1"
+         fi
  
+ }
+ *hangs here*
+ 
+ 
+ Attaching strace to it reveals nothing..
+ 
+ % sudo strace -f -p 13887
+ Process 13887 attached - interrupt to quit
+ 
+ 
+ I can provide more information, in case the backtrace and this info alone is 
not useful enough.
  
  ProblemType: Crash
  DistroRelease: Ubuntu 11.04
  Package: zsh 4.3.11-3ubuntu1
  ProcVersionSignature: Ubuntu 2.6.38-8.42-generic 2.6.38.2
  Uname: Linux 2.6.38-8-generic i686
  NonfreeKernelModules: nvidia
  Architecture: i386
  CrashCounter: 1
  Date: Fri Apr 15 23:51:41 2011
  ExecutablePath: /bin/zsh4
  ProcCmdline: zsh
  ProcEnviron:
   LANGUAGE=de_DE:en
   PATH=(custom, user)
   LANG=de_DE.UTF-8
   SHELL=/bin/zsh
  SegvAnalysis:
   Segfault happened at: 0x2d3722:      pcmpeqb (%eax),%xmm0
   PC (0x002d3722) ok
   source "(%eax)" (0x25227770) not located in a known VMA region (needed 
readable region)!
   destination "%xmm0" ok
  SegvReason: reading unknown VMA
  Signal: 11
  SourcePackage: zsh
  StacktraceTop:
   ?? () from /lib/i386-linux-gnu/libc.so.6
   ?? ()
   ?? ()
   getpermtext ()
   ?? () from /usr/lib/zsh/4.3.11/zsh/parameter.so
  Title: zsh4 crashed with SIGSEGV in getpermtext()
  UpgradeStatus: Upgraded to natty on 2011-04-02 (13 days ago)
  UserGroups: adm admin audio cdrom dialout dip floppy fuse lpadmin plugdev 
pulse sambashare sbuild scanner src video

** Description changed:

  Binary package hint: zsh
  
  I can reproduce crashing zsh when completing for "gsmc":
      gsmc <tab>
  
  Similar for "which gsmc".
  
  This is the function, initially there was nothing commented out, but
  I've tried narrowing it down, and came up with the commented lines to
  trigger it:
  
  gsmc() {
    # [ x$1 = x ] && { echo "Commit update to which submodule?"; return 1;}
    # [ -d "$1" ] || { echo "Submodule $1 not found."; return 2;}
    # summary=$(git submodule summary "$1" 2>&1)
    # if [[ $summary == "" ]] ; then
    #   echo "Submodule $1 not changed."; return 3
    # fi
    if [[ $summary =~ "^fatal:" ]] ; then
      echo $summary ; return 4
    fi
    # summary=( ${(f)summary} )
    git commit -m "Update submodule $1 ${${(ps: 
:)summary[1]}[3]}."$'\n\n'"${(F)summary}" "$1"
  }
  
  Using `which` on it makes it hang before returning to the prompt:
  % which gsmc
  gsmc () {
-         if [[ "$summary" =~ "^fatal:" ]]
-         then
-                 echo $summary
-         elif return 4
-         then
-                 git commit -m "Update submodule $1 ${${(ps: 
:)summary[1]}[3]}."$'\n\n'"${(F)summary}" "$1"
-         fi
+         if [[ "$summary" =~ "^fatal:" ]]
+         then
+                 echo $summary
+         elif return 4
+         then
+                 git commit -m "Update submodule $1 ${${(ps: 
:)summary[1]}[3]}."$'\n\n'"${(F)summary}" "$1"
+         fi
  
  }
  *hangs here*
  
- 
- Attaching strace to it reveals nothing..
- 
+ Attaching strace to it reveals nothing:
  % sudo strace -f -p 13887
  Process 13887 attached - interrupt to quit
  
+ Attaching gdb reveals this backtrace:
+ (gdb) bt
+ #0  0x080b6411 in gettext2 (state=0xbf8b6c04) at ../../Src/text.c:305
+ #1  0x080b74d3 in getpermtext (prog=0x9f52118, c=0x9f541c4, start_indent=1)
+     at ../../Src/text.c:192
+ #2  0x006df72b in getfunction (name=0xb776f298 "VCS_INFO_detect_cvs", dis=0, 
+     ht=<value optimized out>) at ../../../Src/Modules/parameter.c:394
+ #3  0x08099ff9 in getarg (str=0xbf8b6d48, inv=0xbf8b6d4c, v=0xbf8b6f0c, a2=0, 
w=0xbf8b6d38, 
+     prevcharlen=0xbf8b6d44, nextcharlen=0xbf8b6d40) at ../../Src/params.c:1235
+ #4  0x0809b2b1 in getindex (pptr=0xbf8b6dac, v=0xbf8b6f0c, flags=256)
+     at ../../Src/params.c:1660
+ #5  0x0809b9a9 in fetchvalue (v=0xbf8b6f0c, pptr=0xbf8b6f60, bracks=1, 
flags=256)
+     at ../../Src/params.c:1876
+ #6  0x080b149d in paramsubst (list=0xbf8b7194, node=0xbf8b7188, ssub=4, 
asssub=0)
+     at ../../Src/subst.c:2187
+ #7  stringsubst (list=0xbf8b7194, node=0xbf8b7188, ssub=4, asssub=0) at 
../../Src/subst.c:214
+ #8  0x080b534f in prefork (list=0xbf8b7194, flags=4) at ../../Src/subst.c:77
+ #9  0x080b5751 in singsub (s=0xbf8b71ec) at ../../Src/subst.c:369
+ #10 0x080647c3 in execarith (state=0xbf8b7d54, do_exec=0) at 
../../Src/exec.c:4041
+ #11 0x080667d6 in execsimple (state=<value optimized out>) at 
../../Src/exec.c:1060
+ #12 0x0806c576 in execlist (state=0xbf8b7d54, dont_change_job=1, exiting=0)
+     at ../../Src/exec.c:1197
+ #13 0x0808a693 in execif (state=0xbf8b7d54, do_exec=0) at ../../Src/loop.c:500
+ #14 0x0806a747 in execcmd (state=0xbf8b7d54, input=0, output=0, how=2, 
last1=2)
+     at ../../Src/exec.c:3114
+ #15 0x0806b687 in execpline2 (state=0xbf8b7d54, pcode=<value optimized out>, 
how=2, input=0, 
+     output=0, last1=0) at ../../Src/exec.c:1632
+ #16 0x0806b9e5 in execpline (state=0xbf8b7d54, slcode=<value optimized out>, 
how=2, last1=0)
+     at ../../Src/exec.c:1416
+ #17 0x0806c701 in execlist (state=0xbf8b7d54, dont_change_job=1, exiting=0)
+     at ../../Src/exec.c:1199
+ #18 0x0808989b in execfor (state=0xbf8b7d54, do_exec=0) at 
../../Src/loop.c:159
+ #19 0x0806a747 in execcmd (state=0xbf8b7d54, input=0, output=0, how=2, 
last1=2)
+     at ../../Src/exec.c:3114
+ #20 0x0806b687 in execpline2 (state=0xbf8b7d54, pcode=<value optimized out>, 
how=2, input=0, 
+     output=0, last1=0) at ../../Src/exec.c:1632
+ #21 0x0806b9e5 in execpline (state=0xbf8b7d54, slcode=<value optimized out>, 
how=2, last1=0)
+     at ../../Src/exec.c:1416
+ #22 0x0806c701 in execlist (state=0xbf8b7d54, dont_change_job=1, exiting=0)
+     at ../../Src/exec.c:1199
+ #23 0x0806cc95 in execode (p=0x9f52620, dont_change_job=1, exiting=0, 
+     context=0x80c3a28 "shfunc") at ../../Src/exec.c:1020
+ #24 0x0806701d in runshfunc (prog=0x9f52620, wrap=0x0, name=0xb776e758 
"vcs_info")
+     at ../../Src/exec.c:4608
+ #25 0x0806767e in doshfunc (shfunc=0x9f528e8, doshargs=0xb776e690, 
noreturnval=0)
+     at ../../Src/exec.c:4502
+ #26 0x080679d1 in execshfunc (shf=0x9f528e8, args=0xb776e690) at 
../../Src/exec.c:4230
+ #27 0x0806affc in execcmd (state=0xbf8b8984, input=0, output=0, how=18, 
last1=2)
+     at ../../Src/exec.c:3162
+ #28 0x0806b687 in execpline2 (state=0xbf8b8984, pcode=<value optimized out>, 
how=18, input=0, 
+     output=0, last1=0) at ../../Src/exec.c:1632
+ #29 0x0806b9e5 in execpline (state=0xbf8b8984, slcode=<value optimized out>, 
how=18, last1=0)
+     at ../../Src/exec.c:1416
+ #30 0x0806c701 in execlist (state=0xbf8b8984, dont_change_job=1, exiting=0)
+     at ../../Src/exec.c:1199
+ #31 0x0808a693 in execif (state=0xbf8b8984, do_exec=0) at ../../Src/loop.c:500
+ #32 0x0806a747 in execcmd (state=0xbf8b8984, input=0, output=0, how=2, 
last1=2)
+     at ../../Src/exec.c:3114
+ #33 0x0806b687 in execpline2 (state=0xbf8b8984, pcode=<value optimized out>, 
how=2, input=0, 
+     output=0, last1=0) at ../../Src/exec.c:1632
+ #34 0x0806b9e5 in execpline (state=0xbf8b8984, slcode=<value optimized out>, 
how=2, last1=0)
+     at ../../Src/exec.c:1416
+ #35 0x0806c701 in execlist (state=0xbf8b8984, dont_change_job=1, exiting=0)
+     at ../../Src/exec.c:1199
+ #36 0x0806cc95 in execode (p=0x9de4858, dont_change_job=1, exiting=0, 
+     context=0x80c3a28 "shfunc") at ../../Src/exec.c:1020
+ #37 0x0806701d in runshfunc (prog=0x9de4858, wrap=0x0, 
+     name=0xb776e2e0 "prompt_blueyed_precmd") at ../../Src/exec.c:4608
+ #38 0x0806767e in doshfunc (shfunc=0x9de4880, doshargs=0x0, noreturnval=1)
+     at ../../Src/exec.c:4502
+ #39 0x080b9ca8 in callhookfunc (name=0x80c9b65 "precmd", lnklst=0x0, 
arrayp=1, retval=0x0)
+     at ../../Src/utils.c:1250
+ #40 0x080c0c64 in preprompt () at ../../Src/utils.c:1309
+ #41 0x0807cf1e in loop (toplevel=1, justonce=0) at ../../Src/init.c:121
+ #42 0x0807fb9e in zsh_main (argc=1, argv=0xbf8b8f64) at ../../Src/init.c:1508
+ #43 0x08052e8b in main (argc=1, argv=0xbf8b8f64) at ../../Src/main.c:93
  
- I can provide more information, in case the backtrace and this info alone is 
not useful enough.
+ 
+ I can provide more information, in case the backtrace and this info
+ alone is not useful enough.
  
  ProblemType: Crash
  DistroRelease: Ubuntu 11.04
  Package: zsh 4.3.11-3ubuntu1
  ProcVersionSignature: Ubuntu 2.6.38-8.42-generic 2.6.38.2
  Uname: Linux 2.6.38-8-generic i686
  NonfreeKernelModules: nvidia
  Architecture: i386
  CrashCounter: 1
  Date: Fri Apr 15 23:51:41 2011
  ExecutablePath: /bin/zsh4
  ProcCmdline: zsh
  ProcEnviron:
   LANGUAGE=de_DE:en
   PATH=(custom, user)
   LANG=de_DE.UTF-8
   SHELL=/bin/zsh
  SegvAnalysis:
   Segfault happened at: 0x2d3722:      pcmpeqb (%eax),%xmm0
   PC (0x002d3722) ok
   source "(%eax)" (0x25227770) not located in a known VMA region (needed 
readable region)!
   destination "%xmm0" ok
  SegvReason: reading unknown VMA
  Signal: 11
  SourcePackage: zsh
  StacktraceTop:
   ?? () from /lib/i386-linux-gnu/libc.so.6
   ?? ()
   ?? ()
   getpermtext ()
   ?? () from /usr/lib/zsh/4.3.11/zsh/parameter.so
  Title: zsh4 crashed with SIGSEGV in getpermtext()
  UpgradeStatus: Upgraded to natty on 2011-04-02 (13 days ago)
  UserGroups: adm admin audio cdrom dialout dip floppy fuse lpadmin plugdev 
pulse sambashare sbuild scanner src video

** Visibility changed to: Public

** Changed in: zsh (Ubuntu)
       Status: New => Triaged

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/762238

Title:
  zsh4 crashed with SIGSEGV in getpermtext()

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to