April 24, 2018 Re: Frustrated with dmd codegen bug | ||||
---|---|---|---|---|
| ||||
Posted in reply to Basile B. | On Tue, Apr 24, 2018 at 08:18:55PM +0000, Basile B. via Digitalmars-d wrote: > On Tuesday, 24 April 2018 at 18:53:02 UTC, H. S. Teoh wrote: > > Yesterday afternoon I ran into a performance issue in one of my D projects, and thought, "well, it's simple, just compile with -profile, identify the hotspot, optimize". Unfortunately, doing that triggered a latent codegen bug in -O that randomly causes runtime segfaults, basically halting all progress. I spent all morning today to reduce the code in order to identify the codegen bug: > > > > https://issues.dlang.org/show_bug.cgi?id=18794 > > In the report you forgot to mention that the bug is only visible with > -O -profile. > With just -O the provided test case works fine. Really?! That's weird... Originally the problem appeared with -O -profile, but after reduction, I could reproduce the problem even without -profile. (Just tested it again: the segfault happens without -profile.) Possibly it's affected by the OS/architecture? Or perhaps it's just very sensitive to the exact combination of flags + environmental factors. T -- I'm still trying to find a pun for "punishment"... |
April 24, 2018 Re: Frustrated with dmd codegen bug | ||||
---|---|---|---|---|
| ||||
Posted in reply to H. S. Teoh | On Tuesday, 24 April 2018 at 20:44:12 UTC, H. S. Teoh wrote:
> On Tue, Apr 24, 2018 at 08:18:55PM +0000, Basile B. via Digitalmars-d wrote:
>> On Tuesday, 24 April 2018 at 18:53:02 UTC, H. S. Teoh wrote:
>> > Yesterday afternoon I ran into a performance issue in one of my D projects, and thought, "well, it's simple, just compile with -profile, identify the hotspot, optimize". Unfortunately, doing that triggered a latent codegen bug in -O that randomly causes runtime segfaults, basically halting all progress. I spent all morning today to reduce the code in order to identify the codegen bug:
>> >
>> > https://issues.dlang.org/show_bug.cgi?id=18794
>>
>> In the report you forgot to mention that the bug is only visible with
>> -O -profile.
>> With just -O the provided test case works fine.
>
> Really?! That's weird... Originally the problem appeared with -O -profile, but after reduction, I could reproduce the problem even without -profile. (Just tested it again: the segfault happens without -profile.) Possibly it's affected by the OS/architecture? Or perhaps it's just very sensitive to the exact combination of flags + environmental factors.
>
>
> T
I'm sorry to bring confusion but i've tested on linux x86_64. With dmd 2.079.1 and ~master (just updated it right now). Here for some reason -profile is always required to get the error :/
|
Copyright © 1999-2021 by the D Language Foundation