[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
20051208: mysterious LDM death on 20051207 at ~5Z (cont.)
- Subject: 20051208: mysterious LDM death on 20051207 at ~5Z (cont.)
- Date: Thu, 08 Dec 2005 15:13:22 -0700
>From: address@hidden (Pete Pokrandt)
>Organization: UW/AOS
Hi Pete,
re: Apparently, this is the first such occurrence in eleven years.
>That's pretty wild! So maybe we're safe for another eleven? :)
Hopefully ;-)
re: don't build LDM with assertions turned on
>I didn't do anything special, just the normal
>./configure ; make install ; make install_setuids
Hmm...
>How exactly do I turn off assertions? Isn't that part of the optimization
>level when you compile?
According to Steve, they should be turned off by default.
>A typical compile line from the build looks like:
>c89 -c -O -D_FILE_OFFSET_BITS=64 -DNDEBUG clnt_generic.c
Assertions should be turned off by the -DNDEBUG flag. Here is a
snippit from the DESCRIPTION portion of the assert(3) man page
on my FC4 64-bit machine:
DESCRIPTION
If the macro NDEBUG was defined at the moment <assert.h> was last
included, the macro assert() generates no code, and hence does nothing
at all. Otherwise, the macro assert() prints an error message to stan-
dard output and terminates the program by calling abort() if expression
is false (i.e., compares equal to zero).
The purpose of this macro is to help the programmer find bugs in his
program. The message "assertion failed in file foo.c, function
do_bar(), line 1287" is of no help at all to a user.
If -DNDEBUG is not included on the compile lines, assertions will
be "active". This is typically used for debugging, so it is not good
in "operational" use.
Cheers,
Tom
--
NOTE: All email exchanges with Unidata User Support are recorded in the
Unidata inquiry tracking system and then made publicly available
through the web. If you do not want to have your interactions made
available in this way, you must let us know in each email you send to us.