hudson.model.Label.ConverterImpl does Hudson.getInstance().getLabel(reader.getValue()), presumably so there is a singleton instance of each Label type. However, when the Label is a LabelAtom this results in new LabelAtom() which calls load() which unmarshalls the object and returns to the getLabel call in ConverterImpl.. infinite loop, eventual StackOverflow.
Originally reported by
mindless, imported from: StackOverflow at startup from LabelAtom.load
- assignee:
mindless
- status: Resolved
- priority: Major
- component(s): core
- resolution: Fixed
- resolved: 2010-09-05T11:24:06+00:00
- votes: 0
- watchers: 0
- imported: 2025-11-24
Raw content of original issue
hudson.model.Label.ConverterImpl does Hudson.getInstance().getLabel(reader.getValue()), presumably so there is a singleton instance of each Label type. However, when the Label is a LabelAtom this results in new LabelAtom() which calls load() which unmarshalls the object and returns to the getLabel call in ConverterImpl.. infinite loop, eventual StackOverflow.
hudson.model.Label.ConverterImpl does Hudson.getInstance().getLabel(reader.getValue()), presumably so there is a singleton instance of each Label type. However, when the Label is a LabelAtom this results in new LabelAtom() which calls load() which unmarshalls the object and returns to the getLabel call in ConverterImpl.. infinite loop, eventual StackOverflow.
Originally reported by
mindless, imported from: StackOverflow at startup from LabelAtom.load
Raw content of original issue