Oddness running from a daemon.

Rod Widdowson rdw at steadingsoftware.com
Tue Oct 7 11:18:28 EDT 2014


Thanks all for your input...

Marvin:

>  wonder if it's a
> matter of the process current working directory being different for a
> service versus user-launched process. 

Almost certainly.  Windows Daemons do not really have a working directory
(and Java helpfully provides no mechanism to set it...)

I thought I had tried running this from a wrong working directory (and
specify idp.home as a system property), but I may have fat fingered it.
That's next up.

Scott:
> When you say it's looking for "authn\conditions\*" what does that mean
> exactly? Which layer was doing that? You mean it was walking that
> directory?

Literally - watching with procmon (Win32 level) I see the process issue
QueryDirectory calls to recursively enumerate "flows\authn\*", then
"flows\authn\conditions\*", "flows\authn\conditions\account-locked\*" and so
on...

What I then went on to observe this morning (but ****ng outlook sent my mail
mentioning it back to me rather than to shib-dev) are these log entries
(early on - and with all spring logging turned on which is why I missed them
first time)

2014-10-07 10:26:21,069 - DEBUG
[org.springframework.webflow.definition.registry.FlowDefinitionRegistryImpl:
99] - Registering flow definition 'file [C:\Program Files
(x86)\Shibboleth\IdP\flows\access\attr-check\attr-check-flow.xml]' under id
'C:/Program Files (x86)/Shibboleth/IdP/flows/access/attr-check'
2014-10-07 10:26:21,069 - DEBUG
[org.springframework.webflow.definition.registry.FlowDefinitionRegistryImpl:
99] - Registering flow definition 'file [C:\Program Files
(x86)\Shibboleth\IdP\flows\authn\conditions\account-locked\account-locked-fl
ow.xml]' under id 'C:/Program Files
(x86)/Shibboleth/IdP/flows/authn/conditions/account-locked'
2014-10-07 10:26:21,069 - DEBUG
[org.springframework.webflow.definition.registry.FlowDefinitionRegistryImpl:
99] - Registering flow definition 'file [C:\Program Files
(x86)\Shibboleth\IdP\flows\authn\conditions\conditions-flow.xml]' under id
'C:/Program Files (x86)/Shibboleth/IdP/flows/authn/conditions'

Which figures from what Scott says:

> , it should be doing that kind of lookup during the initialization of the
flow repository

So we are registering, but we are registering with the Fully Qualified Path,
as ID.  I'll check out the code.

> So what I would do is debug into that process and see what it's actually
> registering. It's clearly not registering authn/conditions, obviously. I
> can track down the exact class to trace if you need me to, I don't recall
> it offhand but I did find it before.

Ugh.  Java debugging a remote process (this is on a VM so I don't brick my
dev machine).  I'll do some more checking with differing home directories,
and with the daemon running as a forground proccess and see if I can find a
relatively safe reproducer.

Thanks all.

R



More information about the dev mailing list