








                   Troubleshooting C News


                       Henry Spencer

                      Dept. of Zoology
                   University of Toronto





_I_m_p_o_r_t_a_n_t _F_i_r_s_t _S_t_e_p

     Read the documentation.

     _R_e_a_d _t_h_e _d_o_c_u_m_e_n_t_a_t_i_o_n!

     READ THE DOCUMENTATION!!!

     Reading documentation is a bit tedious,  and  it  seems
sort  of  peripheral when there's a problem crying out to be
solved, but news processing is relatively complex and effec-
tive  troubleshooting  requires  that  you understand what's
going on.  The investment of time is worthwhile.  In partic-
ular...

     If you are having trouble getting C News installed,  or
it seems to be malfunctioning, you should read ``Known Port-
ing Problems With  C  News''  (currently  _n_o_t_e_b_o_o_k/_p_r_o_b_l_e_m_s)
carefully.   Don't  assume that your problem is not the same
as one mentioned there just because you're  on  machine  ABC
and the one mentioned is on machine XYZ; some problems arise
from generic causes that can occur on many systems.

     If the software seems  to  be  installed  properly  and
appears  to  know  what it's doing, but isn't doing what you
want, careful reading of the manual pages is in  order.   We
recommend  particular  attention to _n_e_w_s(5), which documents
the format of most of  the  control  files  in  considerable
detail.

_G_e_n_e_r_a_l _A_p_p_r_o_a_c_h

     In general, your first priority should be to  establish
precisely  what is going wrong and where.  Read the documen-
tation on how data flows within C News and how it interfaces
to  the  rest  of  the  system, and track down exactly where
trouble is striking.  If the software is sort of working but
isn't  doing  things right, inspection of the _l_o_g and _e_r_r_l_o_g
files in NEWSCTL often reveals what it thinks it's doing.



                       14 Dec 1991





                           - 2 -


_F_r_e_q_u_e_n_t_l_y _R_e_p_o_r_t_e_d _P_r_o_b_l_e_m_s

     _I_t _a_l_l _s_e_e_m_s _t_o  _w_o_r_k,  _b_u_t  _i_t'_s  _v_e_r_y  _s_l_o_w  _a_n_d  _t_h_e
history.pag  _f_i_l_e  _i_s  _e_n_o_r_m_o_u_s, _m_a_n_y _m_e_g_a_b_y_t_e_s, _m_u_c_h _l_a_r_g_e_r
_t_h_a_n _t_h_e history _f_i_l_e.  _B_y _t_h_e _w_a_y, _t_h_i_s _i_s _o_n _a  _3_8_6.   See
``Known  Porting  Problems  With  C News'', specifically the
section titled ``386 Optimizer vs. dbz''.  (Note:  at a site
with   a  relatively  small  feed,  it  is  normal  for  the
_h_i_s_t_o_r_y._p_a_g file to be about half a megabyte for  the  first
ten  days,  until  _d_b_z  feels it has enough usage history to
safely shrink the file.)

     _I_t _w_o_r_k_s _f_i_n_e _b_u_t _t_h_e _a_r_t_i_c_l_e_s _I _p_o_s_t _d_o_n'_t _g_e_t _s_e_n_t _t_o
_m_y  _n_e_i_g_h_b_o_r_s.  This is probably a mistake in your _s_y_s file.
See _n_e_w_s(5) and the sample _s_y_s file in the  _c_o_n_f  directory.
Note  in  particular  that  an article is not sent to a site
unless _b_o_t_h its  newsgroup(s)  _a_n_d  its  distribution  match
those  specified in the _s_y_s line, and the _s_y_s-line distribu-
tion does _n_o_t default  to  ``all''.   The  single  commonest
change  needed  to  old  _s_y_s files is to put ``/all'' on the
ends of the newsgroup lists to specify transmission  of  all
distributions.

     _I_t _w_o_r_k_s _f_i_n_e _f_o_r _i_n_c_o_m_i_n_g _n_e_w_s, _b_u_t _w_h_e_n_e_v_e_r _I _t_r_y  _t_o
