Re: [fpc-devel] Anyone an idea were/how to look for the missing merge in 3.0.2
Op 2021-07-01 om 01:35 schreef J. Gareth Moreton via fpc-devel: Actually, remind me... what revision number is 3.2.0 based off? r39628 mid august 2018 ___ fpc-devel maillist - fpc-devel@lists.freepascal.org https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
Re: [fpc-devel] Anyone an idea were/how to look for the missing merge in 3.0.2
J. Gareth Moreton via fpc-devel schrieb am Do., 1. Juli 2021, 01:29: > Ah curses. I fear it was something I did. I don't like the idea of > stepping through each revision until we find one that works. > That's where bisecting comes into play: find a revision where it is working (or not working, depending on the context) and then half the interval to the top most revision. If if still works in that revision (or not works) then you do the same with the upper interval, otherwise you continue with the lower one. This continues until only one revision is left which is the culprit. This is so common that e.g. Git contains a command for simplifying that (cause there are no linear revision numbers after all). Regards, Sven ___ fpc-devel maillist - fpc-devel@lists.freepascal.org https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
Re: [fpc-devel] Anyone an idea were/how to look for the missing merge in 3.0.2
Actually, remind me... what revision number is 3.2.0 based off? Gareth aka. Kit On 01/07/2021 00:29, J. Gareth Moreton via fpc-devel wrote: Ah curses. I fear it was something I did. I don't like the idea of stepping through each revision until we find one that works. https://bugs.freepascal.org/view.php?id=38294 https://bugs.freepascal.org/view.php?id=38334 https://bugs.freepascal.org/view.php?id=38339 https://bugs.freepascal.org/view.php?id=38343 Those ones relate to buggy optimisations in some way, but they might be a bit too late on to affect 3.2.0. There are quite a few others too - hmmm. Gareth aka. Kit On 13/06/2021 20:04, Martin Frb via fpc-devel wrote: On 09/06/2021 09:29, Pierre Muller via fpc-devel wrote: Martin, could you check if this relates to bug #38973? https://bugs.freepascal.org/view.php?id=38973 This bug also does not show in current trunk. If you get the same pattern of failures, it is most probably related to this wrong optimization. Unfortunately I had no success in narrowing it down. I had hoped that generating -al and moving the {$implicitexceptions off} around to narrow it to a single function, I would get a small enough asm diff to tell But even narrowing it down to a single "end;" statement that needs to have {$implicitexceptions off} does not help. This line affects the entire specialization of a base class for one of the classes in that unit. (I did -Si- too) So the diff is still to big, and many of the changes are outside of what I can judge to be ok or not. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel -- This email has been checked for viruses by Avast antivirus software. https://www.avast.com/antivirus ___ fpc-devel maillist - fpc-devel@lists.freepascal.org https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
Re: [fpc-devel] Anyone an idea were/how to look for the missing merge in 3.0.2
Ah curses. I fear it was something I did. I don't like the idea of stepping through each revision until we find one that works. https://bugs.freepascal.org/view.php?id=38294 https://bugs.freepascal.org/view.php?id=38334 https://bugs.freepascal.org/view.php?id=38339 https://bugs.freepascal.org/view.php?id=38343 Those ones relate to buggy optimisations in some way, but they might be a bit too late on to affect 3.2.0. There are quite a few others too - hmmm. Gareth aka. Kit On 13/06/2021 20:04, Martin Frb via fpc-devel wrote: On 09/06/2021 09:29, Pierre Muller via fpc-devel wrote: Martin, could you check if this relates to bug #38973? https://bugs.freepascal.org/view.php?id=38973 This bug also does not show in current trunk. If you get the same pattern of failures, it is most probably related to this wrong optimization. Unfortunately I had no success in narrowing it down. I had hoped that generating -al and moving the {$implicitexceptions off} around to narrow it to a single function, I would get a small enough asm diff to tell But even narrowing it down to a single "end;" statement that needs to have {$implicitexceptions off} does not help. This line affects the entire specialization of a base class for one of the classes in that unit. (I did -Si- too) So the diff is still to big, and many of the changes are outside of what I can judge to be ok or not. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel -- This email has been checked for viruses by Avast antivirus software. https://www.avast.com/antivirus ___ fpc-devel maillist - fpc-devel@lists.freepascal.org https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
Re: [fpc-devel] Anyone an idea were/how to look for the missing merge in 3.0.2
On 09/06/2021 09:29, Pierre Muller via fpc-devel wrote: Martin, could you check if this relates to bug #38973? https://bugs.freepascal.org/view.php?id=38973 This bug also does not show in current trunk. If you get the same pattern of failures, it is most probably related to this wrong optimization. Unfortunately I had no success in narrowing it down. I had hoped that generating -al and moving the {$implicitexceptions off} around to narrow it to a single function, I would get a small enough asm diff to tell But even narrowing it down to a single "end;" statement that needs to have {$implicitexceptions off} does not help. This line affects the entire specialization of a base class for one of the classes in that unit. (I did -Si- too) So the diff is still to big, and many of the changes are outside of what I can judge to be ok or not. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
Re: [fpc-devel] Anyone an idea were/how to look for the missing merge in 3.0.2
On 09/06/2021 09:47, Martin Frb via fpc-devel wrote: On 09/06/2021 09:29, Pierre Muller via fpc-devel wrote: could you check if this relates to bug #38973? https://bugs.freepascal.org/view.php?id=38973 This bug also does not show in current trunk. If you get the same pattern of failures, it is most probably related to this wrong optimization. Unlikely. I don't know exactly where the error is caused. I usually end up in some internal write_ansi_string. I checked asm and register values. And at that time the string is corrupted. But I do not know when it got corrupted. Could have been anywhere else. I have not yet tried -OoNOPEEPHOLE => I am away a few days, will try next week. However the fact that not compiling in "implicit finalization" does fix it points to something else. ok, just taken the 5 minutes. -OoNOPEEPHOLE does also seem to fix it. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
Re: [fpc-devel] Anyone an idea were/how to look for the missing merge in 3.0.2
On 09/06/2021 09:29, Pierre Muller via fpc-devel wrote: could you check if this relates to bug #38973? https://bugs.freepascal.org/view.php?id=38973 This bug also does not show in current trunk. If you get the same pattern of failures, it is most probably related to this wrong optimization. Unlikely. I don't know exactly where the error is caused. I usually end up in some internal write_ansi_string. I checked asm and register values. And at that time the string is corrupted. But I do not know when it got corrupted. Could have been anywhere else. I have not yet tried -OoNOPEEPHOLE => I am away a few days, will try next week. However the fact that not compiling in "implicit finalization" does fix it points to something else. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
Re: [fpc-devel] Anyone an idea were/how to look for the missing merge in 3.0.2
Le 09/06/2021 à 00:31, Martin Frb via fpc-devel a écrit : I have the following issue. A testcase (LazDebuggerFp/test) works fine. Except for 3.2.0 and 3.2.2 (win 64) with -O3 or -O2 In detail: - It works in 32 bit 3.2.2 -- O3 - It works in 64 bit 3.0.4 / 3.3.1 -- O1 O2 and O3 (My 3.3.1 is 2 weeks old.) - It works in 64 bit LINUX 3.2.2 -- O3 - It works in 64 bit 3.2.0 / 3.2.2 -- O1 - It works in 64 bit 3.2.2 -- O3 with {$implicitexceptions off} in several units * It does not work in 64bit 3.2.0 / 3.2.2 -O2 or O3 with default {$implicitexceptions ON} Yes, it could be a bug in my code, but at this point, my primary suspicion points to a different origin for the trouble. I could not find the faulty code yet. I suspect that it is a random memory write (dangling pointer) that causes an error long after. And given that I can't use valgrind So anyone can thing of any bug fixed (as it works with 3.3.1), that may not have been merged? I have not checked 3.2.1 yet. / Will be a while, I am away a couple of days. Martin, could you check if this relates to bug #38973? https://bugs.freepascal.org/view.php?id=38973 This bug also does not show in current trunk. If you get the same pattern of failures, it is most probably related to this wrong optimization. Pierre ___ fpc-devel maillist - fpc-devel@lists.freepascal.org https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
[fpc-devel] Anyone an idea were/how to look for the missing merge in 3.0.2
I have the following issue. A testcase (LazDebuggerFp/test) works fine. Except for 3.2.0 and 3.2.2 (win 64) with -O3 or -O2 In detail: - It works in 32 bit 3.2.2 -- O3 - It works in 64 bit 3.0.4 / 3.3.1 -- O1 O2 and O3 (My 3.3.1 is 2 weeks old.) - It works in 64 bit LINUX 3.2.2 -- O3 - It works in 64 bit 3.2.0 / 3.2.2 -- O1 - It works in 64 bit 3.2.2 -- O3 with {$implicitexceptions off} in several units * It does not work in 64bit 3.2.0 / 3.2.2 -O2 or O3 with default {$implicitexceptions ON} Yes, it could be a bug in my code, but at this point, my primary suspicion points to a different origin for the trouble. I could not find the faulty code yet. I suspect that it is a random memory write (dangling pointer) that causes an error long after. And given that I can't use valgrind So anyone can thing of any bug fixed (as it works with 3.3.1), that may not have been merged? I have not checked 3.2.1 yet. / Will be a while, I am away a couple of days. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel