From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on sa.local.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-1.7 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS autolearn=no autolearn_force=no version=3.4.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:date:from:to:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to; bh=YeMWTLGkpS8FIwL4B3+DLn6E5fkX0bWELqgh9aEcer4=; b=AjB+AdvR65HpWvEYjINJfbQhPa9fYp9ICgQuF446Ms4qI3hRz+/4lhfcpViUqT5qci 0uXoDmjTHnY4Bb/ukHO/kuFBqgD6oV3qqT4IZPhxNlUA7wmzwIcrKu1zak1XCWK7+jM3 AXrKPboOBitX473pqZN/8t+nwNAi4NCF+HXlrTqJ9GPUChimSWUXRw2vgoyrUeblZCpB aeqto7+swBSn6m5si7qh4pjY1dHUUe+PnDIFQbeXD5TpjyqwlDy5H44TFJMjogvTTSxP tzXuAyBzEjFnyVTfCs5o5tCxlDNSfboXdhWf3n51OcX2nXrbo+xbi9jDQI4mkegZUUW/ JEvg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:from:to:subject:message-id :references:mime-version:content-disposition :content-transfer-encoding:in-reply-to; bh=YeMWTLGkpS8FIwL4B3+DLn6E5fkX0bWELqgh9aEcer4=; b=lk85fW1RoyKyxIVVVWMYg5ql3uDClyrHl21Wbu9l9R10CXhnJhahHwPAGhQ2ZgDaO+ IUtBVRacMlZ2Ul9xp6ETVJhDkSxwSoh/z7/8EciJqnnbp2rdFykZPILBlIGpW8usIUj2 oTZQq9+mC303LuODa+dx+O7ziGUEwqeK2poYki6tokupMFq4sHHtiYGR6velYLe9Euyc 55fMQcyYu7woUpsin2b2xtZo9P5d2MCKsIUmGWq4P4ZPIHpvHGOHikQSixi9AkQrLs10 WoI8E6RTivOwVLokAp3dVsXRSRcDiY2lBtI9tNsEd5BuRLEA3eP44G9S8s01KKC3unFX xLfw== X-Gm-Message-State: AOAM531MefitMCi4uY3TN8EBiWYg17SIwZ1oH+1aOlS4fJmcpdH/eD0r N31XUH0eMJDs+NaqqBOUjmVxKuHijx0= X-Google-Smtp-Source: ABdhPJx1Qn3JG2a9Bw0rXvCyhrl30N03UYA8/UApj+c/l+kq97PH11DXuhOA52wZj+dZhuhABZRDSA== X-Received: by 2002:a19:197:: with SMTP id 145mr12587016lfb.483.1608125332517; Wed, 16 Dec 2020 05:28:52 -0800 (PST) Sender: "Ivan A. Melnikov" Date: Wed, 16 Dec 2020 17:28:50 +0400 From: "Ivan A. Melnikov" To: ALT Linux Team development discussions Message-ID: <20201216132850.e2pjg72xocufuzhv@titan.localdomain> References: <20201213003557.GA21193@imap.altlinux.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20201213003557.GA21193@imap.altlinux.org> Subject: Re: [devel] =?utf-8?b?0L/RgNC+0LHQu9C10LzQsCDRgSBib29zdDo6c3Bpcml0?= =?utf-8?b?INC90LAgaTU4NiDQuCBhcm1o?= X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 16 Dec 2020 13:28:54 -0000 Archived-At: List-Archive: List-Post: On Sun, Dec 13, 2020 at 03:35:57AM +0300, Vladislav Zavjalov wrote: > Обнаружил странную регрессию в одной из своих программ: > на 32-битных архитектурах начались падения (Segmentation fault) > где-то в районе boost::spirit (очень смешная библиотека для > синтаксического разбора, когда-то давно она меня радовала). > Судя по всему, произошло это одновременно с переходом на gcc-10, > до этого пакет нормально пересобирался. > > Сделал тестовый пакет с каким-то минимальным кодом, пытался отлаживать > на сборочнице, но точное место поймать пока не смог. Как только правила > spirit становятся достаточно длинными - начинает падать. > Зато выяснил, что падения лечатся убиранием флага -O2. > Может быть, кому-нибудь такой рецепт поможет. > > Если кто-то захочет покопаться, то код есть тут: > http://git.altlinux.org/tasks/263387/gears/2200/git > А типичный лог на сборочнице выглядит так: > http://git.altlinux.org/tasks/263387/build/2200/i586/log > Собираю и запускаю программу дважды: без флага -O2 и с ним. > Первый раз все работает, второй - падает. > На armh - то же самое. Я просто оставлю здесь то, что успел (пока) увидеть: [builder@localhost fig]$ g++ -O2 main.cpp fig_mask.cpp -o main && ./main Segmentation fault (core dumped) [builder@localhost fig]$ g++ -O2 -fno-tree-sra main.cpp fig_mask.cpp -o main && ./main OK [builder@localhost fig]$ g++-9 -O2 main.cpp fig_mask.cpp -o main && ./main OK -- wbr, iv m.