Test malformed sourceURL magic comment.
{
    id : <messageId>
    result : {
        exceptionDetails : {
            columnNumber : 0
            exception : {
                className : SyntaxError
                description : SyntaxError: Unexpected token / in JSON at position 0     at JSON.parse (<anonymous>)     at <anonymous>:1:6
                objectId : <objectId>
                subtype : error
                type : object
            }
            exceptionId : <exceptionId>
            lineNumber : 0
            scriptId : <scriptId>
            text : Uncaught
        }
        result : {
            className : SyntaxError
            description : SyntaxError: Unexpected token / in JSON at position 0     at JSON.parse (<anonymous>)     at <anonymous>:1:6
            objectId : <objectId>
            subtype : error
            type : object
        }
    }
}
{
    id : <messageId>
    result : {
        exceptionDetails : {
            columnNumber : 0
            exception : {
                className : SyntaxError
                description : SyntaxError: Unexpected token / in JSON at position 0     at JSON.parse (<anonymous>)     at <anonymous>:1:6
                objectId : <objectId>
                subtype : error
                type : object
            }
            exceptionId : <exceptionId>
            lineNumber : 0
            scriptId : <scriptId>
            text : Uncaught
        }
        result : {
            className : SyntaxError
            description : SyntaxError: Unexpected token / in JSON at position 0     at JSON.parse (<anonymous>)     at <anonymous>:1:6
            objectId : <objectId>
            subtype : error
            type : object
        }
    }
}
{
    id : <messageId>
    result : {
        exceptionDetails : {
            columnNumber : 0
            exception : {
                className : SyntaxError
                description : SyntaxError: Unexpected token / in JSON at position 0     at JSON.parse (<anonymous>)     at <anonymous>:1:6
                objectId : <objectId>
                subtype : error
                type : object
            }
            exceptionId : <exceptionId>
            lineNumber : 0
            scriptId : <scriptId>
            text : Uncaught
        }
        result : {
            className : SyntaxError
            description : SyntaxError: Unexpected token / in JSON at position 0     at JSON.parse (<anonymous>)     at <anonymous>:1:6
            objectId : <objectId>
            subtype : error
            type : object
        }
    }
}
{
    id : <messageId>
    result : {
        exceptionDetails : {
            columnNumber : 0
            exception : {
                className : SyntaxError
                description : SyntaxError: Unexpected token / in JSON at position 0     at JSON.parse (<anonymous>)     at <anonymous>:1:6
                objectId : <objectId>
                subtype : error
                type : object
            }
            exceptionId : <exceptionId>
            lineNumber : 0
            scriptId : <scriptId>
            text : Uncaught
        }
        result : {
            className : SyntaxError
            description : SyntaxError: Unexpected token / in JSON at position 0     at JSON.parse (<anonymous>)     at <anonymous>:1:6
            objectId : <objectId>
            subtype : error
            type : object
        }
    }
}
{
    id : <messageId>
    result : {
        exceptionDetails : {
            columnNumber : 0
            exception : {
                className : SyntaxError
                description : SyntaxError: Unexpected token / in JSON at position 0     at JSON.parse (<anonymous>)     at <anonymous>:1:6
                objectId : <objectId>
                subtype : error
                type : object
            }
            exceptionId : <exceptionId>
            lineNumber : 0
            scriptId : <scriptId>
            text : Uncaught
        }
        result : {
            className : SyntaxError
            description : SyntaxError: Unexpected token / in JSON at position 0     at JSON.parse (<anonymous>)     at <anonymous>:1:6
            objectId : <objectId>
            subtype : error
            type : object
        }
    }
}
{
    id : <messageId>
    result : {
        exceptionDetails : {
            columnNumber : 0
            exception : {
                className : SyntaxError
                description : SyntaxError: Unexpected token / in JSON at position 0     at JSON.parse (<anonymous>)     at <anonymous>:1:6
                objectId : <objectId>
                subtype : error
                type : object
            }
            exceptionId : <exceptionId>
            lineNumber : 0
            scriptId : <scriptId>
            text : Uncaught
        }
        result : {
            className : SyntaxError
            description : SyntaxError: Unexpected token / in JSON at position 0     at JSON.parse (<anonymous>)     at <anonymous>:1:6
            objectId : <objectId>
            subtype : error
            type : object
        }
    }
}
