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

null field is created with CREATE..SELECT

Details

    Description

      CREATE TABLE t1 SELECT NULL UNION SELECT NULL;
      SHOW CREATE TABLE t1;
      

      results in

      CREATE TABLE `t1` (
        `NULL` null DEFAULT NULL
      ) ENGINE=MEMORY DEFAULT CHARSET=latin1
      

      The null type is not supposed for a user's use. BINARY(0) should be created instead, like in the following case:

      CREATE OR REPLACE TABLE t2 SELECT NULL;
      SHOW CREATE TABLE t2;
      

      Result:

      CREATE TABLE `t2` (
        `NULL` binary(0) DEFAULT NULL
      ) ENGINE=MEMORY DEFAULT CHARSET=latin1
      

      Original report

      Assertion `l_offset >= 0 && table->s->rec_buff_length - l_offset > 0' failed in Field::ptr_in_record and errno: 168 "Unknown (generic) error from engine" from InnoDB on ALTER

      SET storage_engine=MEMORY;
      CREATE TABLE t5 SELECT NULL UNION SELECT NULL;
      ALTER TABLE t5 ADD INDEX (`PRIMARY`);
      

      Leads to:

      10.6.0 9118fd360a3da0bba521caf2a35c424968235ac4 (Debug)

      mysqld: /test/10.6_dbg/sql/field.h:1155: const uchar* Field::ptr_in_record(const uchar*) const: Assertion `l_offset >= 0 && table->s->rec_buff_length - l_offset > 0' failed.
      

      10.6.0 9118fd360a3da0bba521caf2a35c424968235ac4 (Debug)

      Core was generated by `/test/MD010121-mariadb-10.6.0-linux-x86_64-dbg/bin/mysqld --no-defaults --core-'.
      Program terminated with signal SIGABRT, Aborted.
      #0  __pthread_kill (threadid=<optimized out>, signo=signo@entry=6)
          at ../sysdeps/unix/sysv/linux/pthread_kill.c:56
      [Current thread is 1 (Thread 0x147124605700 (LWP 350916))]
      (gdb) bt
      #0  __pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ../sysdeps/unix/sysv/linux/pthread_kill.c:56
      #1  0x000055b158bd60d7 in my_write_core (sig=sig@entry=6) at /test/10.6_dbg/mysys/stacktrace.c:424
      #2  0x000055b15836aab1 in handle_fatal_signal (sig=6) at /test/10.6_dbg/sql/signal_handler.cc:330
      #3  <signal handler called>
      #4  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
      #5  0x00001471271c3859 in __GI_abort () at abort.c:79
      #6  0x00001471271c3729 in __assert_fail_base (fmt=0x147127359588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x55b158d5ed70 "l_offset >= 0 && table->s->rec_buff_length - l_offset > 0", file=0x55b158d1b63c "/test/10.6_dbg/sql/field.h", line=1155, function=<optimized out>) at assert.c:92
      #7  0x00001471271d4f36 in __GI___assert_fail (assertion=assertion@entry=0x55b158d5ed70 "l_offset >= 0 && table->s->rec_buff_length - l_offset > 0", file=file@entry=0x55b158d1b63c "/test/10.6_dbg/sql/field.h", line=line@entry=1155, function=function@entry=0x55b158d5ed38 "const uchar* Field::ptr_in_record(const uchar*) const") at assert.c:101
      #8  0x000055b15834a238 in Field::ptr_in_record (record=<optimized out>, this=0x1470e0044558) at /test/10.6_dbg/sql/field.h:1155
      #9  Column_definition::Column_definition (this=0x1470e0013220, thd=0x1470e0000db8, old_field=<optimized out>, orig_field=0x1470e0044558) at /test/10.6_dbg/sql/field.cc:10815
      #10 0x000055b158170e10 in Create_field::Create_field (orig_field=0x1470e0044558, old_field=0x1470e0044558, thd=0x1470e0000db8, this=0x1470e0013220) at /test/10.6_dbg/sql/field.h:5605
      #11 mysql_prepare_alter_table (thd=thd@entry=0x1470e0000db8, table=table@entry=0x1470e00440a8, create_info=create_info@entry=0x1471246034a0, alter_info=alter_info@entry=0x1471246033d0, alter_ctx=alter_ctx@entry=0x147124602890) at /test/10.6_dbg/sql/sql_table.cc:8523
      #12 0x000055b158181030 in mysql_alter_table (thd=thd@entry=0x1470e0000db8, new_db=new_db@entry=0x1470e0005828, new_name=new_name@entry=0x1470e0005c28, create_info=create_info@entry=0x1471246034a0, table_list=<optimized out>, table_list@entry=0x1470e00127b8, alter_info=alter_info@entry=0x1471246033d0, order_num=0, order=0x0, ignore=false, if_exists=false) at /test/10.6_dbg/sql/sql_table.cc:10352
      #13 0x000055b158207640 in Sql_cmd_alter_table::execute (this=<optimized out>, thd=0x1470e0000db8) at /test/10.6_dbg/sql/structs.h:559
      #14 0x000055b1580ab4c6 in mysql_execute_command (thd=thd@entry=0x1470e0000db8) at /test/10.6_dbg/sql/sql_parse.cc:5858
      #15 0x000055b158092072 in mysql_parse (thd=thd@entry=0x1470e0000db8, rawbuf=<optimized out>, length=<optimized out>, parser_state=parser_state@entry=0x1471246043d0) at /test/10.6_dbg/sql/sql_parse.cc:7881
      #16 0x000055b1580a01ec in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x1470e0000db8, packet=packet@entry=0x1470e0008d39 "ALTER TABLE t5 ADD INDEX (`PRIMARY`)", packet_length=packet_length@entry=36) at /test/10.6_dbg/sql/sql_class.h:1293
      #17 0x000055b1580a352d in do_command (thd=0x1470e0000db8) at /test/10.6_dbg/sql/sql_parse.cc:1348
      #18 0x000055b1581ff7fc in do_handle_one_connection (connect=<optimized out>, connect@entry=0x55b15a79eb78, put_in_cache=put_in_cache@entry=true) at /test/10.6_dbg/sql/sql_connect.cc:1410
      #19 0x000055b1581fff03 in handle_one_connection (arg=arg@entry=0x55b15a79eb78) at /test/10.6_dbg/sql/sql_connect.cc:1312
      #20 0x000055b1586b588f in pfs_spawn_thread (arg=0x55b15a6d9f58) at /test/10.6_dbg/storage/perfschema/pfs.cc:2201
      #21 0x00001471276d1609 in start_thread (arg=<optimized out>) at pthread_create.c:477
      #22 0x00001471272c0293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
      

      Bug confirmed present in:
      MariaDB: 10.5.9 (dbg), 10.6.0 (dbg)

      Bug (or feature/syntax) confirmed not present in:
      MariaDB: 10.2.37 (dbg), 10.2.37 (opt), 10.3.28 (dbg), 10.3.28 (opt), 10.4.18 (dbg), 10.4.18 (opt), 10.5.9 (opt), 10.6.0 (opt)
      MySQL: 5.5.62 (dbg), 5.5.62 (opt), 5.6.50 (dbg), 5.6.50 (opt), 5.7.32 (dbg), 5.7.32 (opt), 8.0.22 (dbg), 8.0.22 (opt)

      InnoDB fails also, with errno 168:

      10.6.0 9118fd360a3da0bba521caf2a35c424968235ac4 (Debug)

      10.6.0>SET storage_engine=InnoDB;
      Query OK, 0 rows affected, 1 warning (0.000 sec)
       
      10.6.0>CREATE TABLE t5 SELECT NULL UNION SELECT NULL;
      ERROR 1005 (HY000): Can't create table `test`.`t5` (errno: 168 "Unknown (generic) error from engine")
      

      MyISAM fails in same way as Memory:

      10.6.0 9118fd360a3da0bba521caf2a35c424968235ac4 (Debug)

      mysqld: /test/10.6_dbg/sql/field.h:1155: const uchar* Field::ptr_in_record(const uchar*) const: Assertion `l_offset >= 0 && table->s->rec_buff_length - l_offset > 0' failed.
      

      10.6.0 9118fd360a3da0bba521caf2a35c424968235ac4 (Debug)

      Core was generated by `/test/MD010121-mariadb-10.6.0-linux-x86_64-dbg/bin/mysqld --no-defaults --core-'.
      Program terminated with signal SIGABRT, Aborted.
      #0  __pthread_kill (threadid=<optimized out>, signo=signo@entry=6)
          at ../sysdeps/unix/sysv/linux/pthread_kill.c:56
      [Current thread is 1 (Thread 0x151c20142700 (LWP 638377))]
      (gdb) bt
      #0  __pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ../sysdeps/unix/sysv/linux/pthread_kill.c:56
      #1  0x00005573bc8800d7 in my_write_core (sig=sig@entry=6) at /test/10.6_dbg/mysys/stacktrace.c:424
      #2  0x00005573bc014ab1 in handle_fatal_signal (sig=6) at /test/10.6_dbg/sql/signal_handler.cc:330
      #3  <signal handler called>
      #4  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
      #5  0x0000151c22d00859 in __GI_abort () at abort.c:79
      #6  0x0000151c22d00729 in __assert_fail_base (fmt=0x151c22e96588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x5573bca08d70 "l_offset >= 0 && table->s->rec_buff_length - l_offset > 0", file=0x5573bc9c563c "/test/10.6_dbg/sql/field.h", line=1155, function=<optimized out>) at assert.c:92
      #7  0x0000151c22d11f36 in __GI___assert_fail (assertion=assertion@entry=0x5573bca08d70 "l_offset >= 0 && table->s->rec_buff_length - l_offset > 0", file=file@entry=0x5573bc9c563c "/test/10.6_dbg/sql/field.h", line=line@entry=1155, function=function@entry=0x5573bca08d38 "const uchar* Field::ptr_in_record(const uchar*) const") at assert.c:101
      #8  0x00005573bbff4238 in Field::ptr_in_record (record=<optimized out>, this=0x151bdc044478) at /test/10.6_dbg/sql/field.h:1155
      #9  Column_definition::Column_definition (this=0x151bdc013220, thd=0x151bdc000db8, old_field=<optimized out>, orig_field=0x151bdc044478) at /test/10.6_dbg/sql/field.cc:10815
      #10 0x00005573bbe1ae10 in Create_field::Create_field (orig_field=0x151bdc044478, old_field=0x151bdc044478, thd=0x151bdc000db8, this=0x151bdc013220) at /test/10.6_dbg/sql/field.h:5605
      #11 mysql_prepare_alter_table (thd=thd@entry=0x151bdc000db8, table=table@entry=0x151bdc043fc8, create_info=create_info@entry=0x151c201404a0, alter_info=alter_info@entry=0x151c201403d0, alter_ctx=alter_ctx@entry=0x151c2013f890) at /test/10.6_dbg/sql/sql_table.cc:8523
      #12 0x00005573bbe2b030 in mysql_alter_table (thd=thd@entry=0x151bdc000db8, new_db=new_db@entry=0x151bdc005828, new_name=new_name@entry=0x151bdc005c28, create_info=create_info@entry=0x151c201404a0, table_list=<optimized out>, table_list@entry=0x151bdc0127b8, alter_info=alter_info@entry=0x151c201403d0, order_num=0, order=0x0, ignore=false, if_exists=false) at /test/10.6_dbg/sql/sql_table.cc:10352
      #13 0x00005573bbeb1640 in Sql_cmd_alter_table::execute (this=<optimized out>, thd=0x151bdc000db8) at /test/10.6_dbg/sql/structs.h:559
      #14 0x00005573bbd554c6 in mysql_execute_command (thd=thd@entry=0x151bdc000db8) at /test/10.6_dbg/sql/sql_parse.cc:5858
      #15 0x00005573bbd3c072 in mysql_parse (thd=thd@entry=0x151bdc000db8, rawbuf=<optimized out>, length=<optimized out>, parser_state=parser_state@entry=0x151c201413d0) at /test/10.6_dbg/sql/sql_parse.cc:7881
      #16 0x00005573bbd4a1ec in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x151bdc000db8, packet=packet@entry=0x151bdc008d39 "ALTER TABLE t5 ADD INDEX (`PRIMARY`)", packet_length=packet_length@entry=36) at /test/10.6_dbg/sql/sql_class.h:1293
      #17 0x00005573bbd4d52d in do_command (thd=0x151bdc000db8) at /test/10.6_dbg/sql/sql_parse.cc:1348
      #18 0x00005573bbea97fc in do_handle_one_connection (connect=<optimized out>, connect@entry=0x5573bf2629a8, put_in_cache=put_in_cache@entry=true) at /test/10.6_dbg/sql/sql_connect.cc:1410
      #19 0x00005573bbea9f03 in handle_one_connection (arg=arg@entry=0x5573bf2629a8) at /test/10.6_dbg/sql/sql_connect.cc:1312
      #20 0x00005573bc35f88f in pfs_spawn_thread (arg=0x5573bf18a898) at /test/10.6_dbg/storage/perfschema/pfs.cc:2201
      #21 0x0000151c2320e609 in start_thread (arg=<optimized out>) at pthread_create.c:477
      #22 0x0000151c22dfd293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
      

      10.4 (dbg) does not fail:

      10.4.18 3454b5cf35a61e8f6cfab376638520dee4a50609 (Debug)

      10.4.18>ALTER TABLE t5 ADD INDEX (`PRIMARY`);
      ERROR 1072 (42000): Key column 'PRIMARY' doesn't exist in table
      

      Attachments

        Issue Links

          Activity

            nikitamalyavin Nikita Malyavin added a comment - - edited

            The Field_null class has special treatment on move_field_offset – it does nothing. Therefore, field->ptr is left lying in share->record[0] (default field value).

            So Marko was right, something around NULL should be changed

            The noop move_field_offset was Added by serg in 8de6199b164fe6616db056465b75b318bd5f8a4a ten years ago:
            lp:743017 Diverging results with TIME(3) and ranges depending on the execution plan in 5.1-micro rewrite get_innobase_type_from_mysql_type() to use types as reported by the Field objects, instead of relying on ad-hoc assumptions.

            I have checked the tests altered by that commit with move_field_offset commented out – and nothing failed.

            I think, Field_null::move_field_offset should be just removed

            nikitamalyavin Nikita Malyavin added a comment - - edited The Field_null class has special treatment on move_field_offset – it does nothing. Therefore, field->ptr is left lying in share->record [0] (default field value). So Marko was right, something around NULL should be changed The noop move_field_offset was Added by serg in 8de6199b164fe6616db056465b75b318bd5f8a4a ten years ago: lp:743017 Diverging results with TIME(3) and ranges depending on the execution plan in 5.1-micro rewrite get_innobase_type_from_mysql_type() to use types as reported by the Field objects, instead of relying on ad-hoc assumptions. I have checked the tests altered by that commit with move_field_offset commented out – and nothing failed. I think, Field_null::move_field_offset should be just removed

            marko, Roel didn't anybody notice that following fails:

            SET @@default_storage_engine=MEMORY;
            CREATE TABLE t1 SELECT NULL UNION SELECT NULL;
            SHOW CREATE TABLE t1;
            ALTER TABLE t1 ADD INDEX (`NULL`);
            

            with completely different stack trace:

            #0  0x000055e2df0a1397 in hp_rec_hashnr (keydef=0x55e2e289b8c8, rec=0x55e2e289acf8 "\375\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245@\255\211\342\342U") at ../storage/heap/hp_hash.c:303
            #1  0x000055e2df0a6479 in hp_write_key (info=0x55e2e2893518, keyinfo=0x55e2e289b8c8, record=0x55e2e289acf8 "\375\245\245"...) at ../storage/heap/hp_write.c:349
            #2  0x000055e2df0a5960 in heap_write (info=0x55e2e2893518, record=0x55e2e289acf8 "\375\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245@\255\211\342\342U") at ../storage/heap/hp_write.c:52
            #3  0x000055e2df09d58c in ha_heap::write_row (this=0x55e2e27a48e0, buf=0x55e2e289acf8 "\375\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245@\255\211\342\342U") at ../storage/heap/ha_heap.cc:239
            #4  0x000055e2debc7c85 in handler::ha_write_row (this=0x55e2e27a48e0, buf=0x55e2e289acf8 "\375\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245@\255\211\342\342U") at ../sql/handler.cc:7154
            #5  0x000055e2de8e3fd3 in copy_data_between_tables (thd=0x55e2e2693e78, from=0x55e2e28af428, to=0x55e2e289b0d8, create=..., ignore=false, order_num=0, order=0x0, copied=0x7ff29c0486d8, deleted=0x7ff29c0486d0, keys_onoff=Alter_info::LEAVE_AS_IS, alter_ctx=0x7ff29c0495b0) at ../sql/sql_table.cc:11520
            #6  0x000055e2de8d99df in mysql_alter_table (thd=0x55e2e2693e78, new_db=0x55e2e26988d8, new_name=0x55e2e2698cf8, create_info=0x7ff29c04a928, table_list=0x55e2e26a5a88, alter_info=0x7ff29c04a858, order_num=0, order=0x0, ignore=false, if_exists=false) at ../sql/sql_table.cc:10870
            #7  0x000055e2de9abd42 in Sql_cmd_alter_table::execute (this=0x55e2e26a6248, thd=0x55e2e2693e78) at ../sql/sql_alter.cc:539
            #8  0x000055e2de7b9b88 in mysql_execute_command (thd=0x55e2e2693e78) at ../sql/sql_parse.cc:6055
            #9  0x000055e2de7a5ae0 in mysql_parse (thd=0x55e2e2693e78, rawbuf=0x55e2e26a59a0 "ALTER TABLE t1 ADD INDEX (`NULL`)", length=33, parser_state=0x7ff29c04d4b0, is_com_multi=false, is_next_command=false) at ../sql/sql_parse.cc:8099
            #10 0x000055e2de7a1c86 in dispatch_command (command=COM_QUERY, thd=0x55e2e2693e78, packet=0x55e2e27a0699 "ALTER TABLE t1 ADD INDEX (`NULL`)", packet_length=33, is_com_multi=false, is_next_command=false) at ../sql/sql_parse.cc:1891
            #11 0x000055e2de7a6b15 in do_command (thd=0x55e2e2693e78) at ../sql/sql_parse.cc:1370
            #12 0x000055e2de99f30e in do_handle_one_connection (connect=0x55e2e2648048, put_in_cache=true) at ../sql/sql_connect.cc:1410
            #13 0x000055e2de99f04a in handle_one_connection (arg=0x55e2e265cfa8) at ../sql/sql_connect.cc:1312
            #14 0x000055e2defc0549 in pfs_spawn_thread (arg=0x55e2e25aa4f8) at ../storage/perfschema/pfs.cc:2201
            #15 0x00007ff2a246c299 in start_thread () from /usr/lib/libpthread.so.0
            #16 0x00007ff2a2195053 in clone () from /usr/lib/libc.so.6
            

            nikitamalyavin Nikita Malyavin added a comment - marko , Roel didn't anybody notice that following fails: SET @@default_storage_engine=MEMORY; CREATE TABLE t1 SELECT NULL UNION SELECT NULL ; SHOW CREATE TABLE t1; ALTER TABLE t1 ADD INDEX (` NULL `); with completely different stack trace: #0 0x000055e2df0a1397 in hp_rec_hashnr (keydef=0x55e2e289b8c8, rec=0x55e2e289acf8 "\375\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245@\255\211\342\342U") at ../storage/heap/hp_hash.c:303 #1 0x000055e2df0a6479 in hp_write_key (info=0x55e2e2893518, keyinfo=0x55e2e289b8c8, record=0x55e2e289acf8 "\375\245\245"...) at ../storage/heap/hp_write.c:349 #2 0x000055e2df0a5960 in heap_write (info=0x55e2e2893518, record=0x55e2e289acf8 "\375\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245@\255\211\342\342U") at ../storage/heap/hp_write.c:52 #3 0x000055e2df09d58c in ha_heap::write_row (this=0x55e2e27a48e0, buf=0x55e2e289acf8 "\375\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245@\255\211\342\342U") at ../storage/heap/ha_heap.cc:239 #4 0x000055e2debc7c85 in handler::ha_write_row (this=0x55e2e27a48e0, buf=0x55e2e289acf8 "\375\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245@\255\211\342\342U") at ../sql/handler.cc:7154 #5 0x000055e2de8e3fd3 in copy_data_between_tables (thd=0x55e2e2693e78, from=0x55e2e28af428, to=0x55e2e289b0d8, create=..., ignore=false, order_num=0, order=0x0, copied=0x7ff29c0486d8, deleted=0x7ff29c0486d0, keys_onoff=Alter_info::LEAVE_AS_IS, alter_ctx=0x7ff29c0495b0) at ../sql/sql_table.cc:11520 #6 0x000055e2de8d99df in mysql_alter_table (thd=0x55e2e2693e78, new_db=0x55e2e26988d8, new_name=0x55e2e2698cf8, create_info=0x7ff29c04a928, table_list=0x55e2e26a5a88, alter_info=0x7ff29c04a858, order_num=0, order=0x0, ignore=false, if_exists=false) at ../sql/sql_table.cc:10870 #7 0x000055e2de9abd42 in Sql_cmd_alter_table::execute (this=0x55e2e26a6248, thd=0x55e2e2693e78) at ../sql/sql_alter.cc:539 #8 0x000055e2de7b9b88 in mysql_execute_command (thd=0x55e2e2693e78) at ../sql/sql_parse.cc:6055 #9 0x000055e2de7a5ae0 in mysql_parse (thd=0x55e2e2693e78, rawbuf=0x55e2e26a59a0 "ALTER TABLE t1 ADD INDEX (`NULL`)", length=33, parser_state=0x7ff29c04d4b0, is_com_multi=false, is_next_command=false) at ../sql/sql_parse.cc:8099 #10 0x000055e2de7a1c86 in dispatch_command (command=COM_QUERY, thd=0x55e2e2693e78, packet=0x55e2e27a0699 "ALTER TABLE t1 ADD INDEX (`NULL`)", packet_length=33, is_com_multi=false, is_next_command=false) at ../sql/sql_parse.cc:1891 #11 0x000055e2de7a6b15 in do_command (thd=0x55e2e2693e78) at ../sql/sql_parse.cc:1370 #12 0x000055e2de99f30e in do_handle_one_connection (connect=0x55e2e2648048, put_in_cache=true) at ../sql/sql_connect.cc:1410 #13 0x000055e2de99f04a in handle_one_connection (arg=0x55e2e265cfa8) at ../sql/sql_connect.cc:1312 #14 0x000055e2defc0549 in pfs_spawn_thread (arg=0x55e2e25aa4f8) at ../storage/perfschema/pfs.cc:2201 #15 0x00007ff2a246c299 in start_thread () from /usr/lib/libpthread.so.0 #16 0x00007ff2a2195053 in clone () from /usr/lib/libc.so.6
            nikitamalyavin Nikita Malyavin added a comment - Patch for review is https://github.com/MariaDB/server/commit/ce289840131b670727d979685fd2650ffa11c50b

            nikitamalyavin Can you please also add the crashing testcases to the patch? Thank you

            Roel Roel Van de Paar added a comment - nikitamalyavin Can you please also add the crashing testcases to the patch? Thank you
            nikitamalyavin Nikita Malyavin added a comment - Thanks for the reminder, Roel. Tests included: https://github.com/MariaDB/server/commit/44bd3bba055e75cf54f1e9f4e6bf0995cdc4f409

            People

              nikitamalyavin Nikita Malyavin
              Roel Roel Van de Paar
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

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