Skip to content

New version broke DI tests #1811

@gdalle

Description

@gdalle

Hi there,
As discovered in JuliaDiff/DifferentiationInterface.jl#966, one of the latest versions of Symbolics broke DI's test suite. More specifically:

  • The bug either started with 7.15.3 (probably due to ) or 7.15.2, because the last CI run with 7.15.1 worked fine. I haven't bisected by testing 7.15.2 yet, but looking at the release notes, I'd say fix: properly handle differentiating operator applications #1805 is the most likely culprit (my test functions don't involve transposition so fix: fix transpose(::Arr) * Arr #1807 seems innocent).
  • It is common to Julia 1.10, 1.11 and 1.12.
  • It only affects DI's Cache mechanism.
  • More surprisingly, it only affects the jacobian function: all the other operators work fine with Cache

Minimum working example (maybe we can unleash Claude?):

using DifferentiationInterface, DifferentiationInterfaceTest, Symbolics

test_differentiation(
    AutoSymbolics(),
    DifferentiationInterfaceTest.default_scenarios(; include_normal = false, include_cachified = true, use_tuples = false);
    logging = LOGGING,
    excluded=[:hessian, :hvp, :second_derivative, :derivative, :pushforward, :gradient, :pullback]
);

It wasn't caught in the downstream tests here because we put a minimal setup without contexts, but that can be changed if necessary.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions