Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crash when custom property in style declaration #1857

Closed
connorskees opened this issue Dec 23, 2022 · 2 comments · Fixed by #1874
Closed

Crash when custom property in style declaration #1857

connorskees opened this issue Dec 23, 2022 · 2 comments · Fixed by #1874
Assignees

Comments

@connorskees
Copy link
Contributor

dart-sass will crash on the following input:

a {
    color: {
        --foo: bar;
    }
}
Stacktrace
Unexpected exception:
Invalid argument(s): parsedAsCustomProperty must be false if name doesn't begin with "--".


package:sass/src/ast/css/modifiable/declaration.dart 30  new ModifiableCssDeclaration
package:sass/src/visitor/evaluate.dart 1141              _EvaluateVisitor.visitDeclaration
package:sass/src/ast/sass/statement/declaration.dart 65  Declaration.accept
package:sass/src/visitor/evaluate.dart 1156              _EvaluateVisitor.visitDeclaration.<fn>      
package:sass/src/environment.dart 762                    Environment.scope
package:sass/src/visitor/evaluate.dart 1154              _EvaluateVisitor.visitDeclaration
package:sass/src/ast/sass/statement/declaration.dart 65  Declaration.accept
package:sass/src/visitor/evaluate.dart 1912              _EvaluateVisitor.visitStyleRule.<fn>.<fn>   
package:sass/src/visitor/evaluate.dart 3291              _EvaluateVisitor._withStyleRule
package:sass/src/visitor/evaluate.dart 1910              _EvaluateVisitor.visitStyleRule.<fn>        
package:sass/src/environment.dart 762                    Environment.scope
package:sass/src/visitor/evaluate.dart 3249              _EvaluateVisitor._withParent
package:sass/src/visitor/evaluate.dart 1909              _EvaluateVisitor.visitStyleRule
package:sass/src/ast/sass/statement/style_rule.dart 30   StyleRule.accept
package:sass/src/visitor/evaluate.dart 938               _EvaluateVisitor.visitStylesheet
package:sass/src/visitor/evaluate.dart 746               _EvaluateVisitor._execute.<fn>
package:sass/src/visitor/evaluate.dart 3139              _EvaluateVisitor._withEnvironment
package:sass/src/visitor/evaluate.dart 716               _EvaluateVisitor._execute
package:sass/src/visitor/evaluate.dart 532               _EvaluateVisitor.run.<fn>
dart:async                                               runZoned
package:sass/src/evaluation_context.dart 57              withEvaluationContext
package:sass/src/visitor/evaluate.dart 525               _EvaluateVisitor.run
package:sass/src/visitor/evaluate.dart 97                evaluate
package:sass/src/compile.dart 151                        _compileStylesheet
package:sass/src/compile.dart 68                         compile
package:sass/src/executable/compile_stylesheet.dart 97   compileStylesheet
d:\a\dart-sass\dart-sass\bin\sass.dart 65                main
@connorskees
Copy link
Contributor Author

connorskees commented Dec 23, 2022

A similar crash but with a different stack trace and message:

a {
    color: {
        --a: {
            foo: bar;
        }
    }
}
Stacktrace
Unexpected exception:
Invalid argument(s): Declarations whose names begin with "--" may not be nested.


