surveyjs / survey-library

Free JavaScript form builder library with integration for React, Angular, Vue, jQuery, and Knockout.
https://surveyjs.io/form-library
MIT License
4.02k stars 785 forks source link

A "maximum call stack size exceeded" error is thrown when using carry forward #8232

Closed JaneSjs closed 2 months ago

JaneSjs commented 2 months ago

The following exception occurs in a customer's demo in the latest version (v1.10.2). The code works in v1.9.122. T18015 - Facing Error "Maximum call Stack Exceeded" https://surveyjs.answerdesk.io/internal/ticket/details/T18015

index.js:27 ERROR RangeError: Maximum call stack size exceeded
    at ItemValue.Base (survey.core.js:1832:18)
    at ItemValue.BaseAction [as constructor] (survey.core.js:772:47)
    at ItemValue [as constructor] (survey.core.js:17550:28)
    at JsonMetadataClass.eval [as creator] (survey.core.js:18043:30)
    at ./src/jsonobject.ts.JsonMetadata.createClass (survey.core.js:19364:34)
    at ./src/question_baseselect.ts.QuestionSelectBase.createItemValue (survey.core.js:31784:74)
    at ./src/question_baseselect.ts.QuestionSelectBase.copyChoiceItem (survey.core.js:33141:24)
    at ./src/question_baseselect.ts.QuestionSelectBase.getChoicesFromSelectQuestion (survey.core.js:33132:31)
    at QuestionCheckboxModel.get (survey.core.js:33024:29)
    at ./src/question_baseselect.ts.QuestionSelectBase.getFilteredChoices (survey.core.js:33017:20)
    at ./src/question_baseselect.ts.QuestionSelectBase.isVisibleCore (survey.core.js:33452:36)
    at QuestionCheckboxModel.get (survey.core.js:28550:25)
    at ./src/panel.ts.PanelModelBase.getIsContentVisible (survey.core.js:25483:34)
    at ./src/panel.ts.PanelModelBase.getIsPageVisible (survey.core.js:25489:37)
    at PageModel.get (survey.core.js:25472:61)
    at _actions_action__WEBPACK_IMPORTED_MODULE_0__.Action.visible [as _updater] (survey.core.js:68176:106)
    at Object.eval [as func] (survey.core.js:18130:121)
    at ./src/base.ts.Base.propertyValueChanged (survey.core.js:2307:47)
    at ./src/base.ts.Base.setPropertyValue (survey.core.js:2264:22)
    at ItemValue.set (survey.core.js:18162:26)
    at ItemValue.BaseAction [as constructor] (survey.core.js:774:24)
    at ItemValue [as constructor] (survey.core.js:17550:28)
    at JsonMetadataClass.eval [as creator] (survey.core.js:18043:30)
    at ./src/jsonobject.ts.JsonMetadata.createClass (survey.core.js:19364:34)
    at ./src/question_baseselect.ts.QuestionSelectBase.createItemValue (survey.core.js:31784:74)
    at ./src/question_baseselect.ts.QuestionSelectBase.copyChoiceItem (survey.core.js:33141:24)
    at ./src/question_baseselect.ts.QuestionSelectBase.getChoicesFromSelectQuestion (survey.core.js:33132:31)
    at QuestionCheckboxModel.get (survey.core.js:33024:29)
    at ./src/question_baseselect.ts.QuestionSelectBase.getFilteredChoices (survey.core.js:33017:20)
    at ./src/question_baseselect.ts.QuestionSelectBase.isVisibleCore (survey.core.js:33452:36)
    at QuestionCheckboxModel.get (survey.core.js:28550:25)
    at ./src/panel.ts.PanelModelBase.getIsContentVisible (survey.core.js:25483:34)
    at ./src/panel.ts.PanelModelBase.getIsPageVisible (survey.core.js:25489:37)
    at PageModel.get (survey.core.js:25472:61)
    at _actions_action__WEBPACK_IMPORTED_MODULE_0__.Action.visible [as _updater] (survey.core.js:68176:106)
    at Object.eval [as func] (survey.core.js:18130:121)
    at ./src/base.ts.Base.propertyValueChanged (survey.core.js:2307:47)
    at ./src/base.ts.Base.setPropertyValue (survey.core.js:2264:22)
    at ItemValue.set (survey.core.js:18162:26)
    at ItemValue.BaseAction [as constructor] (survey.core.js:774:24)
    at ItemValue [as constructor] (survey.core.js:17550:28)
    at JsonMetadataClass.eval [as creator] (survey.core.js:18043:30)
    at ./src/jsonobject.ts.JsonMetadata.createClass (survey.core.js:19364:34)
    at ./src/question_baseselect.ts.QuestionSelectBase.createItemValue (survey.core.js:31784:74)
    at ./src/question_baseselect.ts.QuestionSelectBase.copyChoiceItem (survey.core.js:33141:24)
    at ./src/question_baseselect.ts.QuestionSelectBase.getChoicesFromSelectQuestion (survey.core.js:33132:31)
    at QuestionCheckboxModel.get (survey.core.js:33024:29)
    at ./src/question_baseselect.ts.QuestionSelectBase.getFilteredChoices (survey.core.js:33017:20)
    at ./src/question_baseselect.ts.QuestionSelectBase.isVisibleCore (survey.core.js:33452:36)
    at QuestionCheckboxModel.get (survey.core.js:28550:25)