_p_o_s_t  _a_n _a_r_t_i_c_l_e _m_y_s_e_l_f _I _g_e_t _a _c_o_m_p_l_a_i_n_t _a_b_o_u_t ``_r_e_n_o_u_n_c_i_n_g
_s_e_t_u_i_d''.  There are two places in C News  where  the  path-
names  of  things like the control-file directory are known.
One     is     the      ``config''      file,      typically
/_u_s_r/_l_i_b/_n_e_w_s/_b_i_n/_c_o_n_f_i_g.   The  other is compiled into some
of the programs.  You _c_a_n_n_o_t change one without also  chang-
ing  the  other; this means that you basically cannot change
either without rebuilding the  software.   The  ``renouncing
setuid''  message  means  that the two are inconsistent.  Do
not try to edit  the  config  file  without  rebuilding  the
software; that doesn't work.

     _I'_m _s_e_e_i_n_g _a_r_t_i_c_l_e_s _f_i_l_e_d _i_n _s_u_r_p_r_i_s_i_n_g  _p_l_a_c_e_s  _a_n_d/_o_r
_p_r_o_p_a_g_a_t_e_d   (_n_o_t   _p_r_o_p_a_g_a_t_e_d)  _t_o  _s_i_t_e_s  _t_h_a_t  _I  _t_h_o_u_g_h_t
_s_h_o_u_l_d_n'_t (_s_h_o_u_l_d) _g_e_t _t_h_e_m.   The  interaction  of  various
policies  in  this area is _n_o_t simple.  It is almost certain
that the software is doing what you told it  to  do.   Close
and  careful  reading of the _n_e_w_s(5) and _r_e_l_a_y_n_e_w_s(8) manual
pages will probably clear up the difference between what you
told it to do and what you _t_h_o_u_g_h_t you told it to do.

     _I _h_a_d _t_r_o_u_b_l_e _c_o_m_p_i_l_i_n_g  _y_o_u_r  stdio  _s_p_e_e_d_u_p_s,  _a_n_d/_o_r
_t_h_e_y  _f_a_i_l_e_d _t_h_e _c_o_m_p_a_t_i_b_i_l_i_t_y _t_e_s_t, _b_u_t _I _u_s_e_d _t_h_e_m _a_n_y_w_a_y,
_a_n_d _n_o_w _I'_m _h_a_v_i_n_g _b_i_z_a_r_r_e _p_r_o_b_l_e_m_s.  If the speedups  don't
compile smoothly or failed the compatibility test, _D_O_N'_T _U_S_E
_T_H_E_M!  In this area, being ``a little bit broken''  is  like
being  a  little bit pregnant.  As _b_u_i_l_d told you, there are
systems where the speedups do not work.

     _I'_m _h_a_v_i_n_g _t_r_o_u_b_l_e  _c_o_m_p_i_l_i_n_g  libc/datetok.c  _w_i_t_h  _m_y



                       14 Dec 1991





                           - 3 -


_A_N_S_I  _C  _c_o_m_p_i_l_e_r.  We don't have ANSI C compilers handy for
our own use, and there are a  few  troublesome  areas  where
older  compilers  make  difficulties  and  encourage errors.
Until this particular bug gets fixed,  a  workaround  is  to
move  the definitions of _d_a_t_e_t_k_t_b_l and _s_z_d_a_t_e_t_k_t_b_l up to the
beginning of the  file,  and  delete  the  erroneous  _e_x_t_e_r_n
declarations.

     _I _g_e_t _a _n_e_w_s _f_e_e_d _f_r_o_m  _m_y  _n_e_i_g_h_b_o_r,  _a_n_d  _i_t  _a_r_r_i_v_e_s
_f_i_n_e,  _b_u_t  _m_y  _s_y_s_t_e_m  _s_e_n_d_s _h_i_m _n_o_t _j_u_s_t _t_h_e _t_h_i_n_g_s _I _p_o_s_t
_l_o_c_a_l_l_y, _b_u_t _a_l_s_o _e_v_e_r_y_t_h_i_n_g  _I  _g_e_t  _f_r_o_m  _h_i_m.   News-loop
prevention is based on the Path header lines.  The name your
neighbor is known by in your _s_y_s file does not match the one
he's  inserting  into  Path,  so  your news system thinks he
hasn't seen those articles yet.  A common cause of  this  is
that  he's  putting  a  full  domain name in Path and you're
using a short version in your _s_y_s file, or vice versa.   The
best  fix is to agree on names.  A workaround, often useful,
is to alter the _s_y_s line to use the exclusion feature.   Say
he's  putting ``abc.def.ghi'' in his Paths and your sys file
knows him only as ``abc''.  If there is some reason why  you
can't  just  agree  on  the  name,  start  the _s_y_s line with
``abc/abc.def.ghi:'' rather than just ``abc:'', to tell  the
news  system  ``send  abc  only  things that have not passed
through abc.def.ghi''.

     _W_i_l_l _C _N_e_w_s _w_o_r_k _i_f _m_y _a_r_t_i_c_l_e _t_r_e_e _i_s _s_p_r_e_a_d _o_v_e_r _m_o_r_e
