Docs/Infohub (Flow)/Common Problems and Fixes
Infohub (Flow)Reference

Common Problems and Fixes

The symptoms that come up most often, with the cause and the fix — start here before working through a full diagnosis.

Updated 15 Oct 2026Infohub Docs

A symptom index. Find the symptom, check the cause, apply the fix. Where a problem needs more than a paragraph, it links to the article that covers it.

Nothing is running#

Nothing runs at all, no errors anywhere. The Platform's host name does not match the machine running Flow Bootstrap. Bootstrap claims a Platform by matching host name, so a mismatch means nothing ever starts. Correct the host name, or create a Platform for this machine. This is the most common cause after a database restore, a server rename, or a model built elsewhere.

Components will not start, and the configuration looks correct. Licence. Read the Windows event log — log Flow, source Flow Bootstrap. A licence is bound to an Instance ID, so a restored copy on another server is not licensed. See Licensing Infohub.

There is no "Flow Data Engine" in the Services list. Expected. The Data Engine is a service object hosted by Flow Bootstrap, not a Windows service. Only Flow Bootstrap appears.

Flow Bootstrap will not start. Read the Flow event log. Usually the service account, the database connection, or a licence.

A change had no effect#

I edited a measure and nothing changed. Deployment state is Different — the object is running the old configuration. Saving is not activating. Deploy it. See Deploying Configuration.

I created a measure and it produces no data. The connection or engine is not deployed, or the state is Different.

One area of the model is silent, everything else works. Its metrics, time schemes, or event schemes are not assigned to an engine. Unassigned content is never processed.

Works in Flow Config, fails when deployed#

A connection tests fine and fails once deployed. Flow Config runs as you; deployed objects run as the Flow Bootstrap service account. For anything using Windows integrated security — OPC, several historians, SQL trusted connections, a network share — the service account needs the same access you have. Change the service logon to a domain account with those rights, or configure explicit credentials on the connection.

A file path or share is not found when deployed. Same cause, plus: use a UNC path, not a mapped drive letter. Drive mappings are per user and the service will not have them.

An OPC UA connection works from my workstation and not from the server. Certificate trust belongs to the machine hosting the connection. Establish trust on the Platform host.

Data gaps#

No values overnight or at weekends on slow tags. The tag has not changed, so a query bounded strictly by the period finds nothing. Increase Backward Overlap on the measure. Very common, and easily mistaken for a source outage.

Gaps only on shutdown days, weekends, or month boundaries, on ratio measures. An unguarded division meeting a zero denominator. Any measure whose name contains "per", "%", "rate", "efficiency", "yield", or "utilisation" is a division. See The Zero Guard.

Older periods never update. The time scheme's freeze point marks them closed. To correct history: move it back, recalculate, move it forward.

Values stop at a specific date and never resume. Freeze point, a licence or maintenance expiry, or a manual time scheme that has run out of periods.

A daily total does not equal the sum of its hours. The aggregation chain is not contiguous, or there are two routes to the same interval. Build one chain, step by step.

Wrong numbers#

Values far too large, scaling with the interval length. Sum applied to a rate. Use Average. See Choosing the Right Aggregation Type.

Enormous values matching the raw meter reading. Average or Sum applied to a totaliser. Use Counter to convert the register to a per-period quantity, then Sum above it.

Occasional huge negative spike. A totaliser rolled over or was reset, and Counter or Rollover is not configured.

Consumption values look like differences of differences. Counter appears twice in one chain. It should appear exactly once.

A percentage above 100% or below 0%. For event-derived measures, the wrong anchor — use Active Duration, the only duration anchor whose values sum to the interval length. Otherwise, a Sum applied to a percentage, or a missing multiplication by 100.

Values out by a factor of 100. A percentage not multiplied, or multiplied twice. Also check the format string: % in a .NET format string multiplies by 100.

Monthly average looks lower than expected. Partial days weighted equally. Aggregate the monthly figure from the hourly measure so every hour weighs the same.

Daily totals do not match the plant's own daily numbers. The time scheme's hour offset — Infohub's day boundary differs from the plant's. Set it to your first shift start.

Stuck measures#

One measure has stopped while the rest are current. Walk down the chain to the lowest measure that also stopped — that is where the problem is. See Diagnosing Stuck or Faulted Measures.

A calculated measure holds a value while its inputs move. A dependency the expression uses is not declared. Infohub recalculates on declared dependencies only. Add it, then recalculate the range.

