【问题标题】:TDengine Assertion happen when I query查询时发生 TDengine 断言
【发布时间】:2021-10-21 08:40:15
【问题描述】:

当我在 Linux 中对 Tdengine 进行模糊测试时,我遇到如下断言失败:

Welcome to the TDengine shell from Linux, Client Version:2.0.19.0
Copyright (c) 2020 by TAOS Data, Inc. All rights reserved.

taos> SELECT bool 't' AS true;
taos: /home/xxx/opt/projects/databases/TDengine/src/common/src/tvariant.c:38: tVariantCreate: Assertion `strncasecmp(token->z, "false", 5) == 0' failed.
fish: “./build/bin/taos -c test/cfg” terminated by signal SIGABRT (Abort)

如果您知道如何解决,请提供帮助。

【问题讨论】:

  • 这需要更多的细节和重点。你尝试了什么?最小的可重现示例在哪里? ...
  • 模糊器发现输入违反了 Tdengine 代码中的断言。这可能是 Tdengine 中的错误,请将其报告给它的维护人员。
  • @nevilad,感谢您的回答。也许我知道您使用的是什么模糊器以及如何重现它?
  • 您问题的输出表明 TDEngine terminated by signal SIGABRT (Abort)。 Fuzzer 保存崩溃的输入,您不必重现它,只需打开您的 fuzzer 崩溃输入文件夹即可找到它。

标签: c time-series fuzzing td-engine


【解决方案1】:

我尝试使用不同版本 (2.3.2.0) 的相同 SQL 没有看到崩溃,而是返回了语法错误,因此认为断言问题得到了修复。我看到您的客户端使用的是旧版本 2.0.19.0。也许您可以尝试更新到更高版本?

Welcome to the TDengine shell from Linux, Client Version:2.3.2.0 Copyright (c) 2020 by TAOS Data, Inc. All rights reserved.


taos> use test; Database changed.

taos> SELECT bool 't' AS true;

DB error: syntax error near "as true;" (0.002308s)

【讨论】:

    猜你喜欢
    • 2021-10-06
    • 1970-01-01
    • 2021-12-25
    • 1970-01-01
    • 1970-01-01
    • 2017-05-23
    • 2022-01-03
    • 2015-03-11
    • 1970-01-01
    相关资源
    最近更新 更多