_t_h_a_n  _o_n_e _f_i_l_e_s_y_s_t_e_m?  Yes, if your system supports symbolic
links.  Some tweaking is necessary: you will  have  to  give
_d_o_e_x_p_i_r_e  the  -l  flag so it knows about the situation, and
you will need to alter _s_p_a_c_e_f_o_r to check space on more  than
one filesystem.  There is also a problem, currently, in that
the _f_i_n_d command used by _m_k_h_i_s_t_o_r_y and _a_d_d_m_i_s_s_i_n_g  will  not
follow symbolic links; a fix for this is coming.

     _H_o_w _d_o _I _c_o_n_f_i_g_u_r_e _C _N_e_w_s _s_o _t_h_a_t _i_t _w_i_l_l _n_o_t _a_u_t_o_m_a_t_i_-
_c_a_l_l_y  _c_r_e_a_t_e  _a_n_y _n_e_w_s_g_r_o_u_p_s _j_u_s_t _b_e_c_a_u_s_e _s_o_m_e _y_o-_y_o _o_n _t_h_e
_n_e_t _s_e_n_d_s _o_u_t _a newgroup _m_e_s_s_a_g_e?  This is not provided as a
configuration  option at present.  Most control messages are
handled by shell files in  NEWSBIN/_c_t_l,  and  those  can  be
edited to implement any local policies desired.

     _I_t _r_a_n _f_i_n_e _f_o_r _a _w_h_i_l_e, _b_u_t _n_o_w relaynews _i_s _c_o_m_p_l_a_i_n_-
_i_n_g  _t_h_a_t  _i_t'_s  _u_n_a_b_l_e  _t_o  _w_r_i_t_e  _t_h_e _h_i_s_t_o_r_y _f_i_l_e, _s_a_y_i_n_g
``(_F_i_l_e _t_o_o _l_a_r_g_e)''.  This means you're on a  System  V  or
related  system  that  implements the stupid _u_l_i_m_i_t feature,
limiting the size of files, and the _u_l_i_m_i_t is too low.  Note
that  while  some  sensible suppliers have their _l_o_g_i_n raise
the limit to a very high value, most of them  seem  to  have
forgotten  to  do the same for _c_r_o_n... and much of C News is
run from _c_r_o_n.

     _I _o_c_c_a_s_i_o_n_a_l_l_y _g_e_t _a _m_a_i_l _m_e_s_s_a_g_e _s_a_y_i_n_g _a _w_h_o_l_e  _b_u_n_c_h
_o_f  _g_r_o_u_p_s  _a_r_e  _i_n_v_a_l_i_d  _a_n_d  _I _s_h_o_u_l_d _d_e_l_e_t_e _t_h_e_m.  _W_h_a_t'_s



                       14 Dec 1991





                           - 4 -


_g_o_i_n_g _o_n?  This is the result of a _c_h_e_c_k_g_r_o_u_p_s control  mes-
sage  being  received.   There is no clear specification for
the contents of such a message, and the C  News  _c_h_e_c_k_g_r_o_u_p_s
code  is  known to be buggy.  This will be fixed eventually.
For now, ignore the mail.

     _T_h_e _d_a_i_l_y _s_t_a_t_u_s _r_e_p_o_r_t_s _f_r_o_m newsdaily _m_e_n_t_i_o_n _m_y  _o_w_n
_s_i_t_e  _a_s _o_n_e _s_e_n_d_i_n_g _b_a_d _h_e_a_d_e_r_s!  _W_h_a_t'_s _g_o_i_n_g _o_n?  This is
a bug in the logging code: when it wants to generate  a  log
message for some condition that has no site name associated,
it uses your own rather  than  something  like  `<no_name>'.
This will be fixed eventually.













































                       14 Dec 1991


