[Lcdproc] LCDd not loading properly

brian turbo@talstar.com
Tue Apr 17 21:24:02 2007


Peter Marschall wrote:
> Hi,
> 
> On Monday, 16. April 2007 23:29, brian wrote:
>>>    The problem occurs when I start LCDd (either by `service LCDd
>>> start`,  or if I type `/usr/local/sbin/LCDd -c
>>> /usr/local/etc/LCDd.conf`).  The system prompt doesn't return after LCDd
>>> server starts up.  If it Ctrl-C, I am returned to the system prompt and
>>> the system (including LCDd!) perform normally.  Clients can connect to
>>> and use the LCDd server normally.  Because of this behavior, if I enable
>>> automatically loading LCDd with chkconfig, the boot-up process stops at
>>> the point where the LCDd daemon is started.
> 
> This sounds really weird.

   I agree.   :)   I'm sure I can't be the only person in the world 
running LCDd under Fedora Core, or even the only one running under 
Fedora Core 5, and maybe not even the only one running under Fedora Core 
5 with a CFontz 632 USB display.

> Unless foreground=on in LCDd.conf (or LCDd was called with option -f),
> LCDd should deamonize itself and return to the command line-

   I've even explicitly set "Foreground=no" in the LCDd.conf file, with 
the same result.  I think it does "daemonize" itself... the problem 
occurs in the "and return to the command line" part.  ;)   If I hit 
Ctrl-C to get to the command line, the daemon is _running_ and operates 
normally.


> I have no idea why that what you describe can happen.

   Nor I, thus this thread...   :)

> Here are a few things to check that might help narrow things down:
> - Does it happen later as well ?

     Define "later".   :)

        a) later in the day, week, month --  yes
        b) later in the boot process     --  yes
        c) later source revision         --  the one I posted is the 
latest I've tried, but the same thing happened with the 'release' 
version and every other SVN checkout revision that I tried.

> - Are network and syslog up when LCDd is started ?

        Yes.

> - Did you try to start LCDd with options -s0 -r5
>   (or -s1 -r5) to see on the screen (in syslog) what happens ?

        Yes.  It gets to the loop where it's waiting for a client to 
talk to it (I don't remember the exact output, but I can run it again if 
you need) -- if I Ctrl-C to get to the command prompt, I'm given a 
command prompt and the endless loop of messages stating that it's 
waiting for a client to talk to it continue until I pkill it.   In other 
words, it seems to be "operating as normal" (except for not returning me 
to the command shell after it's started)

> - Maybe you can add a few fore fprintf()'s or report()'s to
>   the main() routine in server/main.c to see where it hangs.

       And, again, it doesn't seem to be "hanging", per se... the server 
is actually running and waiting for input.  Hitting Ctrl-C merely 
completes the daemonization process and gives me the shell back.  The 
server continues to run and operate "normally".  It doesn't hang, 
itself, but rather hangs the shell process from which it was invoked.



   ...still stumped,
   Brian