www/tomcat7 bug in rc.d startup script when
clear_tmp_enable="YES"
Doug Barton
dougb at FreeBSD.org
Tue Sep 6 19:36:35 UTC 2011
Since this is a port you are infinitely more likely to get attention to
the issue if you cc the maintainer.
The right answer here is that:
# REQUIRE: NETWORKING SERVERS
# BEFORE: DAEMON
should be
REQUIRE: LOGIN
since this service runs as an unprivileged user. That will also solve
the clear_tmp problem.
Doug
On 09/06/2011 12:28, Devin Teske wrote:
> Hi List,
>
> A bit short on time here and can't file a PR just this minute, but wanted to
> share a buggette that we've discovered in the www/tomcat7 port (currently at
> version 7.0.20 as of last week, but bug dates back months as far back as version
> 7.0.14 and perhaps further).
>
> ___ Bug description: ___
>
> If one puts the following two lines into one's rc.conf(5) configuration:
>
> tomcat7_enable="YES"
> clear_tmp_enable="YES"
>
> What happens is that tomcat7 is fired up and creates his
>
> /tmp/hsperfdata_{user}
>
> directory, but then later the clear_tmp script is fired and blows away items
> recently created by tomcat.
>
> The end-result is that after booting the system, one can execute:
>
> service tomcat7 status
>
> and get the false response:
>
> tomcat7 is not running
>
> Meanwhile, one can execute:
>
> ps auxwww | sh -c 'head -1; grep java'
>
> and clearly see that tomcat *is* running. Indeed, one can even execute:
>
> cat /var/run/tomcat7.pid
>
> and indeed, this is the correct pid.
>
> ___ Root-cause description: ___
>
> The problem is truly that the tomcat7 rc.d script uses the jps command to
> determine that the appropriate java process is running and that jps relies on
> data in the java.io.tmpdir directory (/tmp) which was.... (wait for it) ...
> whacked by clear_tmp moments after firing up tomcat.
>
> ___ Solution description: ___
>
> Apply the following patch to /usr/local/etc/rc.d/tomcat7:
>
> ========== BEGIN PATCH EXCERPT ==========
> --- /usr/local/etc/rc.d/tomcat7.orig 2011-09-06 12:25:45.000000000 -0700
> +++ /usr/local/etc/rc.d/tomcat7 2011-09-06 12:26:17.000000000 -0700
> @@ -4,7 +4,7 @@
> #
>
> # PROVIDE: tomcat7
> -# REQUIRE: NETWORKING SERVERS
> +# REQUIRE: NETWORKING SERVERS clear_tmp
> # BEFORE: DAEMON
> # KEYWORD: shutdown
>
> ========== END PATCH EXCERPT ==========
--
Nothin' ever doesn't change, but nothin' changes much.
-- OK Go
Breadth of IT experience, and depth of knowledge in the DNS.
Yours for the right price. :) http://SupersetSolutions.com/
More information about the freebsd-rc
mailing list