Comment 3 for bug 925364

Revision history for this message
David Ambrose-Griffith (d-e-ambrose-griffith) wrote :

I've run debsums, and nothing comes to light there.

I've also downloaded the bzr branch and compiled a new copy, which exhibits the same symptoms.

Adding in some debugging lines, there seems to be something odd going on around line 216 on gssd_main_loop.c where it tests for something and exits with status code 1 if it is true

Changing that to..

        printerr(1, "beginning poll\n");
        while (1) {
                while (dir_changed) {
                        dir_changed = 0;
                        if (update_client_list()) {
                                /* Error msg is already printed */
                                printerr(1, "DAG Test exit\n");
                                exit(1);
                        }

causes DAG Test exit to be printed.

Looking back at the update_client_list() routine around line 588 in gssd_proc.c and adding in a debug line like so

/* Used to read (and re-read) list of clients, set up poll array. */
int
update_client_list(void)
{
        int retval = -1;
        struct topdirs_info *tdi;

        TAILQ_FOREACH(tdi, &topdirs_list, list) {
                retval = process_pipedir(tdi->dirname);
                if (retval)
                        printerr(1, "WARNING: error processing %s\n",
                                 tdi->dirname);

        }
        printerr(1, "DAG WARNING: retval=%d\n", retval);
        return retval;
}

root@cisadl-tst:~/nfs-utils/utils/gssd# ./gssd -fvvv
beginning poll
DAG WARNING: retval=-1
DAG Test exit

Any further ideas?
causes the following when run.