[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

20051208: mysterious LDM death on 20051207 at ~5Z (cont.)



>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.


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.