On Jul 13, 2010, at 17:29 , Scott Ferguson wrote:
> Rob Lockstone wrote:
>>
>>> That message appears when the watchdog exits without a "stop" command.
>>> Basically, it's an end of file on the socket connecting the watchdog to
>>> Resin if the watchdog process dies.
>>>
>>> Does the watchdog log show any reason for it disappearing?
> Just to clarify, "it" meaning the watchdog itself. (I do assume the
> watchdog wasn't running when you checked the system.) The Resin instance
> cannot stop the watchdog, by the way.
Yes, 'it' meaning the watchdog.
I think the watchdog process WAS still running. However, I cannot confirm that
as I have since restarted it. Sorry.
> I assume the watchdog is running as a service?
Correct. Although, if it matters, I had to install it as a service using
3.1.9's httpd.exe executable. Contrary to the 4.x documentation, the command
"resin install" does not install resin as a service. Rather, one must run just
"resin", which presents a somewhat confusing (to me) GUI, in which certain
fields must be filled out, the values of which I was not entirely clear about.
As I recall, one was labeled simply "Server", with a drop down that provided no
values, and I did not know what values might be expected. I tried "Yes" and
some others, but every time I tried to complete the GUI, it gave me an error.
In desperation, I gave up and resorted to trying 3.1.9's httpd.exe program, and
that worked. Although at what cost, I am not certain.
>> It did not, no. It just had:
>>
>> ProServer[id=,cluster=] active
>> JNI: file, nio keepalive (max=8192), socket
>>
>> The only other possibly odd messages were a bunch (dozens?) of the
>> following, but they were spread out over several days, so I don't know
>> why they would all of a sudden cause resin to stop itself:
>>
>> {http://*:80-1} TcpSocketLink[id=1,] failed keepalive (select)
>> {http://*:80-3} TcpSocketLink[id=3,] failed keepalive (select)
> That error is something that will be fixed in 4.0.9, but it's in the
> Resin logs not the watchdog, and is unrelated to the socket between
> Resin and the watchdog.
That's correct. I wasn't clear. It was in the stdout.log, not the watchdog.log.
>> Looking at the code for ResinActor/ResinLink/HmtpLink, the run()
>> method in HmtpLink could exit on an IOException and not log any
>> details about the cause, and that would cause Resin to exit without
>> being explicitly told to, no?
> The exception would be logged by the thread pool code at the warning
> level, but I've added a catch/log to the ResinLink to make that clearer.
>
> An IO exception on that socket would cause Resin to exit.
>>
>> From HmtpLink:
>>
>> /**
>> * Receive messages from the client
>> */
>> public void run()
>> {
>> try {
>> while (! isClosed() && _in.readPacket(_actorStream)) {
>> }
>> } catch (IOException e) {
>> throw new RuntimeException(e);
>> }
>> }
> Right, and that RuntimeException would be logged by the thread pool.
Well, I didn't see any other messages logged.
So, if it's not some odd side-effect of using 3.1.9's httpd to install 4.0.8's
resin as a service, I'll just have to wait for it to happen again and file the
logs as a bug. :(
Rob
_______________________________________________
resin-interest mailing list
[email protected]
http://maillist.caucho.com/mailman/listinfo/resin-interest