CPPSERV


Home Projects Jobs Clientele Contact

cppserv


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

Re: Problem with starting CPPSERV



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


Authoright © Total Knowledge: 2001-2008