* Segmentation fault
@ 2017-08-09 21:45 anyinteger
2017-08-10 9:37 ` Kamil Dudka
0 siblings, 1 reply; 3+ messages in thread
From: anyinteger @ 2017-08-09 21:45 UTC (permalink / raw)
To: zsh-workers
[-- Attachment #1: Type: text/plain, Size: 71 bytes --]
Following code causes segmentation fault on zsh :
func(){r;func}
func
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Segmentation fault
2017-08-09 21:45 Segmentation fault anyinteger
@ 2017-08-10 9:37 ` Kamil Dudka
2017-08-10 10:38 ` Peter Stephenson
0 siblings, 1 reply; 3+ messages in thread
From: Kamil Dudka @ 2017-08-10 9:37 UTC (permalink / raw)
To: anyinteger; +Cc: zsh-workers
On Wednesday, August 09, 2017 21:45:53 anyinteger@hush.ai wrote:
> Following code causes segmentation fault on zsh :
>
> func(){r;func}
> func
I guess this is just another instance of stack overflow caused by infinite
shell recursion. I reported a similar issue few months ago:
http://www.zsh.org/mla/workers/2017/msg00623.html
I am aware of two solutions:
1. reduce stack usage (compiler flags, move some data from stack to heap)
2. recompile zsh with --enable-max-function-depth set to some lower value
(the default is 1000)
Kamil
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Segmentation fault
2017-08-10 9:37 ` Kamil Dudka
@ 2017-08-10 10:38 ` Peter Stephenson
0 siblings, 0 replies; 3+ messages in thread
From: Peter Stephenson @ 2017-08-10 10:38 UTC (permalink / raw)
To: zsh-workers; +Cc: anyinteger
On Thu, 10 Aug 2017 11:37:51 +0200
Kamil Dudka <kdudka@redhat.com> wrote:
> On Wednesday, August 09, 2017 21:45:53 anyinteger@hush.ai wrote:
> > Following code causes segmentation fault on zsh :
> >
> > func(){r;func}
> > func
>
> I guess this is just another instance of stack overflow caused by infinite
> shell recursion.
Almost certainly, yes.
> I am aware of two solutions:
>
> 1. reduce stack usage (compiler flags, move some data from stack to heap)
>
> 2. recompile zsh with --enable-max-function-depth set to some lower value
> (the default is 1000)
It's frustrating it's hard to do more than this. Some vague ideas were
floating around but it's right down at the OS interface which doesn't
give us quite the right sort of information for doing something about
this.
Of course, reducing the default recursion limit is possible but I have
no real feel for what the right compromise is, particularly as it can
affect different architectures / configurations in completely different
ways.
pws
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2017-08-10 10:38 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-08-09 21:45 Segmentation fault anyinteger
2017-08-10 9:37 ` Kamil Dudka
2017-08-10 10:38 ` Peter Stephenson
Code repositories for project(s) associated with this public inbox
https://git.vuxu.org/mirror/zsh/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).