Return-Path: X-Original-To: apmail-perl-modperl-archive@www.apache.org Delivered-To: apmail-perl-modperl-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id B962E17D8D for ; Tue, 15 Sep 2015 20:59:04 +0000 (UTC) Received: (qmail 62686 invoked by uid 500); 15 Sep 2015 20:59:04 -0000 Delivered-To: apmail-perl-modperl-archive@perl.apache.org Received: (qmail 62642 invoked by uid 500); 15 Sep 2015 20:59:04 -0000 Mailing-List: contact modperl-help@perl.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list modperl@perl.apache.org Received: (qmail 62623 invoked by uid 99); 15 Sep 2015 20:59:04 -0000 Received: from Unknown (HELO spamd4-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 15 Sep 2015 20:59:04 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id 96951C0AE4 for ; Tue, 15 Sep 2015 20:59:03 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -0.007 X-Spam-Level: X-Spam-Status: No, score=-0.007 tagged_above=-999 required=6.31 tests=[RP_MATCHES_RCVD=-0.006, SPF_PASS=-0.001] autolearn=disabled Received: from mx1-us-west.apache.org ([10.40.0.8]) by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024) with ESMTP id mRSttEIH__J0 for ; Tue, 15 Sep 2015 20:58:56 +0000 (UTC) Received: from smtp-a.gkg.net (smtp-a.gkg.net [208.180.25.111]) by mx1-us-west.apache.org (ASF Mail Server at mx1-us-west.apache.org) with ESMTP id 963E9205B3 for ; Tue, 15 Sep 2015 20:58:56 +0000 (UTC) Received: from amavis.gkg.net (amavisd4.gkg.net [208.180.25.202]) by smtp-a.gkg.net (Postfix) with ESMTP id 7C03D8D93C; Tue, 15 Sep 2015 15:58:50 -0500 (CDT) X-Virus-Scanned: by amavisd-new at gkg.net Received: from lothlorien.snowcrash.lan (proxy.gkg.net [208.180.24.220]) by smtp-a.gkg.net (Postfix) with ESMTPSA id 784158D93A; Tue, 15 Sep 2015 15:58:49 -0500 (CDT) Subject: Re: Random segmentation fault To: Steve Hay , John Dunlap References: <55EBFDC0.90903@sanger.ac.uk> <55F6D959.60606@gkg.net> Cc: mod_perl list From: Michael Schout X-Enigmail-Draft-Status: N1110 Message-ID: <55F88687.6040306@gkg.net> Date: Tue, 15 Sep 2015 15:58:47 -0500 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:38.0) Gecko/20100101 Thunderbird/38.2.0 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/mixed; boundary="------------020207090609040702080900" This is a multi-part message in MIME format. --------------020207090609040702080900 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Steve, John: I did a bisect today against perl git, using mod_perl 2.0.9 and apache 2.2.29 to find out where my two issues were caused. It turns out that both of my problems, which were: - panic: attempt to copy freed scalar xxxx to yyyy and also - segmentation fault caused by a specific "return" statement Are *BOTH* caused by the following commit made to perl between 5.19.6 and 5.19.7: > commit 437e3a7dac994ebace1195549170c81f474d9c20 > Author: Matthew Horsfall > Date: Wed Dec 11 18:28:21 2013 -0500 > > Optimise out PUSHMARK/RETURN if return is the last statement in a sub. > > This makes: > > sub baz { return $cat; } > > Behave like: > > sub baz { $cat; } > > Which is notably faster. ... I created a patch that reverses this (at least the change to op.c.. the other parts of the patch are just new macros, and a test case), then both of my problems are fixed. John: I'd be interested to know if your problem is related. If possible, can you build perl with the attached patch applied and see if that fixes your segfault also? This seems to be mod_perl specific. I have a very straightforward/minimal test case that causes the "panic" error under mod_perl, but the same code runs fine under the command line outside of mod_perl. Regards, Michael Schout --------------020207090609040702080900 Content-Type: text/plain; charset=UTF-8; x-mac-type="0"; x-mac-creator="0"; name="perl-return.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="perl-return.patch" ZGlmZiAtLWdpdCBhL29wLmMgYi9vcC5jCmluZGV4IDcwMzg1MjYuLmRjNDJiNTYgMTAwNjQ0 Ci0tLSBhL29wLmMKKysrIGIvb3AuYwpAQCAtMTEzNTQsNDUgKzExMzU0LDYgQEAgUGVybF9y cGVlcChwVEhYXyBPUCAqbykKIAljYXNlIE9QX05FWFRTVEFURToKIAkgICAgUExfY3VyY29w ID0gKChDT1AqKW8pOwkJLyogZm9yIHdhcm5pbmdzICovCiAKLQkgICAgLyogT3B0aW1pc2Ug YSAicmV0dXJuIC4uLiIgYXQgdGhlIGVuZCBvZiBhIHN1YiB0byBqdXN0IGJlICIuLi4iLgot CSAgICAgKiBUaGlzIHNhdmVzIDIgb3BzLiBCZWZvcmU6Ci0JICAgICAqIDEgIDw7PiBuZXh0 c3RhdGUobWFpbiAxIC1lOjEpIHYgLT4yCi0JICAgICAqIDQgIDxAPiByZXR1cm4gSyAtPjUK LQkgICAgICogMiAgICA8MD4gcHVzaG1hcmsgcyAtPjMKLQkgICAgICogLSAgICA8MT4gZXgt cnYyc3Ygc0svMSAtPjQKLQkgICAgICogMyAgICAgIDwjPiBndnN2WypjYXRdIHMgLT40Ci0J ICAgICAqCi0JICAgICAqIEFmdGVyOgotCSAgICAgKiAtICA8QD4gcmV0dXJuIEsgLT4tCi0J ICAgICAqIC0gICAgPDA+IHB1c2htYXJrIHMgLT4yCi0JICAgICAqIC0gICAgPDE+IGV4LXJ2 MnN2IHNLLzEgLT4tCi0JICAgICAqIDIgICAgICA8JD4gZ3ZzdigqY2F0KSBzIC0+MwotCSAg ICAgKi8KLQkgICAgewotCQlPUCAqbmV4dCA9IG8tPm9wX25leHQ7Ci0JCU9QICpzaWJsaW5n ID0gby0+b3Bfc2libGluZzsKLQkJaWYgKCAgIE9QX1RZUEVfSVMobmV4dCwgT1BfUFVTSE1B UkspCi0JCSAgICAmJiBPUF9UWVBFX0lTKHNpYmxpbmcsIE9QX1JFVFVSTikKLQkJICAgICYm IE9QX1RZUEVfSVMoc2libGluZy0+b3BfbmV4dCwgT1BfTElORVNFUSkKLQkJICAgICYmIE9Q X1RZUEVfSVMoc2libGluZy0+b3BfbmV4dC0+b3BfbmV4dCwgT1BfTEVBVkVTVUIpCi0JCSAg ICAmJiBjVU5PUHgoc2libGluZyktPm9wX2ZpcnN0ID09IG5leHQKLQkJICAgICYmIG5leHQt Pm9wX3NpYmxpbmcgJiYgbmV4dC0+b3Bfc2libGluZy0+b3BfbmV4dAotCQkgICAgJiYgbmV4 dC0+b3BfbmV4dAotCQkpIHsKLQkJICAgIC8qIExvb2sgdGhyb3VnaCB0aGUgUFVTSE1BUksn cyBzaWJsaW5ncyBmb3Igb25lIHRoYXQKLQkJICAgICAqIHBvaW50cyB0byB0aGUgUkVUVVJO ICovCi0JCSAgICBPUCAqdG9wID0gbmV4dC0+b3Bfc2libGluZzsKLQkJICAgIHdoaWxlICh0 b3AgJiYgdG9wLT5vcF9uZXh0KSB7Ci0JCQlpZiAodG9wLT5vcF9uZXh0ID09IHNpYmxpbmcp IHsKLQkJCSAgICB0b3AtPm9wX25leHQgPSBzaWJsaW5nLT5vcF9uZXh0OwotCQkJICAgIG8t Pm9wX25leHQgPSBuZXh0LT5vcF9uZXh0OwotCQkJICAgIGJyZWFrOwotCQkJfQotCQkJdG9w ID0gdG9wLT5vcF9zaWJsaW5nOwotCQkgICAgfQotCQl9Ci0JICAgIH0KLQogCSAgICAvKiBP cHRpbWlzZSAnbXkgJHg7IG15ICR5OycgaW50byAnbXkgKCR4LCAkeSk7JwogICAgICAgICAg ICAgICoKIAkgICAgICogVGhpcyBsYXR0ZXIgZm9ybSBpcyB0aGVuIHN1aXRhYmxlIGZvciBj b252ZXJzaW9uIGludG8gcGFkcmFuZ2UK --------------020207090609040702080900--