zsh-workers
 help / color / mirror / code / Atom feed
* 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).