Uploaded image for project: 'MariaDB Connector/C'
  1. MariaDB Connector/C
  2. CONC-716

Result error and stack error after connection block or reset...

    XMLWordPrintable

Details

    • Bug
    • Status: Open (View Workflow)
    • Critical
    • Resolution: Unresolved
    • 3.3, 3.4
    • None
    • Non blocking API
    • None
    • Debian 9

    Description

      Если соединение блокируется по различным ограничениям (например, pps) на оборудовании оператора связи, цепочка mysql_real_connect_start() -> mysql_real_query_start() -> mysql_use_result() или mysql_store_result() - выполняется "мгновенно" за 0.000000000 сек и без ошибок.

      Но попытка обращения к результату через mysql_fetch_row_start() или mysql_fetch_row() приведет к повреждению стека...

      Если результат запроса со временем = 0 пропустить, выполнить цепочки mysql_free_result_start() и mysql_close_start(), то остальные потоки продолжают нормально работать.

      SQL_TEST: START
      [DEBUG] push_query(): q = 0xb2836e0, query = SELECT * FROM `acs_log__players` limit 8, source = 0xec7a1050, data = 0xb283780, data_size = 64 (64)
      [DEBUG] push_query(): pri = 0, count = 191
      [DEBUG] push_query(): q = 0xb2838b0, query = SELECT * FROM `acs_log__players` limit 8, source = 0xec7a1050, data = 0xb283950, data_size = 64 (64)
      [DEBUG] push_query(): pri = 0, count = 192
      [DEBUG] push_query(): q = 0xb283a80, query = SELECT * FROM `acs_log__players` limit 8, source = 0xec7a1050, data = 0xb283b20, data_size = 64 (64)
      [DEBUG] push_query(): pri = 0, count = 193
      [DEBUG] push_query(): q = 0xb283c50, query = SELECT * FROM `acs_log__players` limit 8, source = 0xec7a1050, data = 0xb283cf0, data_size = 64 (64)
      [DEBUG] push_query(): pri = 0, count = 194
      [DEBUG] push_query(): q = 0xb283e20, query = SELECT * FROM `acs_log__players` limit 8, source = 0xec7a1050, data = 0xb283ec0, data_size = 64 (64)
      [DEBUG] push_query(): pri = 0, count = 195
      [DEBUG] push_query(): q = 0xb283ff0, query = SELECT * FROM `acs_log__players` limit 8, source = 0xec7a1050, data = 0xb284090, data_size = 64 (64)
      [DEBUG] push_query(): pri = 0, count = 196
      [DEBUG] push_query(): q = 0xb2841c0, query = SELECT * FROM `acs_log__players` limit 8, source = 0xec7a1050, data = 0xb284260, data_size = 64 (64)
      [DEBUG] push_query(): pri = 0, count = 197
      [DEBUG] push_query(): q = 0xb284390, query = SELECT * FROM `acs_log__players` limit 8, source = 0xec7a1050, data = 0xb284430, data_size = 64 (64)
      [DEBUG] push_query(): pri = 0, count = 198
      [DEBUG] push_query(): q = 0xb284560, query = SELECT * FROM `acs_log__players` limit 8, source = 0xec7a1050, data = 0xb284600, data_size = 64 (64)
      [DEBUG] push_query(): pri = 0, count = 199
      [DEBUG] push_query(): q = 0xb284730, query = SELECT * FROM `acs_log__players` limit 8, source = 0xec7a1050, data = 0xb2847d0, data_size = 64 (64)
      [DEBUG] push_query(): pri = 0, count = 200
      SQL_TEST: END
      [DEBUG] exec_async_query(): pid = -565232832, q = 0xb2d20f0, typle = 1, START
      [DEBUG] exec_async_query(): wait_status = 1
      [DEBUG] async_connect(): MYSQL_OPT_NONBLOCK, conn = 0xed9e1360, port = 3306, status = 10
      SQL_TEST: START
      [DEBUG] run_query(): thread starting pid = -565232832
      [DEBUG] run_query(): pid = -258921664, q = 0xb2d2190, threads_num = 22
      [DEBUG] run_query(): thread starting pid = -573625536
      [DEBUG] run_query(): pid = -258921664, q = 0xb2c72e0, threads_num = 23
      [DEBUG] exec_async_query(): pid = -582018240, q = 0xb2c72e0, typle = 1, START
      [DEBUG] async_connect(): wait_status = 1
      [DEBUG] async_connect(): MYSQL_OPT_NONBLOCK, conn = 0xf00758d0, port = 3306, status = 10
      [DEBUG] get_result(): query = 0xb2c3a30, conn = 0xecd760d0, is_buffered = 1, state = 00000
      [DEBUG] get_result(): done
      [DEBUG] exec_async_query(): ABONORMAL RESULT QUERY !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
      [DEBUG] exec_async_query: FREE RESULT
      [DEBUG] exec_async_query: CLOSE
      [DEBUG] exec_async_query(): pid = -386983104, END, num_finished = 1
      [DEBUG] exec_async_query(): pid = -573625536, q = 0xb2d2190, typle = 1, START
      [DEBUG] run_query(): thread starting pid = -582018240
      [DEBUG] exec_async_query(): wait_status = 1
      [DEBUG] get_result(): query = 0xb22bb00, conn = 0xed7c4f10, is_buffered = 1, state = 00000
      [DEBUG] get_result(): done
      [DEBUG] exec_async_query(): ABONORMAL RESULT QUERY !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
      [DEBUG] exec_async_query: FREE RESULT
      [DEBUG] exec_async_query: CLOSE
      [DEBUG] exec_async_query(): pid = -420553920, END, num_finished = 2
      [DEBUG] exec_async_query(): wait_status = 1
      [DEBUG] get_result(): query = 0xb2791e0, conn = 0xf0045360, is_buffered = 1, state = 00000
      [DEBUG] get_result(): done
      [DEBUG] exec_async_query(): ABONORMAL RESULT QUERY !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
      [DEBUG] exec_async_query: FREE RESULT
      [DEBUG] exec_async_query: CLOSE
      [DEBUG] exec_async_query(): pid = -412161216, END, num_finished = 3
      [DEBUG] exec_async_query(): pid = -428946624, start = 5.389252, query = <SELECT * FROM `acs_log__players` limit 8>
      [DEBUG] exec_async_query(): wait_status = 1
      [DEBUG] get_result(): query = 0xb25d030, conn = 0xed9eea50, is_buffered = 1, state = 00000
      [DEBUG] get_result(): done
      [DEBUG] exec_async_query(): ABONORMAL RESULT QUERY !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
      [DEBUG] exec_async_query: FREE RESULT
      [DEBUG] exec_async_query: CLOSE
      [DEBUG] exec_async_query(): pid = -395375808, END, num_finished = 4
      [DEBUG] run_query(): pid = -258921664, q = 0xb25c050, threads_num = 24
      [DEBUG] run_query(): thread starting pid = -590410944
      [DEBUG] run_query(): pid = -258921664, q = 0xb2a8f80, threads_num = 25
      [DEBUG] run_query(): thread starting pid = -598803648
      [DEBUG] run_query(): pid = -258921664, q = 0xb2a9040, threads_num = 26
      [DEBUG] run_query(): thread starting pid = -607196352
      [DEBUG] run_query(): pid = -258921664, q = 0xb2945a0, threads_num = 27
      [DEBUG] run_query(): thread starting pid = -615589056
      

      Attachments

        Activity

          People

            georg Georg Richter
            Refresh Sergey
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:

              Git Integration

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