Uploaded image for project: 'Couchbase Server'
  1. Couchbase Server
  2. MB-49869

Query panic on double access to empty array

    XMLWordPrintable

Details

    • Untriaged
    • 1
    • Unknown

    Description

      Repro:

      INSERT INTO default VALUES ("k001",
      {
                  "breaks": [],
                  "x": 5,
                  "y": "abbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
              });
       
      select 1 from default use keys "k001" WHERE ( breaks[0] IS NOT NULL OR breaks[0] IS MISSING);
      

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          marco.greco Marco Greco created issue -
          Sitaram.Vemulapalli Sitaram Vemulapalli made changes -
          Field Original Value New Value
          Link This issue is triggered by CBSE-11089 [ CBSE-11089 ]
          marco.greco Marco Greco made changes -
          Resolution Fixed [ 1 ]
          Status Open [ 1 ] Resolved [ 5 ]

          Wayne Siu 

          • Is the issue reported by a customer?Yes
          • Do we have a CBSE opened for the issue? Yes CBSE-11089
          • Is there a feasible workaround? The customer can try to rewrite the query
          • Will the customer upgrade to 6.6.4?Vrinda Davda - will the customer upgrade to 6.6.4 for this fix?
          • Is there other info that should be taken into consideration when considering this ticket for 6.6.4? It is a regression introduced in 6.5 with a new code path. Post 6.5 we get a panic when an empty array is accessed using the same subscript multiple times in the query.
            For e.g.
            changing
            (shift.breaks[0] IS NOT NULL OR shift.breaks[0] IS MISSING)
            TO

            (ARRAY_LENGTH(shift.breaks) == 0 OR shift.breaks[0] IS NOT NULL)
            does not give the panic.

            pre-6.5 the same query would work though slower.
          kamini.jagtiani Kamini Jagtiani (Inactive) added a comment - - edited Wayne Siu   Is the issue reported by a customer? Yes Do we have a CBSE opened for the issue? Yes CBSE-11089 Is there a feasible workaround? The customer can try to rewrite the query Will the customer upgrade to 6.6.4? Vrinda Davda - will the customer upgrade to 6.6.4 for this fix? Is there other info that should be taken into consideration when considering this ticket for 6.6.4? It is a regression introduced in 6.5 with a new code path. Post 6.5 we get a panic when an empty array is accessed using the same subscript multiple times in the query. For e.g. changing (shift.breaks [0]  IS NOT NULL OR shift.breaks [0]  IS MISSING) TO (ARRAY_LENGTH(shift.breaks) == 0 OR shift.breaks [0]  IS NOT NULL) does not give the panic. pre-6.5 the same query would work though slower.

          Build couchbase-server-7.1.0-1829 contains go_json commit 0db8635 with commit message:
          MB-49869 panic on double access to empty array

          build-team Couchbase Build Team added a comment - Build couchbase-server-7.1.0-1829 contains go_json commit 0db8635 with commit message: MB-49869 panic on double access to empty array
          marco.greco Marco Greco added a comment -

          Please be aware that for mad hatter, this wouldn't be a straight cherry pick, as the code base is different.
          The fix would be similar, but in a different file.

          marco.greco Marco Greco added a comment - Please be aware that for mad hatter, this wouldn't be a straight cherry pick, as the code base is different. The fix would be similar, but in a different file.
          Sitaram.Vemulapalli Sitaram Vemulapalli made changes -
          Assignee Marco Greco [ marco.greco ] Pierre Regazzoni [ JIRAUSER25157 ]
          wayne Wayne Siu made changes -
          Labels approved-for-6.6.4
          wayne Wayne Siu made changes -
          Link This issue blocks MB-48997 [ MB-48997 ]
          wayne Wayne Siu made changes -
          Link This issue blocks MB-48997 [ MB-48997 ]
          wayne Wayne Siu made changes -
          Link This issue relates to MB-48997 [ MB-48997 ]
          wayne Wayne Siu made changes -
          Assignee Pierre Regazzoni [ JIRAUSER25157 ] Marco Greco [ marco.greco ]
          wayne Wayne Siu added a comment -

          Re-opening it for 6.6.4.

          wayne Wayne Siu added a comment - Re-opening it for 6.6.4.
          wayne Wayne Siu made changes -
          Resolution Fixed [ 1 ]
          Status Resolved [ 5 ] Reopened [ 4 ]
          wayne Wayne Siu made changes -
          Fix Version/s 6.6.4 [ 17614 ]
          wayne Wayne Siu made changes -
          Link This issue blocks MB-47673 [ MB-47673 ]
          marco.greco Marco Greco made changes -
          Resolution Fixed [ 1 ]
          Status Reopened [ 4 ] Resolved [ 5 ]
          marco.greco Marco Greco made changes -
          Assignee Marco Greco [ marco.greco ] Pierre Regazzoni [ JIRAUSER25157 ]
          wayne Wayne Siu made changes -
          Link This issue blocks MB-50048 [ MB-50048 ]
          ceej Chris Hillery added a comment - - edited

          Build 6.6.5-10060 contained go_json commit: c61cb9ce4fb5d42cd25a0f881c78aa31b6495322
          MB-49869 panic on double access to empty array

          ceej Chris Hillery added a comment - - edited Build 6.6.5-10060 contained go_json commit: c61cb9ce4fb5d42cd25a0f881c78aa31b6495322 MB-49869 panic on double access to empty array
          pierre.regazzoni Pierre Regazzoni added a comment - - edited

          Verified on 6.6.5-10060

          cbq> select 1 from default use keys "k001" WHERE ( breaks[0] IS NOT NULL OR breaks[0] IS MISSING);
          {
              "requestID": "824227b1-031c-4a1a-9447-00fdc46539ba",
              "signature": {
                  "$1": "number"
              },
              "results": [
              {
                  "$1": 1
              }
              ],
              "status": "success",
           

          pierre.regazzoni Pierre Regazzoni added a comment - - edited Verified on 6.6.5-10060 cbq> select 1 from default use keys "k001" WHERE ( breaks[ 0 ] IS NOT NULL OR breaks[ 0 ] IS MISSING); {     "requestID" : "824227b1-031c-4a1a-9447-00fdc46539ba" ,     "signature" : {         "$1" : "number"     },     "results" : [     {         "$1" : 1     }     ],     "status" : "success" ,
          pierre.regazzoni Pierre Regazzoni made changes -
          Status Resolved [ 5 ] Closed [ 6 ]
          wayne Wayne Siu made changes -
          Labels approved-for-6.6.4 approved-for-6.6.4 approved-for-7.0.4
          wayne Wayne Siu made changes -
          Fix Version/s 7.0.4 [ 18322 ]
          wayne Wayne Siu added a comment -

          Re-opening it for 7.0.4.

          wayne Wayne Siu added a comment - Re-opening it for 7.0.4.
          wayne Wayne Siu made changes -
          Assignee Pierre Regazzoni [ JIRAUSER25157 ] Marco Greco [ marco.greco ]
          Resolution Fixed [ 1 ]
          Status Closed [ 6 ] Reopened [ 4 ]
          wayne Wayne Siu made changes -
          Link This issue blocks MB-48997 [ MB-48997 ]
          wayne Wayne Siu made changes -
          Link This issue relates to MB-48997 [ MB-48997 ]
          kamini.jagtiani Kamini Jagtiani (Inactive) made changes -
          Fix Version/s Morpheus [ 17651 ]
          Fix Version/s 6.6.5 [ 17614 ]
          Fix Version/s Neo [ 17615 ]
          Fix Version/s 7.0.4 [ 18322 ]
          marco.greco Marco Greco made changes -
          Fix Version/s Neo [ 17615 ]
          Fix Version/s 7.0.4 [ 18322 ]
          Fix Version/s 6.6.5 [ 17614 ]
          Fix Version/s Morpheus [ 17651 ]
          marco.greco Marco Greco added a comment -

          Fix for 7.0.4 already in

          marco.greco Marco Greco added a comment - Fix for 7.0.4 already in
          marco.greco Marco Greco made changes -
          Resolution Fixed [ 1 ]
          Status Reopened [ 4 ] Resolved [ 5 ]
          marco.greco Marco Greco made changes -
          Status Resolved [ 5 ] Closed [ 6 ]

          People

            marco.greco Marco Greco
            marco.greco Marco Greco
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes

                PagerDuty