Tinderd Bug - Tinderd killing wrong processes
Joe Marcus Clarke
marcus at marcuscom.com
Thu Mar 12 17:10:38 EDT 2009
On Thu, 2009-03-12 at 14:59 -0500, Tom Judge wrote:
> Joe Marcus Clarke wrote:
> > On Thu, 2009-03-12 at 14:23 -0500, Tom Judge wrote:
> >
> >> Joe Marcus Clarke wrote:
> >>
> >>> On Thu, 2009-03-12 at 12:15 -0500, Tom Judge wrote:
> >>>
> >>>
> >>>> Joe Marcus Clarke wrote:
> >>>>
> >>>>
> >>>>> <snip>
> >>>>>
> >>>>> What TB is trying to do is kill off processes that are holding a mount
> >>>>> point open. In this case, the mount point
> >>>>> is /data/tinderbox/portstrees/mintel-6-2-mysql-5-0-51/ports. Any
> >>>>> process which is using that directory is fair game. I'm guessing you
> >>>>> started your jail from within that directory.
> >>>>>
> >>>>> As soon as the processes are dead, that directory gets unmounted, so
> >>>>> things would probably start to fail anyway.
> >>>>>
> >>>>> Joe
> >>>>>
> >>>>> <snip>
> >>>>>
> >>>>>
> >>>> I think the problem is that tinderd is being over zealous with the
> >>>> killing of processes. The sshd/cron/syslogd's are not in that
> >>>> directory. That directory is nullfs mounted off of:
> >>>>
> >>>> /data/ports/mintel-6-2-mysql-5-0-51
> >>>> <SNIP>
> >>>>
> >>>> And the ports tree definition:
> >>>>
> >>>> mysql> select * from ports_trees where
> >>>> ports_tree_name='mintel-6-2-mysql-5-0-51'\G
> >>>> *************************** 1. row ***************************
> >>>> ports_tree_id: 1
> >>>> ports_tree_name: mintel-6-2-mysql-5-0-51
> >>>> ports_tree_description: FreeBSD 6.2 MySQL 5.0.51
> >>>> ports_tree_last_built: 2009-02-12 16:59:41
> >>>> ports_tree_update_cmd: USER
> >>>> ports_tree_cvsweb_url: http://viewvc.mintel.co.uk/viewvc.cgi/mintelbsd/
> >>>> ports_tree_ports_mount: /data/ports/mintel-6-2-mysql-5-0-51
> >>>>
> >>>>
> >>> I don't think this is what you want. If you set this column to NULL in
> >>> the database, I think this problem will go away. Take a look at mine:
> >>>
> >>> mysql> select * from ports_trees where ports_tree_name = 'MarcusCom'\G
> >>> *************************** 1. row ***************************
> >>> ports_tree_id: 2
> >>> ports_tree_name: MarcusCom
> >>> ports_tree_description: MarcusCom ports tree
> >>> ports_tree_last_built: 2009-03-12 13:14:30
> >>> ports_tree_update_cmd: USER
> >>> ports_tree_cvsweb_url: http://www.marcuscom.com:8080/cgi-bin/cvsweb.cgi/ports/
> >>> ports_tree_ports_mount: NULL
> >>> 1 row in set (0.00 sec)
> >>>
> >>> Joe
> >>>
> >>>
> >>>
> >>>
> >> Why would I set it to null? I followed the example in the README for
> >> using NullFS to mount the ports tree.
> >>
> >
> > You only need to set this field to a non-NULL value if you are mounting
> > the ports tree from a different location onto your configured location
> > before beginning the port build. This is typically a mount from a
> > remote host. You don't need it for your configuration.
> >
>
> My ports tree is _not_ in
> /data/tinderbox/portstrees/mintel-6-2-mysql-5-0-51/ports so I used the
> example (From the README) to create a tree using an existing file system
> (/data/ports/mintel-6-2-mysql-5-0-51) and nullfs. (PS my tinderbox base
> is /data/tinderbox and the scripts folder is in /data/tinderbox/scripts).
>
> If i set this field to null surely all my builds will fail as there is
> no ports tree at the location its expecting:
>
> itchy# ls -la /data/tinderbox/portstrees/mintel-6-2-mysql-5-0-51/ports/
> total 4
> drwxr-xr-x 2 root wheel 512 Feb 12 16:36 .
> drwxr-xr-x 3 root wheel 512 Feb 12 16:36 ..
> itchy#
Okay, I understand. Most users who have configured this setting should
not have, and it causes them problems. You seem to have a legitimate
config.
[snip]
> If my configuration is truly wrong I will fix it but I was just
> following the documentation.
>
> It seems switching to NFS should fix this issue as then the ports tree
> will be a distinct file system from the rest of /data which should stop
> the wrong things getting killed..
Yeah. Lsof might be an option here, but that would require a dependency
on lsof which has a tendency to break on -CURRENT from time-to-time.
Does lsof report the correct process data for you?
Joe
--
PGP Key : http://www.marcuscom.com/pgp.asc
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 195 bytes
Desc: This is a digitally signed message part
URL: <http://marcuscom.com/pipermail/tinderbox-list/attachments/20090312/b373fb69/attachment.bin>
More information about the tinderbox-list
mailing list