Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-40855

Connect: SIGSEGV in xtrc from BLOCK::operator new upon reading a JSON file with deeply nested objects

    XMLWordPrintable

Details

    • Can result in hang or crash

    Description

      Replay using CLI

      INSTALL SONAME 'ha_connect';
      CREATE TABLE t1 (n INT) ENGINE=CONNECT TABLE_TYPE=JSON FILE_NAME='/tmp/json-deep-nesting.json' LRECL=100000;
      SELECT * FROM t1;
      

      Leads to:

      CS 13.1.0 f4299f0bbf38820794295bd4cae427544681cbd1 (Optimized, Clang 18.1.3-11) Build 17/08/2026

      Core was generated by `/test/MD170826-mariadb-13.1.0-linux-x86_64-opt/bin/mariadbd --no-defaults --loo'.
      Program terminated with signal SIGSEGV, Segmentation fault.
      #0  xtrc (x=256, fmt=0x7e7340b9f1fd "New BLOCK: size=%d g=%p p=%p\n")at /test/13.1_opt/storage/connect/plugutil.cpp:119
       
      [Current thread is 1 (LWP 900572)]
      (gdb) bt
      #0  xtrc (x=256, fmt=0x7e7340b9f1fd "New BLOCK: size=%d g=%p p=%p\n")at /test/13.1_opt/storage/connect/plugutil.cpp:119
      #1  0x00007e7340b02ed8 in BLOCK::operator new (size=48, g=0x7672300368b0, g@entry=0x7e73430cb130, mp=0x0)at /test/13.1_opt/storage/connect/block.h:41
      #2  JDOC::ParseValue (this=this@entry=0x767227fff5d0, g=g@entry=0x7672300368b0, i=@0x7e73431125d0: 9125)at /test/13.1_opt/storage/connect/json.cpp:687
      #3  0x00007e7340b02d31 in JDOC::ParseObject (this=0x767227fff5d0, g=g@entry=0x7672300368b0, i=@0x7e73431125d0: 9125)at /test/13.1_opt/storage/connect/json.cpp:643
      #4  0x00007e7340b03095 in JDOC::ParseValue (this=this@entry=0x767227fff5d0, g=g@entry=0x7672300368b0, i=@0x7e73431125d0: 9125)at /test/13.1_opt/storage/connect/json.cpp:708
      #5  0x00007e7340b02d31 in JDOC::ParseObject (this=0x767227fff5d0, g=g@entry=0x7672300368b0, i=@0x7e73431125d0: 9125)at /test/13.1_opt/storage/connect/json.cpp:643
      #6  0x00007e7340b03095 in JDOC::ParseValue (this=this@entry=0x767227fff5d0, g=g@entry=0x7672300368b0, i=@0x7e73431125d0: 9125)at /test/13.1_opt/storage/connect/json.cpp:708
      #7  0x00007e7340b02d31 in JDOC::ParseObject (this=0x767227fff5d0, g=g@entry=0x7672300368b0, i=@0x7e73431125d0: 9125)at /test/13.1_opt/storage/connect/json.cpp:643
      [..]
      #328 0x00007e7340b03095 in JDOC::ParseValue (this=this@entry=0x767227fff5d0, g=g@entry=0x7672300368b0, i=@0x7e73431125d0: 9125)at /test/13.1_opt/storage/connect/json.cpp:708
      #329 0x00007e7340b02d31 in JDOC::ParseObject (this=0x767227fff5d0, g=g@entry=0x7672300368b0, i=@0x7e73431125d0: 9125)at /test/13.1_opt/storage/connect/json.cpp:643
      #330 0x00007e7340b03095 in JDOC::ParseValue (this=this@entry=0x767227fff5d0, g=g@entry=0x7672300368b0, i=@0x7e73431125d0: 9125)at /test/13.1_opt/storage/connect/json.cpp:708
      #331 0x00007e7340b02d31 in JDOC::ParseObject (this=0x767227fff5d0,
      

      CS 13.1.0 f4299f0bbf38820794295bd4cae427544681cbd1 (Debug, Clang 18.1.3-11) Build 17/08/2026

      Core was generated by `/test/MD170826-mariadb-13.1.0-linux-x86_64-dbg/bin/mariadbd --no-defaults --loo'.
      Program terminated with signal SIGSEGV, Segmentation fault.
      #0  0x000070244cf27b2c in xtrc (x=25061, fmt=0x70247024f070 "\220\360$p$p")at /test/13.1_dbg/storage/connect/plugutil.cpp:118
       
      [Current thread is 1 (LWP 900474)]
      (gdb) bt
      #0  0x000070244cf27b2c in xtrc (x=25061, fmt=0x70247024f070 "\220\360$p$p")at /test/13.1_dbg/storage/connect/plugutil.cpp:118
      #1  0x000070244ced4773 in BLOCK::operator new (size=32, g=0x68233c048f80, mp=0x0) at /test/13.1_dbg/storage/connect/block.h:41
      #2  0x000070244cf0663c in JDOC::ParseObject (this=0x682333fff5d0, g=0x68233c048f80, i=@0x70247029405c: 3266)at /test/13.1_dbg/storage/connect/json.cpp:625
      #3  0x000070244cf06eeb in JDOC::ParseValue (this=0x682333fff5d0, g=0x68233c048f80, i=@0x70247029405c: 3266)at /test/13.1_dbg/storage/connect/json.cpp:708
      #4  0x000070244cf06878 in JDOC::ParseObject (this=0x682333fff5d0, g=0x68233c048f80, i=@0x70247029405c: 3266)at /test/13.1_dbg/storage/connect/json.cpp:643
      #5  0x000070244cf06eeb in JDOC::ParseValue (this=0x682333fff5d0, g=0x68233c048f80, i=@0x70247029405c: 3266)at /test/13.1_dbg/storage/connect/json.cpp:708
      #6  0x000070244cf06878 in JDOC::ParseObject (this=0x682333fff5d0, g=0x68233c048f80, i=@0x70247029405c: 3266)at /test/13.1_dbg/storage/connect/json.cpp:643
      #7  0x000070244cf06eeb in JDOC::ParseValue (this=0x682333fff5d0, g=0x68233c048f80, i=@0x70247029405c: 3266)at /test/13.1_dbg/storage/connect/json.cpp:708
      [..]
      #326 0x000070244cf06878 in JDOC::ParseObject (this=0x682333fff5d0, g=0x68233c048f80, i=@0x70247029405c: 3266)at /test/13.1_dbg/storage/connect/json.cpp:643
      #327 0x000070244cf06eeb in JDOC::ParseValue (this=0x682333fff5d0, g=0x68233c048f80, i=@0x70247029405c: 3266)at /test/13.1_dbg/storage/connect/json.cpp:708
      #328 0x000070244cf06878 in JDOC::ParseObject (this=0x682333fff5d0, g=0x68233c048f80, i=@0x70247029405c: 3266)at /test/13.1_dbg/storage/connect/json.cpp:643
      #329 0x000070244cf06eeb in JDOC::ParseValue (this=0x682333fff5d0, g=0x68233c048f80, i=@0x70247029405c: 3266)at /test/13.1_dbg/storage/connect/json.cpp:708
      #330 0x000070244cf06878 in JDOC::ParseObject (this=0x682333fff5d0, g=0x68233c048f80, i=@0x70247029405c: 3266)at /test/13.1_dbg/storage/connect/json.cpp:643
      #331 0x000070244cf06eeb in JDOC::ParseValue (this=0x682333fff5d0, g=0x68233c048f80, i=@0x70247029405c: 3266)
      

      Bug Detection Matrix

          Rel    o/d  Build   Commit                                    UniqueID observed
      CS  10.6   dbg  170826  210ab6edf47fa73f3b77e974ed2e9357ccdd051c  SIGSEGV|xtrc|BLOCK::operator new|JDOC::ParseObject|JDOC::ParseValue
      CS  10.6   opt  170826  210ab6edf47fa73f3b77e974ed2e9357ccdd051c  SIGSEGV|GetTraceValue|xtrc|BLOCK::operator new|JDOC::ParseValue
      CS  10.11  dbg  170826  0fe578244bc2904ae482d7836a7e3d4415e3482f  SIGSEGV|GetTraceValue|xtrc|BLOCK::operator new|JDOC::ParseValue
      CS  10.11  opt  170826  0fe578244bc2904ae482d7836a7e3d4415e3482f  SIGSEGV|GetTraceValue|xtrc|BLOCK::operator new|JDOC::ParseValue
      CS  11.4   dbg  170826  77c8f791618136002e5724ca81f365134b583a29  SIGSEGV|GetTraceValue|xtrc|BLOCK::operator new|JDOC::ParseValue
      CS  11.4   opt  170826  77c8f791618136002e5724ca81f365134b583a29  SIGSEGV|xtrc|BLOCK::operator new|JDOC::ParseValue|JDOC::ParseObject
      CS  11.8   dbg  170826  d26f9ab217a7fcf9d4eccc62c01020ff275ff42e  SIGSEGV|xtrc|BLOCK::operator new|JDOC::ParseObject|JDOC::ParseValue
      CS  11.8   opt  170826  d26f9ab217a7fcf9d4eccc62c01020ff275ff42e  SIGSEGV|intern_sys_var_ptr|GetTraceValue|xtrc|BLOCK::operator new
      CS  12.3   dbg  170826  91156c3de58762196605150ab3f756fe952592d1  SIGSEGV|xtrc|BLOCK::operator new|JDOC::ParseObject|JDOC::ParseValue
      CS  12.3   opt  170826  91156c3de58762196605150ab3f756fe952592d1  SIGSEGV|GetTraceValue|xtrc|BLOCK::operator new|JDOC::ParseValue
      CS  13.0   dbg  170826  a848493c6fe031f23606144420c1ca1e467cbd81  SIGSEGV|xtrc|BLOCK::operator new|JDOC::ParseObject|JDOC::ParseValue
      CS  13.0   opt  170826  a848493c6fe031f23606144420c1ca1e467cbd81  SIGSEGV|GetTraceValue|xtrc|BLOCK::operator new|JDOC::ParseValue
      CS  13.1   dbg  170826  f4299f0bbf38820794295bd4cae427544681cbd1  SIGSEGV|xtrc|BLOCK::operator new|JDOC::ParseObject|JDOC::ParseValue
      CS  13.1   opt  170826  f4299f0bbf38820794295bd4cae427544681cbd1  SIGSEGV|xtrc|BLOCK::operator new|JDOC::ParseValue|JDOC::ParseObject
      ES  11.4   dbg  060526  90f707057d44f1b5c013a0c3672fd12f32ea7085  SIGSEGV|GetTraceValue|xtrc|BLOCK::operator new|JDOC::ParseObject
      ES  11.4   opt  060526  90f707057d44f1b5c013a0c3672fd12f32ea7085  SIGSEGV|xtrc|BLOCK::operator new|JDOC::ParseValue|JDOC::ParseObject
      ES  11.8   dbg  060526  1499789de285a8109d68d79347de0281865b28f4  SIGSEGV|xtrc|BLOCK::operator new|JDOC::ParseObject|JDOC::ParseValue
      ES  11.8   opt  060526  1499789de285a8109d68d79347de0281865b28f4  SIGSEGV|mysql_sys_var_ulonglong|GetTraceValue|xtrc|BLOCK::operator new
      

      No SAN issue detected

      Attachments

        Activity

          People

            sanja Oleksandr Byelkin
            ramesh Ramesh Sivaraman
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0d
                0d
                Logged:
                Time Spent - 40m
                40m

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.