From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: poffice@blade.nagaokaut.ac.jp Delivered-To: poffice@blade.nagaokaut.ac.jp Received: from kankan.nagaokaut.ac.jp (kankan.nagaokaut.ac.jp [133.44.2.24]) by blade.nagaokaut.ac.jp (Postfix) with ESMTP id 384CC17DC7C7 for ; Wed, 19 Nov 2014 17:02:22 +0900 (JST) Received: from funfun.nagaokaut.ac.jp (smtp.nagaokaut.ac.jp [133.44.2.201]) by kankan.nagaokaut.ac.jp (Postfix) with ESMTP id E2F5DB5D883 for ; Wed, 19 Nov 2014 16:51:50 +0900 (JST) Received: from funfun.nagaokaut.ac.jp (localhost.nagaokaut.ac.jp [127.0.0.1]) by funfun.nagaokaut.ac.jp (Postfix) with ESMTP id CFA9497A834 for ; Wed, 19 Nov 2014 16:51:52 +0900 (JST) X-Virus-Scanned: amavisd-new at nagaokaut.ac.jp Received: from funfun.nagaokaut.ac.jp ([127.0.0.1]) by funfun.nagaokaut.ac.jp (funfun.nagaokaut.ac.jp [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id x6zR6hfqTwKw for ; Wed, 19 Nov 2014 16:51:52 +0900 (JST) Received: from voscc.nagaokaut.ac.jp (voscc.nagaokaut.ac.jp [133.44.1.100]) by funfun.nagaokaut.ac.jp (Postfix) with ESMTP id AEE7797A826 for ; Wed, 19 Nov 2014 16:51:52 +0900 (JST) Received: from neon.ruby-lang.org (neon.ruby-lang.org [221.186.184.75]) by voscc.nagaokaut.ac.jp (Postfix) with ESMTP id 8277895241B for ; Wed, 19 Nov 2014 16:51:50 +0900 (JST) Received: from [221.186.184.76] (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id 45D4C12045E; Wed, 19 Nov 2014 16:51:46 +0900 (JST) X-Original-To: ruby-core@ruby-lang.org Delivered-To: ruby-core@ruby-lang.org Received: from dcvr.yhbt.net (dcvr.yhbt.net [64.71.152.64]) by neon.ruby-lang.org (Postfix) with ESMTP id BA278120433 for ; Wed, 19 Nov 2014 16:51:39 +0900 (JST) Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id 7264E633806; Wed, 19 Nov 2014 07:51:38 +0000 (UTC) Date: Wed, 19 Nov 2014 07:51:38 +0000 From: Eric Wong To: Ruby developers Message-ID: <20141119075138.GA14300@dcvr.yhbt.net> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-ML-Name: ruby-core X-Mail-Count: 66358 Subject: [ruby-core:66358] Re: [ruby-trunk - Bug #10460] Segfault instead of stack level too deep X-BeenThere: ruby-core@ruby-lang.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Ruby developers List-Id: Ruby developers List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: ruby-core-bounces@ruby-lang.org Sender: "ruby-core" arne@arnebrasseur.net wrote: > Was it rude to set this as "Priority: High"? A random segfault seems > important but it also seems very few tickets are actually marked as > high priority. I don't think it is rude to set "Priority: High", but I don't care much for "formal" ticket tracking, either. I will work on issues which interest me. (I don't speak for the rest of ruby-core) To me, segfaults in normal/otherwise-working code are important. However, this issues with stack overflows, your code is still broken even if we avoid segfaults and raise. Ruby is trying to be nice about reporting the error; but in the end, your code is still broken if it overflows stack. So we make a minor effort to report small overflows, but (as you can see from this ticket), it is highly sensitive to compiler and platform changes; and big overflows are not caught. We may increase the size of the guard area; but that costs memory. Right now, on (most) Linux systems, this guard costs 4K (one page) per-thread. Increasing it may help with reporting, but your code is still broken; and you penalize the majority of users who do not overflow stack. I suspect more users care about memory usage than getting a proper error on broken code.