From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!mx02.eternal-september.org!feeder.eternal-september.org!aioe.org!.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: Interesting AWS error. Date: Wed, 10 Dec 2014 09:43:20 +0100 Organization: cbb software GmbH Message-ID: <1i3v7l7hdsio7$.13u4nz42lklre$.dlg@40tude.net> References: Reply-To: mailbox@dmitry-kazakov.de NNTP-Posting-Host: YGNMlxhiQ90vAyH0QA4qPw.user.speranza.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org User-Agent: 40tude_Dialog/2.0.15.1 X-Notice: Filtered by postfilter v. 0.8.2 Xref: news.eternal-september.org comp.lang.ada:23927 Date: 2014-12-10T09:43:20+01:00 List-Id: On Tue, 09 Dec 2014 22:15:16 -0700, Shark8 wrote: > I'm running AWS on windows, built with Pascal's now-disappeared* .bat > file and [IIRC] with SSL support. I'm getting the following when I try > feeding an https protocol URL to the AWS.Client.Get subprogram: > > raised PROGRAM_ERROR : aws-client.adb:317 finalize/adjust raised exception > > The indicated line seems to be a declare-block, literally the word > 'declare'... which makes the PROGRAM_ERROR itself puzzling to me. It likely is an induced error, the original one is swallowed. You should use GNAT exception tracing in order to track the original problem down, which could be an induced one as well. Consider this scenario, you get an exception somewhere. That winds the stack up. This causes some controlled object to finalize in some block. If the exception is bad, the finalization fails [*] and a second exception is propagated. Upon leaving Finalize that exception is converted to a third exception, the Program_Error one. This could repeat itself many times, so what you get could have nothing to do with the original issue at all. --------------------------- * It is not obvious but in fact quite difficult to design Finalize in a way to make it survive any unanticipated exception winding the stack up. The reason for this is that it is barely testable and that complex controlled objects are not well insulated from each other and the environment. So interactions that happen upon normal object finalization substantially differ from ones upon an exception propagation, especially if that comes from a failed initialization or construction. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de