Skip to content

YAML editor does not support tagged mappings (!tag / !!map) and reports cascading parse errors #9447

@jlsuarez7

Description

@jlsuarez7

Apache NetBeans version

Apache NetBeans 30

What happened

The YAML editor reports syntax errors for valid YAML documents that use tagged mappings.

For example, the following YAML is marked as invalid:

customTaggedMapping: !example
  name: test
  enabled: true

plainMapping:
  name: test
  enabled: true

The editor reports:

Mapping values are not allowed here.

on the nested mapping entries.

The same behavior occurs when using the standard YAML tag !!map:

standardTaggedMapping: !!map
  name: test
  enabled: true

I also tested the flow-style equivalent:

customTaggedMapping: !example { name: test, enabled: true }
standardTaggedMapping: !!map { name: test, enabled: true }
plainMapping: { name: test, enabled: true }

In this case NetBeans reports:

Expected '<document start>', but found '<block mapping start>'

for the second and third lines.

The YAML validates in external YAML validators and is accepted by the application consuming the file. The issue appears to be that NetBeans does not correctly parse tagged nodes and subsequently loses synchronization with the document structure, causing additional valid mappings to be reported as errors.

Expected behavior:

  • Tagged mappings should be accepted as valid YAML syntax.
  • Unknown custom tags such as !example may optionally generate a warning, but should not cause syntax errors.
  • Standard YAML tags such as !!map should be accepted without syntax errors.

Language / Project Type / NetBeans Component

YAML Editor

How to reproduce

  1. Open Apache NetBeans IDE 30.
  2. Create a new file named test.yaml.
  3. Paste the following content:
a: !!map
  b: 1

c:
  d: 2
  1. Save the file.
  2. Observe that NetBeans reports:
Mapping values are not allowed here.

on the line:

  b: 1

As an additional test, replace the contents with:

a: !example
  b: 1

c:
  d: 2

The same error is reported.

As a control test, the following YAML is accepted:

a:
  b: 1

c:
  d: 2

Minimal reproducer:

a: !!map
  b: 1

Did this work correctly in an earlier version?

No / Don't know

Operating System

Linux version 7.0.12-201.fc44.x86_64 running on amd64; UTF-8; en_US (nb)

JDK

OpenJDK Runtime Environment 25.0.3

Apache NetBeans packaging

Other

Anything else

The problem occurs every time with tagged mappings.

One observation is that the parser appears to become confused after encountering a tagged node. Subsequent valid mappings are then reported as invalid as well, suggesting the YAML parser/editor loses synchronization with the document structure after the tagged mapping is encountered.

Because the issue also occurs with the standard YAML tag !!map, this does not appear to be limited to application-specific tags such as !example.

Are you willing to submit a pull request?

No

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind:bugBug report or fixneeds:triageRequires attention from one of the committersyaml

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions