CPPSERV


Home Projects Jobs Clientele Contact

cppserv


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

Re: Problem with starting CPPSERV



That is normal - it's just showing threads starting. They may have
their own PIDs.

sergey@total-knowledge.com wrote:
> One thing I probably should have mentioned. After 'run' in gdb, at the end
> of debug messages it prints bunch of messages like that
>
> [New Thread 1082132800 (LWP 6965)]
> [New Thread 1090525504 (LWP 6966)]
> [New Thread 1098918208 (LWP 6967)]
> [New Thread 1107310912 (LWP 6968)]
> [New Thread 1115703616 (LWP 6969)]
>
> My eng.pid for this process was 6962.
>
>   
>> Ok, tried to run it on both trunk and cppserv-samples.
>> It works as usual, prints all debug messages and opens new cppserv socket.
>> On Ctl+C it gives no error messages.
>>
>>
>>     
>>> No, that's not how you do it.
>>>
>>> LD_LIBRARY_PATH=debug/libui gdb --args cppserv -c engine.xml -P eng.pid
>>>
>>> (gdb) run
>>>
>>>
>>>
>>>
>>> sergey@total-knowledge.com wrote:
>>>       
>>>> Here you go:
>>>>
>>>> [sergey@sergey trunk]$gdb --args cppserv -c engine.xml -P eng.pid
>>>>
>>>> (gdb)run LD_LIBRARY_PATH=debug/libui
>>>> ../../cppserv/debug/src/container/cppserv -P eng.pid -c engine.xml
>>>>
>>>>
>>>>
>>>>         
>>>>> Again, you didn't give me exact command lines you used.
>>>>>
>>>>> sergey@total-knowledge.com wrote:
>>>>>
>>>>>           
>>>>>> Well, when I run LD_LIBRARY_PATH= from cppserv-samples/ directory and
>>>>>> try
>>>>>> to call one of our sample servlets, it behaives exactly the same: the
>>>>>> browser hangs. So I don't think it's related to my code.
>>>>>> However when I run it in gdb I get error messages. Here is what I do:
>>>>>>
>>>>>> 1. Run 'gdb --args cppserv -c engine.xml -P eng.pid' in my trunk
>>>>>> directory.
>>>>>> 2. Run 'run LD_LIBRARY_PATH=debug/libui
>>>>>> ../../cppserv/debug/src/container/cppserv -P eng.pid -c engine.xml'
>>>>>> in
>>>>>> gdb.
>>>>>> 3. Get error message "libuu.so: cannot open shared object file: No
>>>>>> such
>>>>>> file or directory"
>>>>>> 4. Program exited with code 01.
>>>>>>
>>>>>> I do have libuu.so in debug/libui directory.
>>>>>>
>>>>>> When I do the same operation in cppserv-samples directory, I get
>>>>>> "libCommon.so: cannot open shared object file: No such file or
>>>>>> directory"
>>>>>> error message despite of the fact that libCommon.so does exist in
>>>>>> cppserv-samples/debug/sharedata.
>>>>>>
>>>>>> So looks like this problem related to library pathes, maybe something
>>>>>> has
>>>>>> changed b/c of recent cppserv upgrade. I did try to remove "export
>>>>>> LD_LIBRARY_PATH=/usr/local/lib" line from my ./.bash_profile file,
>>>>>> but
>>>>>> it
>>>>>> didn't help either.
>>>>>>
>>>>>> Hopefully this info may lead to some clues.
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>             
>>>>>>> Aah. So I was trying to diagnose wrong problem.
>>>>>>> OK. cppserv is working for you then. Your problem
>>>>>>> is somewhere in your code - it hangs before returning any
>>>>>>> data.
>>>>>>> My recommendation is to run CPPSERV under gdb
>>>>>>> (gdb --args cppserv -c engine.xml -P eng.pid)
>>>>>>> And see where it hangs. If you do Ctl+C when under GDB,
>>>>>>> you should be able to get a stack trace.
>>>>>>>
>>>>>>> sergey@total-knowledge.com wrote:
>>>>>>>
>>>>>>>
>>>>>>>               
>>>>>>>> Nope, the browser just hangs when I call servlets.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>                 
>>>>>>>>> Are you still getting error 503?
>>>>>>>>>
>>>>>>>>> sergey@total-knowledge.com wrote:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>                   
>>>>>>>>>>> OK. This is strange, I admit. Try doing netstat -an after
>>>>>>>>>>> starting
>>>>>>>>>>> cppserv, to see where it really is listening.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>                       
>>>>>>>>>> Here is what I get after starting cppserv:
>>>>>>>>>> unix  2      [ ACC ]     STREAM     LISTENING     75497
>>>>>>>>>> /tmp/cppserv.sock
>>>>>>>>>>
>>>>>>>>>> When I start servlet in the browser, it adds:
>>>>>>>>>> unix  3      [ ]         STREAM     CONNECTED     75673
>>>>>>>>>> /tmp/cppserv.sock
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>                     
>>>>>>>>>>> Another thing - did you update apache mod_cserv? sudo make
>>>>>>>>>>> install
>>>>>>>>>>> should take care of that.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>                       
>>>>>>>>>> I did 'sudo make install' in my cppserv/ directory, got
>>>>>>>>>>
>>>>>>>>>> Linking mod_cserv
>>>>>>>>>> Installing debug/./src/mod_cppserv/mod_cserv.so into
>>>>>>>>>> //usr/lib64/apache/mod_cserv.so
>>>>>>>>>>
>>>>>>>>>> message, but it didn't resolve the issue.
>>>>>>>>>>
>>>>>>>>>> Another thing, after starting cppserv I get debug "Connecting to
>>>>>>>>>> DB"
>>>>>>>>>> message which is used in my uudb class' constructor, if it may
>>>>>>>>>> lead
>>>>>>>>>> to
>>>>>>>>>> any
>>>>>>>>>> clues.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>                     
>>>>>>>>>>> sergey@total-knowledge.com wrote:
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>                       
>>>>>>>>>>>> I went farther with debugging this issue and I think that
>>>>>>>>>>>> cppserv
>>>>>>>>>>>> is
>>>>>>>>>>>> listening on /tmp/cppserv.sock.
>>>>>>>>>>>>
>>>>>>>>>>>> First of all I confirmed that <listener> tag in engine.xml was
>>>>>>>>>>>> parsed
>>>>>>>>>>>> correctly. Here is the output:
>>>>>>>>>>>>
>>>>>>>>>>>> path = /tmp/cppserv.sock
>>>>>>>>>>>> protocol = unix
>>>>>>>>>>>>
>>>>>>>>>>>> Then in serverconfig.cpp I put debug message in
>>>>>>>>>>>> ServerConfig::GlobalContext::setListener()
>>>>>>>>>>>> and found out that RequestListener::UnixAcceptor(path) called
>>>>>>>>>>>> with
>>>>>>>>>>>> correct
>>>>>>>>>>>> path = /tmp/cppserv.sock
>>>>>>>>>>>>
>>>>>>>>>>>> Then I checked requestlistener.cpp'
>>>>>>>>>>>> RequestListener::UnixAcceptor()
>>>>>>>>>>>> and
>>>>>>>>>>>> found out that
>>>>>>>>>>>> int sock=socket(PF_UNIX,SOCK_STREAM,0); sock=4
>>>>>>>>>>>> ret=listen(sock,MAX_BACKLOG); ret=0
>>>>>>>>>>>>
>>>>>>>>>>>> No exceptions were thrown, so init() was called and
>>>>>>>>>>>> unsigned long flags = fcntl(sock,F_GETFL); flags=2
>>>>>>>>>>>>
>>>>>>>>>>>> Again, no exceptions were thrown.
>>>>>>>>>>>>
>>>>>>>>>>>> Any ideas?
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>                         
>>>>>>>>>>>>> Mmm.. So, I guess it didn't quite work with parsing.
>>>>>>>>>>>>> Apparently cppserv is _not_ listening on /tmp/cppserv.sock,
>>>>>>>>>>>>> since you get connection refused.
>>>>>>>>>>>>>
>>>>>>>>>>>>> sergey@total-knowledge.com wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>                           
>>>>>>>>>>>>>> I do use Unix domain sockets:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> <listener protocol="unix" path="/tmp/cppserv.sock"/>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I tried to create my own socket using perl script but it
>>>>>>>>>>>>>> didn't
>>>>>>>>>>>>>> help
>>>>>>>>>>>>>> either.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>                             
>>>>>>>>>>>>>>> Use unix domain sockets
>>>>>>>>>>>>>>> -----Original Message-----
>>>>>>>>>>>>>>> From: sergey@total-knowledge.com
>>>>>>>>>>>>>>> Date: Sun, 11 Mar 2007 17:39:09
>>>>>>>>>>>>>>> To:"C++ Servlet Engine Discussion"
>>>>>>>>>>>>>>> <cppserv@total-knowledge.com>
>>>>>>>>>>>>>>> Subject: Re: Problem with starting CPPSERV
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I checked both Apache logs(/var/log/syslog and
>>>>>>>>>>>>>>> /var/log/httpd/error_log)
>>>>>>>>>>>>>>> In /var/log/httpd/error_log I got
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>  [error] [client 127.0.0.1] Cannot connect to CPPSERV
>>>>>>>>>>>>>>> (/tmp/cppserv.sock):
>>>>>>>>>>>>>>> Connection refused
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Also I tried to specify host="localhost" in <listener> with
>>>>>>>>>>>>>>> no
>>>>>>>>>>>>>>> luck.
>>>>>>>>>>>>>>> I'm trying to find out if the parsed data actually loaded to
>>>>>>>>>>>>>>> constructors,
>>>>>>>>>>>>>>> but have trouble finding where this proccess takes place.
>>>>>>>>>>>>>>> Can you give me some hints which classes I should check in
>>>>>>>>>>>>>>> order
>>>>>>>>>>>>>>> to
>>>>>>>>>>>>>>> do
>>>>>>>>>>>>>>> it?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>                               
>>>>>>>>>>>>>>>> Connection properties are described in engine.xml
>>>>>>>>>>>>>>>> If it isn't set up right, it won't be connecting. Look at
>>>>>>>>>>>>>>>> apache logs.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> sergey@total-knowledge.com wrote:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>                                 
>>>>>>>>>>>>>>>>>> Which means you don't have apache connecting to your
>>>>>>>>>>>>>>>>>> cppserv
>>>>>>>>>>>>>>>>>> instance.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>                                     
>>>>>>>>>>>>>>>>> Hmm.. why did it happen after recent changes to
>>>>>>>>>>>>>>>>> xmlserverconfig.cpp
>>>>>>>>>>>>>>>>> then?
>>>>>>>>>>>>>>>>> I don't think these things can be related, it worked well
>>>>>>>>>>>>>>>>> before.
>>>>>>>>>>>>>>>>> How can I connect apache to my cppserv instance?
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>                                   
>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>> Ilya A. Volynets-Evenbakh
>>>>>>>>>>>>>>>> Total Knowledge. CTO
>>>>>>>>>>>>>>>> http://www.total-knowledge.com
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>                                 
>>>>>>>>>>>>> --
>>>>>>>>>>>>> Ilya A. Volynets-Evenbakh
>>>>>>>>>>>>> Total Knowledge. CTO
>>>>>>>>>>>>> http://www.total-knowledge.com
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>                           
>>>>>>>>>>> --
>>>>>>>>>>> Ilya A. Volynets-Evenbakh
>>>>>>>>>>> Total Knowledge. CTO
>>>>>>>>>>> http://www.total-knowledge.com
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>                       
>>>>>>>>> --
>>>>>>>>> Ilya A. Volynets-Evenbakh
>>>>>>>>> Total Knowledge. CTO
>>>>>>>>> http://www.total-knowledge.com
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>                   
>>>>>>> --
>>>>>>> Ilya A. Volynets-Evenbakh
>>>>>>> Total Knowledge. CTO
>>>>>>> http://www.total-knowledge.com
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>               
>>>>>>             
>>>>> --
>>>>> Ilya A. Volynets-Evenbakh
>>>>> Total Knowledge. CTO
>>>>> http://www.total-knowledge.com
>>>>>
>>>>>
>>>>>
>>>>>           
>>>>
>>>>         
>>> --
>>> Ilya A. Volynets-Evenbakh
>>> Total Knowledge. CTO
>>> http://www.total-knowledge.com
>>>
>>>
>>>       
>>
>>     
>
>
>   

-- 
Ilya A. Volynets-Evenbakh
Total Knowledge. CTO
http://www.total-knowledge.com


Authoright © Total Knowledge: 2001-2008