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. :(


resin-interest mailing list

Reply via email to