package:sass/src/ast/sass/statement/declaration.dart 60  new Declaration.nested
package:sass/src/parse/stylesheet.dart 396               StylesheetParser._declarationOrBuffer.<fn>  
package:sass/src/parse/stylesheet.dart 3906              StylesheetParser._withChildren
package:sass/src/parse/stylesheet.dart 554               StylesheetParser._propertyOrVariableDeclaration
package:sass/src/parse/stylesheet.dart 577               StylesheetParser._declarationChild
package:sass/src/parse/scss.dart 99                      ScssParser.children
package:sass/src/parse/stylesheet.dart 3906              StylesheetParser._withChildren
package:sass/src/parse/stylesheet.dart 395               StylesheetParser._declarationOrBuffer       
package:sass/src/parse/stylesheet.dart 322               StylesheetParser._declarationOrStyleRule    
package:sass/src/parse/stylesheet.dart 189               StylesheetParser._statement
package:sass/src/parse/scss.dart 99                      ScssParser.children
package:sass/src/parse/stylesheet.dart 3906              StylesheetParser._withChildren
package:sass/src/parse/stylesheet.dart 490               StylesheetParser._styleRule
package:sass/src/parse/stylesheet.dart 275               StylesheetParser._variableDeclarationOrStyleRule
package:sass/src/parse/stylesheet.dart 190               StylesheetParser._statement
package:sass/src/parse/stylesheet.dart 91                StylesheetParser.parse.<fn>.<fn>
package:sass/src/parse/scss.dart 137                     ScssParser.statements
package:sass/src/parse/stylesheet.dart 82                StylesheetParser.parse.<fn>
package:sass/src/parse/parser.dart 713                   Parser.wrapSpanFormatException
package:sass/src/parse/stylesheet.dart 78                StylesheetParser.parse
package:sass/src/ast/sass/statement/stylesheet.dart 107  new Stylesheet.parseScss
package:sass/src/ast/sass/statement/stylesheet.dart 83   new Stylesheet.parse
package:sass/src/import_cache.dart 206                   ImportCache.importCanonical.<fn>
dart:collection                                          _LinkedHashMapMixin.putIfAbsent
package:sass/src/import_cache.dart 201                   ImportCache.importCanonical
package:sass/src/compile.dart 59                         compile
package:sass/src/executable/compile_stylesheet.dart 97   compileStylesheet
d:\a\dart-sass\dart-sass\bin\sass.dart 65                main

@connorskees
Copy link
Contributor Author

Related:

a {
    color: {
        --a: 2 {
            --foo: bar;
        }
    }
}
Stacktrace
package:sass/src/ast/sass/statement/declaration.dart 60  new Declaration.nested
package:sass/src/parse/stylesheet.dart 438               StylesheetParser._declarationOrBuffer.<fn>  
package:sass/src/parse/stylesheet.dart 3906              StylesheetParser._withChildren
package:sass/src/parse/stylesheet.dart 563               StylesheetParser._propertyOrVariableDeclaration
package:sass/src/parse/stylesheet.dart 577               StylesheetParser._declarationChild
package:sass/src/parse/scss.dart 99                      ScssParser.children
package:sass/src/parse/stylesheet.dart 3906              StylesheetParser._withChildren
package:sass/src/parse/stylesheet.dart 395               StylesheetParser._declarationOrBuffer       
package:sass/src/parse/stylesheet.dart 322               StylesheetParser._declarationOrStyleRule    
package:sass/src/parse/stylesheet.dart 189               StylesheetParser._statement
package:sass/src/parse/scss.dart 99                      ScssParser.children
package:sass/src/parse/stylesheet.dart 3906              StylesheetParser._withChildren
package:sass/src/parse/stylesheet.dart 490               StylesheetParser._styleRule
package:sass/src/parse/stylesheet.dart 275               StylesheetParser._variableDeclarationOrStyleRule
package:sass/src/parse/stylesheet.dart 190               StylesheetParser._statement
package:sass/src/parse/stylesheet.dart 91                StylesheetParser.parse.<fn>.<fn>
package:sass/src/parse/scss.dart 137                     ScssParser.statements
package:sass/src/parse/stylesheet.dart 82                StylesheetParser.parse.<fn>
package:sass/src/parse/parser.dart 713                   Parser.wrapSpanFormatException
package:sass/src/parse/stylesheet.dart 78                StylesheetParser.parse
package:sass/src/ast/sass/statement/stylesheet.dart 107  new Stylesheet.parseScss
package:sass/src/ast/sass/statement/stylesheet.dart 83   new Stylesheet.parse
package:sass/src/import_cache.dart 206                   ImportCache.importCanonical.<fn>
dart:collection                                          _LinkedHashMapMixin.putIfAbsent
package:sass/src/import_cache.dart 201                   ImportCache.importCanonical
package:sass/src/compile.dart 59                         compile
package:sass/src/executable/compile_stylesheet.dart 97   compileStylesheet
d:\a\dart-sass\dart-sass\bin\sass.dart 65                main

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants