Project

General

Profile

Bug #21013

Fatal error when excluding paths from trigger_paths

Added by Kyle Knoepfel 10 months ago. Updated 6 months ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Infrastructure
Target version:
Start date:
10/03/2018
Due date:
% Done:

100%

Estimated time:
Spent time:
Occurs In:
Scope:
Internal
Experiment:
-
SSI Package:
Duration:

Description

Consider the following configuration:

BEGIN_PROLOG
config: {
  module_type: "art/test/Framework/Art/PrintAvailable/DummyProducer" 
}
END_PROLOG

physics: {
  producers: {
    p1: @local::config
    p2: @local::config
  }
  tp1: [p1]
  tp2: [p2]
  all: []
  trigger_paths: [all]
}

physics.all: [@sequence::physics.tp1, @sequence::physics.tp2]

This pattern was encountered in experiment code, where only the execution of the concatenation of paths tp1 and tp2 is desired. Although this can be done more cleanly by putting all of the paths in the prolog section, the configuration document is not ill-formed and it should result in the execution of one path 'all'. Unfortunately, calling running art with such a configuration ends with a segmentation violation, unless the --prune-config program option is specified.

History

#1 Updated by Kyle Knoepfel 10 months ago

  • Description updated (diff)

#2 Updated by Kyle Knoepfel 10 months ago

  • Category set to Infrastructure
  • Status changed from New to Resolved
  • Assignee set to Kyle Knoepfel
  • % Done changed from 0 to 100

The problem is understood, and it can be reproduced by a more basic example:

physics: {
  producers: {
    prod: { ... }
  }
  tp1: [prod]
  tp2: [prod]
  trigger_paths: [tp1]
}

For this configuration, the module prod is shared between paths tp1 and tp2, and tp2 is not included in trigger_paths and is therefore not executed. The error occurred due to inadequate counting of the module instances that appear in the trigger paths. This problem has been resolved with commit art:baecd21.

An art 3.00 or 3.01 series bug-fix release can be made that includes this fix. Until then, the work-around is to comment out paths that are not included in the trigger_paths sequence, particularly if those excluded paths contain module labels that also appear in included paths.

#3 Updated by Kyle Knoepfel 6 months ago

  • Status changed from Resolved to Closed


Also available in: Atom PDF