Mailing List Archive

Full-detail debug logs: Can't See Expansion lvalues?
Hi Exim folk,

I'm finding the `-d+all` option incredibly useful for detailed viewing of
Exim's handing cycles.

However, the log entries for expansions don't seem to show lvalues.

For instance, with an assignment-styled statement like:

*foo=${bar {arg1}{${whatever:something}}}*

The log entry starts with:

*considering: ${bar {arg1}{${whatever:something}}}*

But no mention of 'foo', or the config line number. To find what's
happening, I have to search for the start of that expansion in my configs,
and hope it's not duplicated.

Is there an easier way to find which particular '*foo=<whatever...>*' is
being executed? For instance, an extra compilation option?

On the other hand, the log narratives for other flows like acl execution
are far more transparent, citing acl name and autogen line number.

Keen for any advice.

Cheers
David

--
## subscription configuration (requires account):
## https://lists.exim.org/mailman3/postorius/lists/exim-users.lists.exim.org/
## unsubscribe (doesn't require an account):
## exim-users-unsubscribe@lists.exim.org
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/
Re: Full-detail debug logs: Can't See Expansion lvalues? [ In reply to ]
On 16/09/2023 00:26, David McNab via Exim-users wrote:
> However, the log entries for expansions don't seem to show lvalues.

(assuming you mean "debug output"; -d does not write to the
Exim mainlog, paniclog or message-log)

That's because an expansion is only the bit starting with the $.
It is not the entire ACL line or option line; there is no lvalue
as far as the expansion goes.

What you're asking for is more detail on what causes the expansion,
I think. To cover every possible place would be lots of
codework; nobody's put in the effort so far.


Which specific foo= ?
--
Cheers,
Jeremy


--
## subscription configuration (requires account):
## https://lists.exim.org/mailman3/postorius/lists/exim-users.lists.exim.org/
## unsubscribe (doesn't require an account):
## exim-users-unsubscribe@lists.exim.org
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/
Re: Full-detail debug logs: Can't See Expansion lvalues? [ In reply to ]
Thanks Jeremy for clarifying.

I've since resolved the problem by writing a log filter tool which
intercepts all the root-level 'Considering: ...' log entries, looks up the
raw expansion expressions in the (post-preprocessing) config, then patches
in the lvalue names and config line numbers just above them.

Cheers
David



On Sun, 17 Sept 2023 at 07:02, Jeremy Harris via Exim-users <
exim-users@lists.exim.org> wrote:

> On 16/09/2023 00:26, David McNab via Exim-users wrote:
> > However, the log entries for expansions don't seem to show lvalues.
>
> (assuming you mean "debug output"; -d does not write to the
> Exim mainlog, paniclog or message-log)
>
> That's because an expansion is only the bit starting with the $.
> It is not the entire ACL line or option line; there is no lvalue
> as far as the expansion goes.
>
> What you're asking for is more detail on what causes the expansion,
> I think. To cover every possible place would be lots of
> codework; nobody's put in the effort so far.
>
>
> Which specific foo= ?
> --
> Cheers,
> Jeremy
>
>
> --
> ## subscription configuration (requires account):
> ##
> https://lists.exim.org/mailman3/postorius/lists/exim-users.lists.exim.org/
> ## unsubscribe (doesn't require an account):
> ## exim-users-unsubscribe@lists.exim.org
> ## Exim details at http://www.exim.org/
> ## Please use the Wiki with this list - http://wiki.exim.org/
>

--
## subscription configuration (requires account):
## https://lists.exim.org/mailman3/postorius/lists/exim-users.lists.exim.org/
## unsubscribe (doesn't require an account):
## exim-users-unsubscribe@lists.exim.org
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/