From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on ip-172-31-74-118.ec2.internal X-Spam-Level: * X-Spam-Status: No, score=1.1 required=3.0 tests=BAYES_00,FROM_SUSPICIOUS_NTLD, FROM_SUSPICIOUS_NTLD_FP,PDS_OTHER_BAD_TLD autolearn=no autolearn_force=no version=3.4.6 Path: eternal-september.org!reader02.eternal-september.org!aioe.org!dGELjPO44lRgUjmZYA5/xw.user.46.165.242.75.POSTED!not-for-mail From: Fernando Oleo Blanco Newsgroups: comp.lang.ada Subject: Re: Help: Ada in NetBSD Date: Fri, 17 Sep 2021 19:36:01 +0200 Organization: Aioe.org NNTP Server Message-ID: References: <646f270d-0e65-46a5-b40a-02afab608f1en@googlegroups.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Info: gioia.aioe.org; logging-data="51513"; posting-host="dGELjPO44lRgUjmZYA5/xw.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org"; User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.1.0 Content-Language: en-US X-Notice: Filtered by postfilter v. 0.9.2 Xref: reader02.eternal-september.org comp.lang.ada:62764 List-Id: Another update on my side, this time with a bit more content. Following the help provided by Arnaud, I modified the flags with which the ACATS's tests get compiled. To the gnatmake command I added the -f -a -g -j0 flags. -f to force the recompilation of all files needed with the exception of the runtime and library files. -a is to also force the recompilation of the library & runtime files. Whatever is needed. -g debugging. -j0 ignored by the ACATS suite provided by Simon (or so says the documentation in the shell file). This flags make the compilation much slower, obviously, since nearly for every test the entire Ada library needs to be recompiled. However, this started to give me a much better insight on what was going on. Specially since now I could debug the failing tests. I noticed that the first test I started debugging was stuck in a loop related to task management. This would explain why I was getting so many tests failing with timeouts. Great, but I could only get so much insight. Arnaud, once again came to the rescue and indicated that I should add the -gnata flag. -gnata is to enable assertions. And yes, now the tests were finally failing in a meaningful manner. I have written the assertions I have found that failed. Remember, I am using GCC 10.3 with the patch set that is available in my website. You can find it in one of the messages I have sent in this thread. So, what do we get? System.Assertions. Assert_Failure in s-tassta.adb:1643 (very common everywhere), s-tpopmo.adb:213 (fairly common) and s-taprop.adb:463 (common in the c9 section). Storage_Error in s-intman.adb:136 Stack overflow or erroneous memory access in a few tests. I got no pointer on where it was happening. And still some timeouts, but I think they are related to the first assertion mentioned. The "strange" (not that much) is that I have not touched any of these files. I will see where they are used in the compiler, how they are used and if the issues are related with how NetBSD handles some functions/standards... The s-tassta.adb problem I know is 100% related to POSIX Threads. Maybe the issue is in the POSIX Threads handling or maybe not. I will keep on digging. Regards, -- Fernando Oleo Blanco https://irvise.xyz