Topic: Destruction of objects with static storage duration
Author: James Kanze <james.kanze@gmail.com>
Date: Thu, 30 Sep 2010 01:53:33 CST Raw View
On Sep 24, 10:06 pm, David Krauss <pot...@gmail.com> wrote:
> On Sep 20, 12:42 pm, Martin Vejn r <ava...@ratatanek.cz> wrote:
> > I have a question regarding the destruction objects with static storage
> > duration.
> > Consider the following program:
> > struct s { ~s(); };
> > struct t { ~t() { static s a; } };
> > int main()
> > {
> > static s b;
> > static t c;
> > }
> > By the time the execution leaves main, only the static
> > objects `b` and `c` are constructed.
> > C++03, 3.6.3/1 states: "Destructors for *initialized* objects of static
> > storage duration [...] are called as a result of returning from `main` and
> > as a result of calling `exit`" (emphasis mine).
> The very next sentence begins, "These objects are destroyed in the
> reverse order of the completion of their constructor..."
> So, it might be a test of your implementation, whether it is able to
> make a new record of static construction during static destruction,
> but it's just another application of the usual rule. Destruction
> always occurs in the reverse order of construction.
Except when it doesn't. Destruction of static variables is
in the reverse order of construction, as is the destruction
of subobjects within a larger object and the destruction of
local variables. Temporaries which are destructed at the
end of the full expression are destructed in reverse order
as well, but not all temporaries are destructed at the end
of the full expression. Other cases where reverse order is
not respected are return values and exceptions (with respect
to any temporaries used in the expression which creates
them). And of course, there's no ordering between
temporaries, static variables and local variables.
--
James Kanze
--
[ comp.std.c++ is moderated. To submit articles, try just posting with ]
[ your news-reader. If that fails, use mailto:std-c++@netlab.cs.rpi.edu]
[ --- Please see the FAQ before posting. --- ]
[ FAQ: http://www.comeaucomputing.com/csc/faq.html ]
Author: David Krauss <potswa@gmail.com>
Date: Fri, 1 Oct 2010 13:03:06 CST Raw View
On Sep 30, 2:53 am, James Kanze <james.ka...@gmail.com> wrote:
> Except when it doesn't. Destruction of static variables is
> in the reverse order of construction, as is the destruction
> of subobjects within a larger object and the destruction of
> local variables. Temporaries which are destructed at the
> end of the full expression are destructed in reverse order
> as well, but not all temporaries are destructed at the end
> of the full expression. Other cases where reverse order is
> not respected are return values and exceptions (with respect
> to any temporaries used in the expression which creates
> them).
Those are all instances of lifetime extension, described in 12.2/4-5
(with references sprinked, e.g. in the return statement clause). It's
fundamentally impossible to preserve temporaries across a function
return, and then destroy them. (Eh, fine, you could use reference-
counting or garbage collection, or maybe even a specialized list data
structure, but that's not C++.) Likewise for exceptions. As for
binding a temporary to a reference, that's something we do on purpose.
Although it can be tricky, at least you know when you've declared a
const&.
> And of course, there's no ordering between
> temporaries, static variables and local variables.
Then the program would be a kind of palindrome.
--
[ comp.std.c++ is moderated. To submit articles, try just posting with ]
[ your news-reader. If that fails, use
mailto:std-c++@netlab.cs.rpi.edu<std-c%2B%2B@netlab.cs.rpi.edu>
]
[ --- Please see the FAQ before posting. --- ]
[ FAQ: http://www.comeaucomputing.com/csc/faq.html ]
Author: =?ISO-8859-1?Q?Martin_Vejn=E1r?= <avakar@ratatanek.cz>
Date: Mon, 20 Sep 2010 11:42:24 CST Raw View
Hi,
I have a question regarding the destruction objects with static storage
duration.
Consider the following program:
struct s { ~s(); };
struct t { ~t() { static s a; } };
int main()
{
static s b;
static t c;
}
By the time the execution leaves main, only the static objects `b` and `c`
are constructed.
C++03, 3.6.3/1 states: "Destructors for *initialized* objects of static
storage duration [...] are called as a result of returning from `main` and
as a result of calling `exit`" (emphasis mine). The C++0X FCD states
something similar. Therefore, the objects `c` and `b` are destroyed in that
order. However, during the destruction of `c`, the object `a` gets
constructed.
Since the object `a` wasn't initialized when `main` was left, will the
program exit without destroying `a`?
Best regards,
--
Martin
[ comp.std.c++ is moderated. To submit articles, try just posting with ]
[ your news-reader. If that fails, use
mailto:std-c++@netlab.cs.rpi.edu<std-c%2B%2B@netlab.cs.rpi.edu>
]
[ --- Please see the FAQ before posting. --- ]
[ FAQ: http://www.comeaucomputing.com/csc/faq.html ]
Author: Krzysztof =?UTF-8?B?xbtlbGVjaG93c2tp?= <giecrilj@stegny.2a.pl>
Date: Mon, 20 Sep 2010 21:46:07 CST Raw View
Martin Vejn r wrote:
>
> Consider the following program:
>
> struct s { ~s(); };
> struct t { ~t() { static s a; } };
>
> int main()
> {
> static s b;
> static t c;
> }
>
> By the time the execution leaves main, only the static objects `b` and `c`
> are constructed.
>
> C++03, 3.6.3/1 states: "Destructors for *initialized* objects of static
> storage duration [...] are called as a result of returning from `main` and
> as a result of calling `exit`" (emphasis mine).
>
> Since the object `a` wasn't initialized when `main` was left, will the
> program exit without destroying `a`?
>
The statement you quoted does not say that it covers only objects
initialised _before_ the return statement was executed.
IMHO,
Chris
--
[ comp.std.c++ is moderated. To submit articles, try just posting with ]
[ your news-reader. If that fails, use mailto:std-c++@netlab.cs.rpi.edu]
[ --- Please see the FAQ before posting. --- ]
[ FAQ: http://www.comeaucomputing.com/csc/faq.html ]
Author: Ashutosh <ashutosh.sgsits@gmail.com>
Date: Wed, 22 Sep 2010 14:38:26 CST Raw View
On Sep 20, 5:42 pm, Martin Vejn r <ava...@ratatanek.cz> wrote:
> Hi,
>
> I have a question regarding the destruction objects with static storage
> duration.
>
> Consider the following program:
>
> struct s { ~s(); };
> struct t { ~t() { static s a; } };
>
> int main()
> {
> static s b;
> static t c;
> }
>
> By the time the execution leaves main, only the static objects `b` and `c`
> are constructed.
>
> C++03, 3.6.3/1 states: "Destructors for *initialized* objects of static
> storage duration [...] are called as a result of returning from `main` and
> as a result of calling `exit`" (emphasis mine). The C++0X FCD states
> something similar. Therefore, the objects `c` and `b` are destroyed in that
> order. However, during the destruction of `c`, the object `a` gets
> constructed.
>
> Since the object `a` wasn't initialized when `main` was left, will the
> program exit without destroying `a`?
>
> Best regards,
> --
> Martin
>
> [ comp.std.c++ is moderated. To submit articles, try just posting with ]
> [ your news-reader. If that fails, use
> mailto:std-...@netlab.cs.rpi.edu<std-c%2B...@netlab.cs.rpi.edu>
> ]
> [ --- Please see the FAQ before posting. --- ]
> [ FAQ:http://www.comeaucomputing.com/csc/faq.html ]
Yes, its true all the object should destruct weather they are static
or constructed after main function's return statement (object a).
The quated statement does not says that it does not destroy object
created after return statement.
-Ashutosh
--
[ comp.std.c++ is moderated. To submit articles, try just posting with ]
[ your news-reader. If that fails, use mailto:std-c++@netlab.cs.rpi.edu]
[ --- Please see the FAQ before posting. --- ]
[ FAQ: http://www.comeaucomputing.com/csc/faq.html ]
Author: David Krauss <potswa@gmail.com>
Date: Fri, 24 Sep 2010 15:06:06 CST Raw View
This is a multi-part message in MIME format...
------------=_1285313966-67554-18
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline
On Sep 20, 12:42=A0pm, Martin Vejn=E1r <ava...@ratatanek.cz> wrote:
> Hi,
>
> I have a question regarding the destruction objects with static storage
> duration.
>
> Consider the following program:
>
> =A0 =A0struct s { ~s(); };
> =A0 =A0struct t { ~t() { static s a; } };
>
> =A0 =A0int main()
> =A0 =A0{
> =A0 =A0 =A0 =A0static s b;
> =A0 =A0 =A0 =A0static t c;
> =A0 =A0}
>
> By the time the execution leaves main, only the static objects `b` and `c`
> are constructed.
>
> C++03, 3.6.3/1 states: "Destructors for *initialized* objects of static
> storage duration [...] are called as a result of returning from `main` and
> as a result of calling `exit`" (emphasis mine).
The very next sentence begins, "These objects are destroyed in the
reverse order of the completion of their constructor..."
So, it might be a test of your implementation, whether it is able to
make a new record of static construction during static destruction,
but it's just another application of the usual rule. Destruction
always occurs in the reverse order of construction.
------------=_1285313966-67554-18
Content-Type: text/plain; name="LongHeadersA.txt"
Content-Disposition: inline; filename="LongHeadersA.txt"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Mailer: MIME-tools 5.427 (Entity 5.427)
Authentication-Results: newman.cs.rpi.edu; DomainKeys=permerror (news; in=
valid (public key: DNS query timeout for gamma._domainkey.gmail.com at /etc=
/mail/mimedefang-filter line 75 main::__ANON__('DNS query timeout for gamma=
._domainkey.gmail.com\x{a}') called at /usr/local/lib/perl5/site_perl/5.10.=
0/Mail/DKIM/DNS.pm line 41 Mail::DKIM::DNS::__ANON__('ALRM') called at /sof=
tware/perl-5.10.0-0/pkg/lib/perl5/5.10.0/amd64-freebsd/IO/Select.pm line 10=
5 eval {...} called at /software/perl-5.10.0-0/pkg/lib/perl5/5.10.0/amd64-f=
reebsd/IO/Select.pm line 105 IO::Select::can_read('IO::Select=ARRAY(0x806=
ddf558)', 5) called at /usr/local/lib/perl5/site_perl/5.10.0/amd64-freebsd/=
Net/DNS/Resolver/Base.pm line 840 Net::DNS::Resolver::Base::send_udp('Net::=
DNS::Resolver=HASH(0x807477e58)', 'Net::DNS::Packet=HASH(0x80747c480)',=
'e\x{a9}\x{1}\x{0}\x{0}\x{1}\x{0}\x{0}\x{0}\x{0}\x{0}\x{0}\x{5}gamma\x{a}_=
domainkey\x{5}gmail\x{3}com\x{0}\x{0}\x{10}\x{0}\x{1}') called at /usr/loca=
l/lib/perl5/site_perl/5.10.0/amd64-freebsd/Net/DNS/Resolver/Base.pm line 48=
2 Net::DNS::Resolver::Base::send('Net::DNS::Resolver=HASH(0x807477e58)', =
'gamma._domainkey.gmail.com', 'TXT') called at /usr/local/lib/perl5/site_pe=
rl/5.10.0/amd64-freebsd/Net/DNS/Resolver/Base.pm line 462 Net::DNS::Resolve=
r::Base::query('Net::DNS::Resolver=HASH(0x807477e58)',
'gamma._domainkey.=gmail.com', 'TXT') called at
/usr/local/lib/perl5/site_perl/5.10.0/Mail/DKI=
M/DNS.pm line 49 eval {...} called at /usr/local/lib/perl5/site_perl/5.10.0=
/Mail/DKIM/DNS.pm line 48 eval {...} called at /usr/local/lib/perl5/site_pe=
rl/5.10.0/Mail/DKIM/DNS.pm line 39 Mail::DKIM::DNS::query('gamma._domainkey=
.gmail.com', 'TXT') called at /usr/local/lib/perl5/site_perl/5.10.0/Mail/DK=
IM/PublicKey.pm line 76 Mail::DKIM::PublicKey::fetch('Mail::DKIM::PublicKey=
', 'Protocol', 'dns/txt', 'Selector', 'gamma', 'Domain', 'gmail.com') calle=
d at /usr/local/lib/perl5/site_perl/5.10.0/Mail/DKIM/Signature.pm line 504 =
Mail::DKIM::Signature::fetch_public_key('Mail::DKIM::Signature=HASH(0x806=
de1298)') called at
/usr/local/lib/perl5/site_perl/5.10.0/Mail/DKIM/Signatu=re.pm line 544
eval {...} called at /usr/local/lib/perl5/site_perl/5.10.0/M=
ail/DKIM/Signature.pm line 544 Mail::DKIM::Signature::get_public_key('Mail:=
:DKIM::Signature=HASH(0x806de1298)') called at /usr/local/lib/perl5/site_=
perl/5.10.0/Mail/DKIM/Verifier.pm line 415 eval {...} called at /usr/local/=
lib/perl5/site_perl/5.10.0/Mail/DKIM/Verifier.pm line 414 Mail::DKIM::Verif=
ier::finish_header('Mail::DKIM::Verifier=HASH(0x80745d300)') called at /u=
sr/local/lib/perl5/site_perl/5.10.0/Mail/DKIM/MessageParser.pm line 59 Mail=
::DKIM::MessageParser::PRINT('Mail::DKIM::Verifier=HASH(0x80745d300)', '\=
x{d}\x{a}') called at /etc/mail/mimedefang-filter line 8115 eval {...} call=
ed at /etc/mail/mimedefang-filter line 8115 main::verify_dk_dkim_signature_=
init() called at /etc/mail/mimedefang-filter line 8124 main::verify_dk_dkim=
_signature_do('dk') called at /etc/mail/mimedefang-filter line 8158 main::v=
erify_dk_dkim_signature('dk', 'DomainKey', 'MIME::Entity=HASH(0x806de2a68=
)', 'ARRAY(0x803e38930)', 1) called at /etc/mail/mimedefang-filter line 819=
4 main::verify_dk_signature('MIME::Entity=HASH(0x806de2a68)', 'ARRAY(0x80=
3e38930)') called at /etc/mail/mimedefang-filter line 11212 main::filter_en=
d('MIME::Entity=HASH(0x806de2a68)') called at /usr/local/bin/mimedefang.p=
l line 5984 main::do_scan('/var/spool/MIMEDefang/mdefang-o8O7ajnt072336') c=
alled at /usr/local/bin/mimedefang.pl line 5553 main::do_main_loop called a=
t /usr/local/bin/mimedefang.pl line 7692 at /etc/mail/mimedefang-filter lin=
e 75 main::__ANON__('DNS query timeout for gamma._domainkey.gmail.com\x{a} =
at /etc/mai...') called at /software/perl-5.10.0-0/pkg/lib/perl5/5.10.0/amd=
64-freebsd/IO/Select.pm line 105 IO::Select::can_read('IO::Select=ARRAY(0=
x806ddf558)', 5) called at /usr/local/lib/perl5/site_perl/5.10.0/amd64-free=
bsd/Net/DNS/Resolver/Base.pm line 840 Net::DNS::Resolver::Base::send_udp('N=
et::DNS::Resolver=HASH(0x807477e58)', 'Net::DNS::Packet=HASH(0x80747c48=
0)', 'e\x{a9}\x{1}\x{0}\x{0}\x{1}\x{0}\x{0}\x{0}\x{0}\x{0}\x{0}\x{5}gamma\x=
{a}_domainkey\x{5}gmail\x{3}com\x{0}\x{0}\x{10}\x{0}\x{1}') called at /usr/=
local/lib/perl5/site_perl/5.10.0/amd64-freebsd/Net/DNS/Resolver/Base.pm lin=
e 482 Net::DNS::Resolver::Base::send('Net::DNS::Resolver=HASH(0x807477e58=
)', 'gamma._domainkey.gmail.com', 'TXT') called at /usr/local/lib/perl5/sit=
e_perl/5.10.0/amd64-freebsd/Net/DNS/Resolver/Base.pm line 462 Net::DNS::Res=
olver::Base::query('Net::DNS::Resolver=HASH(0x807477e58)',
'gamma._domain=key.gmail.com', 'TXT') called at
/usr/local/lib/perl5/site_perl/5.10.0/Mail=
/DKIM/DNS.pm line 49 eval {...} called at /usr/local/lib/perl5/site_perl/5.=
10.0/Mail/DKIM/DNS.pm line 48 eval {...} called at /usr/local/lib/perl5/sit=
e_perl/5.10.0/Mail/DKIM/DNS.pm line 39
Mail::DKIM::DNS::query('gamma._domai=nkey.gmail.com', 'TXT') called at
/usr/local/lib/perl5/site_perl/5.10.0/Mai=
l/DKIM/PublicKey.pm line 76 Mail::DKIM::PublicKey::fetch('Mail::DKIM::Publi=
cKey', 'Protocol', 'dns/txt', 'Selector', 'gamma', 'Domain', 'gmail.com') c=
alled at /usr/local/lib/perl5/site_perl/5.10.0/Mail/DKIM/Signature.pm line =
504 Mail::DKIM::Signature::fetch_public_key('Mail::DKIM::Signature=HASH(0=
x806de1298)') called at
/usr/local/lib/perl5/site_perl/5.10.0/Mail/DKIM/Sig=nature.pm line 544
eval {...} called at /usr/local/lib/perl5/site_perl/5.10=
.0/Mail/DKIM/Signature.pm line 544 Mail::DKIM::Signature::get_public_key('M=
ail::DKIM::Signature=HASH(0x806de1298)') called at /usr/local/lib/perl5/s=
ite_perl/5.10.0/Mail/DKIM/Verifier.pm line 415 eval {...} called at /usr/lo=
cal/lib/perl5/site_perl/5.10.0/Mail/DKIM/Verifier.pm line 414 Mail::DKIM::V=
erifier::finish_header('Mail::DKIM::Verifier=HASH(0x80745d300)') called a=
t /usr/local/lib/perl5/site_perl/5.10.0/Mail/DKIM/MessageParser.pm line 59 =
Mail::DKIM::MessageParser::PRINT('Mail::DKIM::Verifier=HASH(0x80745d300)'=
, '\x{d}\x{a}') called at /etc/mail/mimedefang-filter line 8115 eval {...} =
called at /etc/mail/mimedefang-filter line 8115 main::verify_dk_dkim_signat=
ure_init() called at /etc/mail/mimedefang-filter line 8124 main::verify_dk_=
dkim_signature_do('dk') called at /etc/mail/mimedefang-filter line 8158 mai=
n::verify_dk_dkim_signature('dk', 'DomainKey', 'MIME::Entity=HASH(0x806de=
2a68)', 'ARRAY(0x803e38930)', 1) called at /etc/mail/mimedefang-filter line=
8194 main::verify_dk_signature('MIME::Entity=HASH(0x806de2a68)', 'ARRAY(=
0x803e38930)') called at /etc/mail/mimedefang-filter line 11212 main::filte=
r_end('MIME::Entity=HASH(0x806de2a68)') called at
/usr/local/bin/mimedefa=ng.pl line 5984
main::do_scan('/var/spool/MIMEDefang/mdefang-o8O7ajnt072336=
') called at /usr/local/bin/mimedefang.pl line 5553 main::do_main_loop call=
ed at /usr/local/bin/mimedefang.pl line 7692 at /etc/mail/mimedefang-filter=
line 75 main::__ANON__('DNS query timeout for gamma._domainkey.gmail.com\x=
{a} at /etc/mai...') called at /usr/local/lib/perl5/site_perl/5.10.0/Mail/D=
KIM/DNS.pm line 53 eval {...} called at /usr/local/lib/perl5/site_perl/5.10=
.0/Mail/DKIM/DNS.pm line 39 Mail::DKIM::DNS::query('gamma._domainkey.gmail.=
com', 'TXT') called at /usr/local/lib/perl5/site_perl/5.10.0/Mail/DKIM/Publ=
icKey.pm line 76 Mail::DKIM::PublicKey::fetch('Mail::DKIM::PublicKey', 'Pro=
tocol', 'dns/txt', 'Selector', 'gamma', 'Domain', 'gmail.com') called at /u=
sr/local/lib/perl5/site_perl/5.10.0/Mail/DKIM/Signature.pm line 504 Mail::D=
KIM::Signature::fetch_public_key('Mail::DKIM::Signature=HASH(0x806de1298)=
') called at /usr/local/lib/perl5/site_perl/5.10.0/Mail/DKIM/Signature.pm l=
ine 544 eval {...} called at /usr/local/lib/perl5/site_perl/5.10.0/Mail/DKI=
M/Signature.pm line 544 Mail::DKIM::Signature::get_public_key('Mail::DKIM::=
Signature=HASH(0x806de1298)') called at /usr/local/lib/perl5/site_perl/5.=
10.0/Mail/DKIM/Verifier.pm line 415 eval {...} called at /usr/local/lib/per=
l5/site_perl/5.10.0/Mail/DKIM/Verifier.pm line 414 Mail::DKIM::Verifier::fi=
nish_header('Mail::DKIM::Verifier=HASH(0x80745d300)') called at /usr/loca=
l/lib/perl5/site_perl/5.10.0/Mail/DKIM/MessageParser.pm line 59 Mail::DKIM:=
:MessageParser::PRINT('Mail::DKIM::Verifier=HASH(0x80745d300)', '\x{d}\x{=
a}') called at /etc/mail/mimedefang-filter line 8115 eval {...} called at /=
etc/mail/mimedefang-filter line 8115 main::verify_dk_dkim_signature_init() =
called at /etc/mail/mimedefang-filter line 8124 main::verify_dk_dkim_signat=
ure_do('dk') called at /etc/mail/mimedefang-filter line 8158 main::verify_d=
k_dkim_signature('dk', 'DomainKey', 'MIME::Entity=HASH(0x806de2a68)', 'AR=
RAY(0x803e38930)', 1) called at /etc/mail/mimedefang-filter line 8194 main:=
:verify_dk_signature('MIME::Entity=HASH(0x806de2a68)', 'ARRAY(0x803e38930=
)') called at /etc/mail/mimedefang-filter line 11212 main::filter_end('MIME=
::Entity=HASH(0x806de2a68)') called at /usr/local/bin/mimedefang.pl line =
5984 main::do_scan('/var/spool/MIMEDefang/mdefang-o8O7ajnt072336') called a=
t /usr/local/bin/mimedefang.pl line 5553 main::do_main_loop called at /usr/=
local/bin/mimedefang.pl line 7692 at /etc/mail/mimedefang-filter line 75 ma=
in::__ANON__('DNS query timeout for gamma._domainkey.gmail.com\x{a} at /etc=
/mai...') called at /usr/local/lib/perl5/site_perl/5.10.0/Mail/DKIM/DNS.pm =
line 57 Mail::DKIM::DNS::query('gamma._domainkey.gmail.com', 'TXT') called =
at /usr/local/lib/perl5/site_perl/5.10.0/Mail/DKIM/PublicKey.pm line 76 Mai=
l::DKIM::PublicKey::fetch('Mail::DKIM::PublicKey', 'Protocol', 'dns/txt', '=
Selector', 'gamma', 'Domain', 'gmail.com') called at /usr/local/lib/perl5/s=
ite_perl/5.10.0/Mail/DKIM/Signature.pm line 504 Mail::DKIM::Signature::fetc=
h_public_key('Mail::DKIM::Signature=HASH(0x806de1298)') called at /usr/lo=
cal/lib/perl5/site_perl/5.10.0/Mail/DKIM/Signature.pm line 544 eval {...} c=
alled at /usr/local/lib/perl5/site_perl/5.10.0/Mail/DKIM/Signature.pm line =
544 Mail::DKIM::Signature::get_public_key('Mail::DKIM::Signature=HASH(0x8=
06de1298)') called at
/usr/local/lib/perl5/site_perl/5.10.0/Mail/DKIM/Verif=ier.pm line 415
eval {...} called at /usr/local/lib/perl5/site_perl/5.10.0/=
Mail/DKIM/Verifier.pm line 414 Mail::DKIM::Verifier::finish_header('Mail::D=
KIM::Verifier=HASH(0x80745d300)') called at /usr/local/lib/perl5/site_per=
l/5.10.0/Mail/DKIM/MessageParser.pm line 59 Mail::DKIM::MessageParser::PRIN=
T('Mail::DKIM::Verifier=HASH(0x80745d300)', '\x{d}\x{a}') called at /etc/=
mail/mimedefang-filter line 8115 eval {...} called at /etc/mail/mimedefang-=
filter line 8115 main::verify_dk_dkim_signature_init() called at /etc/mail/=
mimedefang-filter line 8124 main::verify_dk_dkim_signature_do('dk') called =
at /etc/mail/mimedefang-filter line 8158 main::verify_dk_dkim_signature('dk=
', 'DomainKey', 'MIME::Entity=HASH(0x806de2a68)', 'ARRAY(0x803e38930)', 1=
) called at /etc/mail/mimedefang-filter line 8194 main::verify_dk_signature=
('MIME::Entity=HASH(0x806de2a68)', 'ARRAY(0x803e38930)') called at /etc/m=
ail/mimedefang-filter line 11212 main::filter_end('MIME::Entity=HASH(0x80=
6de2a68)') called at /usr/local/bin/mimedefang.pl line 5984 main::do_scan('=
/var/spool/MIMEDefang/mdefang-o8O7ajnt072336') called at
/usr/local/bin/mim=edefang.pl line 5553 main::do_main_loop called at
/usr/local/bin/mimedefang=
.pl line 7692 at /etc/mail/mimedefang-filter line 75 main::__ANON__('DNS qu=
ery timeout for gamma._domainkey.gmail.com\x{a} at /etc/mai...') called at =
/usr/local/lib/perl5/site_perl/5.10.0/Mail/DKIM/Signature.pm line 554 Mail:=
:DKIM::Signature::get_public_key('Mail::DKIM::Signature=HASH(0x806de1298)=
') called at /usr/local/lib/perl5/site_perl/5.10.0/Mail/DKIM/Verifier.pm li=
ne 415 eval {...} called at /usr/local/lib/perl5/site_perl/5.10.0/Mail/DKIM=
/Verifier.pm line 414 Mail::DKIM::Verifier::finish_header('Mail::DKIM::Veri=
fier=HASH(0x80745d300)') called at /usr/local/lib/perl5/site_perl/5.10.0/=
Mail/DKIM/MessageParser.pm line 59 Mail::DKIM::MessageParser::PRINT('Mail::=
DKIM::Verifier=HASH(0x80745d300)', '\x{d}\x{a}') called at /etc/mail/mime=
defang-filter line 8115 eval {...} called at /etc/mail/mimedefang-filter li=
ne 8115 main::verify_dk_dkim_signature_init() called at /etc/mail/mimedefan=
g-filter line 8124 main::verify_dk_dkim_signature_do('dk') called at /etc/m=
ail/mimedefang-filter line 8158 main::verify_dk_dkim_signature('dk', 'Domai=
nKey', 'MIME::Entity=HASH(0x806de2a68)', 'ARRAY(0x803e38930)', 1) called =
at /etc/mail/mimedefang-filter line 8194 main::verify_dk_signature('MIME::E=
ntity=HASH(0x806de2a68)', 'ARRAY(0x803e38930)') called at /etc/mail/mimed=
efang-filter line 11212 main::filter_end('MIME::Entity=HASH(0x806de2a68)'=
) called at /usr/local/bin/mimedefang.pl line 5984 main::do_scan('/var/spoo=
l/MIMEDefang/mdefang-o8O7ajnt072336') called at /usr/local/bin/mimedefang.p=
l line 5553 main::do_main_loop called at /usr/local/bin/mimedefang.pl line =
7692)) header.sender=potswa@gmail.com; DKIM=permerror (news; invalid (p=
ublic key: DNS query timeout for gamma._domainkey.gmail.com at /etc/mail/mi=
medefang-filter line 75 main::__ANON__('DNS query timeout for
gamma._domain=key.gmail.com\x{a}') called at
/usr/local/lib/perl5/site_perl/5.10.0/Mail/D=
KIM/DNS.pm line 41 Mail::DKIM::DNS::__ANON__('ALRM') called at /software/pe=
rl-5.10.0-0/pkg/lib/perl5/5.10.0/amd64-freebsd/IO/Select.pm line 105 eval {=
...} called at /software/perl-5.10.0-0/pkg/lib/perl5/5.10.0/amd64-freebsd/I=
O/Select.pm line 105 IO::Select::can_read('IO::Select=ARRAY(0x806ddf558)'=
, 5) called at /usr/local/lib/perl5/site_perl/5.10.0/amd64-freebsd/Net/DNS/=
Resolver/Base.pm line 840 Net::DNS::Resolver::Base::send_udp('Net::DNS::Res=
olver=HASH(0x807477e58)', 'Net::DNS::Packet=HASH(0x80747c480)', 'e\x{a9=
}\x{1}\x{0}\x{0}\x{1}\x{0}\x{0}\x{0}\x{0}\x{0}\x{0}\x{5}gamma\x{a}_domainke=
y\x{5}gmail\x{3}com\x{0}\x{0}\x{10}\x{0}\x{1}') called at /usr/local/lib/pe=
rl5/site_perl/5.10.0/amd64-freebsd/Net/DNS/Resolver/Base.pm line 482 Net::D=
NS::Resolver::Base::send('Net::DNS::Resolver=HASH(0x807477e58)',
'gamma._=domainkey.gmail.com', 'TXT') called at
/usr/local/lib/perl5/site_perl/5.10.=
0/amd64-freebsd/Net/DNS/Resolver/Base.pm line 462 Net::DNS::Resolver::Base:=
:query('Net::DNS::Resolver=HASH(0x807477e58)', 'gamma._domainkey.gmail.co=
m', 'TXT') called at /usr/local/lib/perl5/site_perl/5.10.0/Mail/DKIM/DNS.pm=
line 49 eval {...} called at /usr/local/lib/perl5/site_perl/5.10.0/Mail/DK=
IM/DNS.pm line 48 eval {...} called at /usr/local/lib/perl5/site_perl/5.10.=
0/Mail/DKIM/DNS.pm line 39 Mail::DKIM::DNS::query('gamma._domainkey.gmail.c=
om', 'TXT') called at /usr/local/lib/perl5/site_perl/5.10.0/Mail/DKIM/Publi=
cKey.pm line 76 Mail::DKIM::PublicKey::fetch('Mail::DKIM::PublicKey', 'Prot=
ocol', 'dns/txt', 'Selector', 'gamma', 'Domain', 'gmail.com') called at /us=
r/local/lib/perl5/site_perl/5.10.0/Mail/DKIM/Signature.pm line 504 Mail::DK=
IM::Signature::fetch_public_key('Mail::DKIM::Signature=HASH(0x806de1298)'=
) called at /usr/local/lib/perl5/site_perl/5.10.0/Mail/DKIM/Signature.pm li=
ne 544 eval {...} called at /usr/local/lib/perl5/site_perl/5.10.0/Mail/DKIM=
/Signature.pm line 544 Mail::DKIM::Signature::get_public_key('Mail::DKIM::S=
ignature=HASH(0x806de1298)') called at /usr/local/lib/perl5/site_perl/5.1=
0.0/Mail/DKIM/Verifier.pm line 415 eval {...} called at /usr/local/lib/perl=
5/site_perl/5.10.0/Mail/DKIM/Verifier.pm line 414 Mail::DKIM::Verifier::fin=
ish_header('Mail::DKIM::Verifier=HASH(0x80745d300)') called at /usr/local=
/lib/perl5/site_perl/5.10.0/Mail/DKIM/MessageParser.pm line 59 Mail::DKIM::=
MessageParser::PRINT('Mail::DKIM::Verifier=HASH(0x80745d300)', '\x{d}\x{a=
}') called at /etc/mail/mimedefang-filter line 8115 eval {...} called at /e=
tc/mail/mimedefang-filter line 8115 main::verify_dk_dkim_signature_init() c=
alled at /etc/mail/mimedefang-filter line 8124 main::verify_dk_dkim_signatu=
re_do('dk') called at /etc/mail/mimedefang-filter line 8158 main::verify_dk=
_dkim_signature('dk', 'DomainKey', 'MIME::Entity=HASH(0x806de2a68)', 'ARR=
AY(0x803e38930)', 1) called at /etc/mail/mimedefang-filter line 8194 main::=
verify_dk_signature('MIME::Entity=HASH(0x806de2a68)', 'ARRAY(0x803e38930)=
') called at /etc/mail/mimedefang-filter line 11212 main::filter_end('MIME:=
:Entity=HASH(0x806de2a68)') called at /usr/local/bin/mimedefang.pl line 5=
984 main::do_scan('/var/spool/MIMEDefang/mdefang-o8O7ajnt072336') called at=
/usr/local/bin/mimedefang.pl line 5553 main::do_main_loop called at /usr/l=
ocal/bin/mimedefang.pl line 7692 at /etc/mail/mimedefang-filter line 75 mai=
n::__ANON__('DNS query timeout for gamma._domainkey.gmail.com\x{a} at /etc/=
mai...') called at /software/perl-5.10.0-0/pkg/lib/perl5/5.10.0/amd64-freeb=
sd/IO/Select.pm line 105 IO::Select::can_read('IO::Select=ARRAY(0x806ddf5=
58)', 5) called at /usr/local/lib/perl5/site_perl/5.10.0/amd64-freebsd/Net/=
DNS/Resolver/Base.pm line 840 Net::DNS::Resolver::Base::send_udp('Net::DNS:=
:Resolver=HASH(0x807477e58)', 'Net::DNS::Packet=HASH(0x80747c480)', 'e\=
x{a9}\x{1}\x{0}\x{0}\x{1}\x{0}\x{0}\x{0}\x{0}\x{0}\x{0}\x{5}gamma\x{a}_doma=
inkey\x{5}gmail\x{3}com\x{0}\x{0}\x{10}\x{0}\x{1}') called at /usr/local/li=
b/perl5/site_perl/5.10.0/amd64-freebsd/Net/DNS/Resolver/Base.pm line 482 Ne=
t::DNS::Resolver::Base::send('Net::DNS::Resolver=HASH(0x807477e58)', 'gam=
ma._domainkey.gmail.com', 'TXT') called at /usr/local/lib/perl5/site_perl/5=
.10.0/amd64-freebsd/Net/DNS/Resolver/Base.pm line 462 Net::DNS::Resolver::B=
ase::query('Net::DNS::Resolver=HASH(0x807477e58)',
'gamma._domainkey.gmai=l.com', 'TXT') called at
/usr/local/lib/perl5/site_perl/5.10.0/Mail/DKIM/DN=
S.pm line 49 eval {...} called at /usr/local/lib/perl5/site_perl/5.10.0/Mai=
l/DKIM/DNS.pm line 48 eval {...} called at /usr/local/lib/perl5/site_perl/5=
.10.0/Mail/DKIM/DNS.pm line 39
Mail::DKIM::DNS::query('gamma._domainkey.gma=il.com', 'TXT') called at
/usr/local/lib/perl5/site_perl/5.10.0/Mail/DKIM/P=
ublicKey.pm line 76 Mail::DKIM::PublicKey::fetch('Mail::DKIM::PublicKey', '=
Protocol', 'dns/txt', 'Selector', 'gamma', 'Domain', 'gmail.com') called at=
/usr/local/lib/perl5/site_perl/5.10.0/Mail/DKIM/Signature.pm line 504 Mail=
::DKIM::Signature::fetch_public_key('Mail::DKIM::Signature=HASH(0x806de12=
98)') called at /usr/local/lib/perl5/site_perl/5.10.0/Mail/DKIM/Signature.p=
m line 544 eval {...} called at /usr/local/lib/perl5/site_perl/5.10.0/Mail/=
DKIM/Signature.pm line 544 Mail::DKIM::Signature::get_public_key('Mail::DKI=
M::Signature=HASH(0x806de1298)') called at /usr/local/lib/perl5/site_perl=
/5.10.0/Mail/DKIM/Verifier.pm line 415 eval {...} called at /usr/local/lib/=
perl5/site_perl/5.10.0/Mail/DKIM/Verifier.pm line 414 Mail::DKIM::Verifier:=
:finish_header('Mail::DKIM::Verifier=HASH(0x80745d300)') called at /usr/l=
ocal/lib/perl5/site_perl/5.10.0/Mail/DKIM/MessageParser.pm line 59 Mail::DK=
IM::MessageParser::PRINT('Mail::DKIM::Verifier=HASH(0x80745d300)', '\x{d}=
\x{a}') called at /etc/mail/mimedefang-filter line 8115 eval {...} called a=
t /etc/mail/mimedefang-filter line 8115 main::verify_dk_dkim_signature_init=
() called at /etc/mail/mimedefang-filter line 8124 main::verify_dk_dkim_sig=
nature_do('dk') called at /etc/mail/mimedefang-filter line 8158 main::verif=
y_dk_dkim_signature('dk', 'DomainKey', 'MIME::Entity=HASH(0x806de2a68)', =
'ARRAY(0x803e38930)', 1) called at /etc/mail/mimedefang-filter line 8194 ma=
in::verify_dk_signature('MIME::Entity=HASH(0x806de2a68)', 'ARRAY(0x803e38=
930)') called at /etc/mail/mimedefang-filter line 11212 main::filter_end('M=
IME::Entity=HASH(0x806de2a68)') called at /usr/local/bin/mimedefang.pl li=
ne 5984 main::do_scan('/var/spool/MIMEDefang/mdefang-o8O7ajnt072336') calle=
d at /usr/local/bin/mimedefang.pl line 5553 main::do_main_loop called at /u=
sr/local/bin/mimedefang.pl line 7692 at /etc/mail/mimedefang-filter line 75=
main::__ANON__('DNS query timeout for gamma._domainkey.gmail.com\x{a} at /=
etc/mai...') called at /usr/local/lib/perl5/site_perl/5.10.0/Mail/DKIM/DNS.=
pm line 53 eval {...} called at /usr/local/lib/perl5/site_perl/5.10.0/Mail/=
DKIM/DNS.pm line 39 Mail::DKIM::DNS::query('gamma._domainkey.gmail.com', 'T=
XT') called at /usr/local/lib/perl5/site_perl/5.10.0/Mail/DKIM/PublicKey.pm=
line 76 Mail::DKIM::PublicKey::fetch('Mail::DKIM::PublicKey', 'Protocol', =
'dns/txt', 'Selector', 'gamma', 'Domain', 'gmail.com') called at /usr/local=
/lib/perl5/site_perl/5.10.0/Mail/DKIM/Signature.pm line 504 Mail::DKIM::Sig=
nature::fetch_public_key('Mail::DKIM::Signature=HASH(0x806de1298)') calle=
d at /usr/local/lib/perl5/site_perl/5.10.0/Mail/DKIM/Signature.pm line 544 =
eval {...} called at
/usr/local/lib/perl5/site_perl/5.10.0/Mail/DKIM/Signat=ure.pm line 544
Mail::DKIM::Signature::get_public_key('Mail::DKIM::Signatur=
e=HASH(0x806de1298)') called at /usr/local/lib/perl5/site_perl/5.10.0/Mai=
l/DKIM/Verifier.pm line 415 eval {...} called at /usr/local/lib/perl5/site_=
perl/5.10.0/Mail/DKIM/Verifier.pm line 414 Mail::DKIM::Verifier::finish_hea=
der('Mail::DKIM::Verifier=HASH(0x80745d300)') called at /usr/local/lib/pe=
rl5/site_perl/5.10.0/Mail/DKIM/MessageParser.pm line 59 Mail::DKIM::Message=
Parser::PRINT('Mail::DKIM::Verifier=HASH(0x80745d300)', '\x{d}\x{a}') cal=
led at /etc/mail/mimedefang-filter line 8115 eval {...} called at /etc/mail=
/mimedefang-filter line 8115 main::verify_dk_dkim_signature_init() called a=
t /etc/mail/mimedefang-filter line 8124 main::verify_dk_dkim_signature_do('=
dk') called at /etc/mail/mimedefang-filter line 8158 main::verify_dk_dkim_s=
ignature('dk', 'DomainKey', 'MIME::Entity=HASH(0x806de2a68)', 'ARRAY(0x80=
3e38930)', 1) called at /etc/mail/mimedefang-filter line 8194 main::verify_=
dk_signature('MIME::Entity=HASH(0x806de2a68)', 'ARRAY(0x803e38930)') call=
ed at /etc/mail/mimedefang-filter line 11212 main::filter_end('MIME::Entity=
=HASH(0x806de2a68)') called at /usr/local/bin/mimedefang.pl line 5984 mai=
n::do_scan('/var/spool/MIMEDefang/mdefang-o8O7ajnt072336') called at /usr/l=
ocal/bin/mimedefang.pl line 5553 main::do_main_loop called at /usr/local/bi=
n/mimedefang.pl line 7692 at /etc/mail/mimedefang-filter line 75 main::__AN=
ON__('DNS query timeout for gamma._domainkey.gmail.com\x{a} at /etc/mai...'=
) called at /usr/local/lib/perl5/site_perl/5.10.0/Mail/DKIM/DNS.pm line 57 =
Mail::DKIM::DNS::query('gamma._domainkey.gmail.com', 'TXT') called at /usr/=
local/lib/perl5/site_perl/5.10.0/Mail/DKIM/PublicKey.pm line 76 Mail::DKIM:=
:PublicKey::fetch('Mail::DKIM::PublicKey', 'Protocol', 'dns/txt', 'Selector=
', 'gamma', 'Domain', 'gmail.com') called at /usr/local/lib/perl5/site_perl=
/5.10.0/Mail/DKIM/Signature.pm line 504 Mail::DKIM::Signature::fetch_public=
_key('Mail::DKIM::Signature=HASH(0x806de1298)') called at /usr/local/lib/=
perl5/site_perl/5.10.0/Mail/DKIM/Signature.pm line 544 eval {...} called at=
/usr/local/lib/perl5/site_perl/5.10.0/Mail/DKIM/Signature.pm line 544 Mail=
::DKIM::Signature::get_public_key('Mail::DKIM::Signature=HASH(0x806de1298=
)') called at /usr/local/lib/perl5/site_perl/5.10.0/Mail/DKIM/Verifier.pm l=
ine 415 eval {...} called at /usr/local/lib/perl5/site_perl/5.10.0/Mail/DKI=
M/Verifier.pm line 414 Mail::DKIM::Verifier::finish_header('Mail::DKIM::Ver=
ifier=HASH(0x80745d300)') called at /usr/local/lib/perl5/site_perl/5.10.0=
/Mail/DKIM/MessageParser.pm line 59 Mail::DKIM::MessageParser::PRINT('Mail:=
:DKIM::Verifier=HASH(0x80745d300)', '\x{d}\x{a}') called at /etc/mail/mim=
edefang-filter line 8115 eval {...} called at /etc/mail/mimedefang-filter l=
ine 8115 main::verify_dk_dkim_signature_init() called at /etc/mail/mimedefa=
ng-filter line 8124 main::verify_dk_dkim_signature_do('dk') called at /etc/=
mail/mimedefang-filter line 8158 main::verify_dk_dkim_signature('dk', 'Doma=
inKey', 'MIME::Entity=HASH(0x806de2a68)', 'ARRAY(0x803e38930)', 1) called=
at /etc/mail/mimedefang-filter line 8194 main::verify_dk_signature('MIME::=
Entity=HASH(0x806de2a68)', 'ARRAY(0x803e38930)') called at /etc/mail/mime=
defang-filter line 11212 main::filter_end('MIME::Entity=HASH(0x806de2a68)=
') called at /usr/local/bin/mimedefang.pl line 5984 main::do_scan('/var/spo=
ol/MIMEDefang/mdefang-o8O7ajnt072336') called at /usr/local/bin/mimedefang.=
pl line 5553 main::do_main_loop called at /usr/local/bin/mimedefang.pl line=
7692 at /etc/mail/mimedefang-filter line 75 main::__ANON__('DNS query time=
out for gamma._domainkey.gmail.com\x{a} at /etc/mai...') called at /usr/loc=
al/lib/perl5/site_perl/5.10.0/Mail/DKIM/Signature.pm line 554 Mail::DKIM::S=
ignature::get_public_key('Mail::DKIM::Signature=HASH(0x806de1298)') calle=
d at /usr/local/lib/perl5/site_perl/5.10.0/Mail/DKIM/Verifier.pm line 415 e=
val {...} called at
/usr/local/lib/perl5/site_perl/5.10.0/Mail/DKIM/Verifie=r.pm line 414
Mail::DKIM::Verifier::finish_header('Mail::DKIM::Verifier=H=
ASH(0x80745d300)') called at /usr/local/lib/perl5/site_perl/5.10.0/Mail/DKI=
M/MessageParser.pm line 59 Mail::DKIM::MessageParser::PRINT('Mail::DKIM::Ve=
rifier=HASH(0x80745d300)', '\x{d}\x{a}') called at /etc/mail/mimedefang-f=
ilter line 8115 eval {...} called at /etc/mail/mimedefang-filter line 8115 =
main::verify_dk_dkim_signature_init() called at /etc/mail/mimedefang-filter=
line 8124 main::verify_dk_dkim_signature_do('dk') called at /etc/mail/mime=
defang-filter line 8158 main::verify_dk_dkim_signature('dk', 'DomainKey', '=
MIME::Entity=HASH(0x806de2a68)', 'ARRAY(0x803e38930)', 1) called at /etc/=
mail/mimedefang-filter line 8194 main::verify_dk_signature('MIME::Entity==
HASH(0x806de2a68)', 'ARRAY(0x803e38930)') called at /etc/mail/mimedefang-fi=
lter line 11212 main::filter_end('MIME::Entity=HASH(0x806de2a68)') called=
at /usr/local/bin/mimedefang.pl line 5984 main::do_scan('/var/spool/MIMEDe=
fang/mdefang-o8O7ajnt072336') called at /usr/local/bin/mimedefang.pl line 5=
553 main::do_main_loop called at /usr/local/bin/mimedefang.pl line 7692)) h=
eader.from=potswa@gmail.com; SPF=softfail (news; mfrom; Mechanism '~all=
' matched) smtp.mail=news@google.com=
------------=_1285313966-67554-18--
--
[ comp.std.c++ is moderated. To submit articles, try just posting with ]
[ your news-reader. If that fails, use
mailto:std-c++@netlab.cs.rpi.edu <std-c%2B%2B@netlab.cs.rpi.edu>]
[ --- Please see the FAQ before posting. --- ]
[ FAQ: http://www.comeaucomputing.com/csc/faq.html ]