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-65-14.ec2.internal X-Spam-Level: X-Spam-Status: No, score=0.8 required=3.0 tests=BAYES_50,FREEMAIL_FROM, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Received: by 2002:ac8:5c02:0:b0:3a8:15e1:757 with SMTP id i2-20020ac85c02000000b003a815e10757mr2435869qti.194.1676272932524; Sun, 12 Feb 2023 23:22:12 -0800 (PST) X-Received: by 2002:a05:6808:2195:b0:37d:5d11:1a74 with SMTP id be21-20020a056808219500b0037d5d111a74mr885397oib.77.1676272932117; Sun, 12 Feb 2023 23:22:12 -0800 (PST) Path: eternal-september.org!reader01.eternal-september.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Sun, 12 Feb 2023 23:22:10 -0800 (PST) In-Reply-To: <5176a59b-9224-45a0-a803-df1acf8ab8c7n@googlegroups.com> Injection-Info: google-groups.googlegroups.com; posting-host=88.160.66.39; posting-account=6yLzewoAAABoisbSsCJH1SPMc9UrfXBH NNTP-Posting-Host: 88.160.66.39 References: <823bfde7-adb3-4cd2-adca-744cf676864an@googlegroups.com> <5176a59b-9224-45a0-a803-df1acf8ab8c7n@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: Subject: Re: pragmas in doubly linked lists From: Emmanuel Briot Injection-Date: Mon, 13 Feb 2023 07:22:12 +0000 Content-Type: text/plain; charset="UTF-8" X-Received-Bytes: 1834 Xref: reader01.eternal-september.org comp.lang.ada:64905 List-Id: I believe the GNAT run time is still built without checks on. So it is quite possible that you have kept around cursors which are no longer valid (those cursors are direct access types in practice), and GNAT has no way to test that. In general, it is very dangerous to keep cursors outside of a very local context where you know exactly what is going on. You could use vectors, instead of lists, and keep the corresponding index around (rather than a cursor directly) for instance. But I would try and refactor the code to avoid having a container with cursors into another container, that seems fragile.