Correct going forward, wrong historically. The fix changed future behaviour. Recalculate the affected range.

Templates#

Instantiation created nothing, and did not fail. The template was not released. Release, then instantiate, then assert the instance count. This is the most common templating surprise.

All instances read the same tag. The model attribute token is missing from the tag, or the attribute is set too high in the tree.

Some instances read a wrong tag. Attribute value formatting — 10 where 010 was needed. Leading zeros, case, and trailing spaces all matter.

A local edit to an instance disappeared. It was on a templated member, and an update overwrote it. Use a model attribute for values that differ, or add content locally for structure the template does not own.

A template edit did not reach the instances. The edit un-released the template. Release it again, then update.

Charts#

A measure will not drop onto a chart. Interval mismatch. A chart accepts only measures at its constructor interval, and a Tag interval measure is refused by every interval chart — chart the hourly or daily derivation.

A chart renders empty. Created but no measure was ever dropped on it. Check with --list-chart-tree.

A limit will not bind. The chart must already carry that measure as a series. Add the measure, then bind the limit.

A widget's colour never changes. No limit bound, or a fixed colour was set. Drive colour from limits.

Editing a chart changed a different dashboard. The chart is shared across dashboards. Duplicate it if they need to differ.

A released chart is suddenly unreleased. Expected — any edit un-releases a chart and bumps its version.

Imports and transfers#

Connection properties or queries vanished after an import or template push. Plugin version mismatch. The destination's plugin is older than the source's and did not recognise some properties. Match plugin versions under %ProgramData%\Flow Software\Flow\Config\Packages before transferring.

Imported charts arrived empty. Export scope. An export taken at chart or dashboard scope is treated as a chart import, which changes how references resolve. Re-export at model scope, or import into an empty area on a test instance to see what happens.

Duplicate entities appeared after an import, some named as copies. Ambiguous matching — two candidates with the same name in one container.

A connection imported but has no password. Credentials never travel in an export. Complete them and re-test before deploying.

Integrations#

A consumer sends nothing. The Integration Engine and the consumer must both be deployed.

Duplicate rows at a SQL destination. The Value Query inserts rather than upserts. Infohub legitimately resends corrected values, so the destination must handle restatement.

A sudden flood of outbound volume. A backfill or recalculation in Infohub republished history.

An integration stopped after months with no change. A credential or certificate expired. This is the largest single category of "nothing changed".

Notifications#

No notifications at all. The Message Engine and the notification servers must both be deployed.

Messages are composed but not delivered. Status Compiled rather than Processed means delivery failed — check the notification server's credentials and network path.

An alarm fires constantly. The limit is set inside the normal operating range. Chart the measure over months and set the threshold where you would actually act.

Recipients have stopped reading notifications. Volume. See Building an Alarm Strategy.

CLI#

Exit code 1. A parse failure, or a verb not available in Flow 7.2.0. Check option spelling — it is --user, not --username.

Exit code 10. A database-level verb failed: --create, --migrate, --backup, --import, or --license.

A script reported success but the model is incomplete. Check exit codes after every step, and assert outcomes where "did nothing" is possible. See Exit Codes and Error Handling.

A script created the wrong kind of chart on another instance. A hard-coded chart type ID. They are auto-increment rows and differ per instance — look them up by name.

Performance#

Gradually slower over months. Index fragmentation and stale statistics, or model growth. See Database Maintenance.

Everything late, servers idle. Concurrency too low, or a slow source holding up the pass.

Retrieval slow and the source's owner is complaining. Concurrency too high. Lower it.

Suddenly slow. A backfill, a maintenance job running during collection, or storage pressure.

When none of this fits#

Work through Diagnosing Missing Data in order — it is designed so each step eliminates a class of cause. Then gather the escalation details listed at the end of that article before asking for help; it turns a long exchange into a short one.

Getting help#

Raise a ticket at support.flow-software.com. Include these, in this order:

  1. What you did — the exact steps, or the exact command line with passwords removed.
  2. What you expected, and what happened.
  3. The version, from the About box or --version.
  4. The log — the --log-file output for a CLI problem, not a screenshot of the console; the event log entries around the time for anything else.
  5. For a performance problem, numbers — how long it took, beside the model's size: measure count, instance count, package count. "Still slow" without a number is hard to act on.
  6. Whether it reproduces on a clean instance, if you have time to check.
esc
↑↓ navigate · ↵ open · ⌘K anywhere