On 02/08/2011 12:15 PM, Kimbo Mundy wrote: >> I have not seen that issue, and you're the first to report it, but I'll >> see if I can reproduce it.
I was able to reproduce this, but not on my machine (thanks Corinna for getting me set up); and the odd thing was that the problem disappears when compiled with -O1 on execute_cmd.c. Bash is probably doing something undefined, that happens to work at low optimization but falls flat at high optimization; in particular, it is violating rules of setjmp() by modifying local variables not marked volatile in between setjmp() and longjmp(). However, when I silenced that gcc warning, the crash still persisted at -O2, so I haven't solved root cause yet. At any rate, if I can't solve root cause shortly, I'll at least release bash-4.1.9-3 with execute_cmd.c compiled at -O1 to avoid the problem, while I continue my investigations. > I just hit this as well. I had to use --debug, instead of bash -xv, > in order to get tracing turned on inside > /usr/share/csih/cygwin-service-installation-helper.sh. It appears the > crash happens as csih_install_config is returning: The crash is happening when csih_install_config is executing a return trap. It could be that not too many people do trap ... RETURN in bash scripts, which is why cygwin is hitting this problem, even though it appears to be a bug in upstream bash (at least, it's more likely that bash is doing something wrong than it is that gcc 4.3.4 is miscompiling bash). -- Eric Blake ebl...@redhat.com +1-801-349-2682 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature