8000 [AQL Web Interface] v3.7.11 and v3.9.1 crashing on query · Issue #16279 · arangodb/arangodb · GitHub
[go: up one dir, main page]

Skip to content
[AQL Web Interface] v3.7.11 and v3.9.1 crashing on query #16279
Closed
@mdascanbi

Description

@mdascanbi

My Environment

  • ArangoDB Version: v3.7.11 and v3.9.1
  • Deployment Mode: Single Server
  • Deployment Strategy: ArangoDB Starter in Docker and Kubernetes
  • Configuration: default
  • Infrastructure: AWS
  • Operating System:
  • Total RAM in your machine: 16Gb
  • Disks in use:
  • Used Package: Docker - official Docker library

Component, Query & Data

Affected feature:
AQL query using web interface

AQL query (if applicable):

FOR tb IN testbug
    FOR attr IN tb
        FILTER attr.name == "assetId" AND attr.value != ""
        RETURN tb

AQL explain and/or profile (if applicable):
Query String (113 chars, cacheable: true):
FOR tb IN testbug
FOR attr IN tb
FILTER attr.name == "assetId" AND attr.value != ""
RETURN tb

Execution plan:
Id NodeType Est. Comment
1 SingletonNode 1 * ROOT
3 EnumerateListNode 100 - FOR attr IN tb /* list iteration /
4 CalculationNode 100 - LET #2 = ((attr.name == "assetId") && (attr.value != "")) /
simple expression /
5 FilterNode 100 - FILTER #2
2 EnumerateCollectionNode 100 - FOR tb IN testbug /
full collection scan */
6 ReturnNode 100 - RETURN tb

Indexes used:
none

Optimization rules applied:
Id RuleName
1 interchange-adjacent-enumerations
2 move-calculations-up-2
3 move-filters-up-2

Optimization rules with highest execution times:
RuleName Duration [s]
reduce-extraction-to-projection 0.00003
propagate-constant-attributes 0.00003
interchange-adjacent-enumerations 0.00002
use-indexes 0.00001
move-calculations-down 0.00001

69 rule(s) executed, 2 plan(s) created

Dataset:
A collection with one or more elements like that:
{
"id": "DE1234500",
"type": "article",
"titles": [
{
"country": "DE",
"language": "de",
"text": "Multifunktion"
},
{
"country": "DE",
"language": "en",
"text": "t.b.t."
}
],
"attributes": [
{
"name": "articleNumber",
"value": "563330"
},
{
"name": "articleNumberInclCheckDigit",
"value": "5633300"
},
{
"name": "country",
"value": "DE"
},
{
"name": "lifeCycleId",
"value": 9
},
{
"name": "materialGroupId",
"value": 4203
},
{
"name": "assetId",
"value": ""
}
]
}

Steps to reproduce

  1. Create a collection
  2. Add data set
  3. Execute the query

Problem:
ArangoDB crashes when executing the query
2022-05-16T09:35:51Z [1] DEBUG [11160] {queries} 5.238e-06 Query::Query queryString: FOR tb IN testbug\n FOR attr IN tb\n FILTER attr.name == "assetId" AND attr.value != ""\n RETURN tb this: 140383321460800
2022-05-16T09:35:51Z [1] DEBUG [e8ed7] {queries} 4.8536e-05 Query::execute this: 140383321460800
2022-05-16T09:35:51Z [1] DEBUG [d8767] {queries} 5.3423e-05 Query::enterState: initializing this: 140383321460800
2022-05-16T09:35:51Z [1] DEBUG [d8767] {queries} 6.8008e-05 Query::enterState: parsing this: 140383321460800
2022-05-16T09:35:51Z [1] DEBUG [9625e] {queries} 7.0794e-05 Query::prepare this: 140383321460800
2022-05-16T09:35:51Z [1] DEBUG [d8767] {queries} 0.000120607 Query::enterState: optimizing ast this: 140383321460800
2022-05-16T09:35:51Z [1] DEBUG [d8767] {queries} 0.000129911 Query::enterState: loading collections this: 140383321460800
2022-05-16T09:35:51Z [1] DEBUG [d8767] {queries} 0.000141199 Query::enterState: instantiating plan this: 140383321460800
2022-05-16T09:35:51Z [1] DEBUG [d8767] {queries} 0.000160418 Query::enterState: optimizing plan this: 140383321460800
2022-05-16T09:35:51Z [1] DEBUG [d8767] {queries} 0.000339524 Query::enterState: executing this: 140383321460800
2022-05-16T09:35:51Z [1] DEBUG [007ac] {queries} [query#30925] starting statemachine of executor type=ReturnNode this=140383321805696 id=6
2022-05-16T09:35:51Z [1] DEBUG [cfe46] {queries} [query#30925] type=ReturnNode determine next action on call { skip: 0, softLimit: unlimited, hardLimit: unlimited, fullCount: false, skipCount: 0 }
2022-05-16T09:35:51Z [1] DEBUG [1f787] {queries} [query#30925] type=ReturnNode call produceRows { skip: 0, softLimit: unlimited, hardLimit: unlimited, fullCount: false, skipCount: 0 }
2022-05-16T09:35:51Z [1] DEBUG [488de] {queries} [query#30925] type=ReturnNode request dependency { skip: 0, softLimit: unlimited, hardLimit: unlimited, fullCount: false, skipCount: 0 }
2022-05-16T09:35:51Z [1] DEBUG [007ac] {queries} [query#30925] starting statemachine of executor type=EnumerateCollectionNode this=140383321833472 id=2
2022-05-16T09:35:51Z [1] DEBUG [cfe46] {queries} [query#30925] type=EnumerateCollectionNode determine next action on call { skip: 0, softLimit: unlimited, hardLimit: unlimited, fullCount: false, skipCount: 0 }
2022-05-16T09:35:51Z [1] DEBUG [1f787] {queries} [query#30925] type=EnumerateCollectionNode call produceRows { skip: 0, softLimit: unlimited, hardLimit: unlimited, fullCount: false, skipCount: 0 }
2022-05-16T09:35:51Z [1] DEBUG [488de] {queries} [query#30925] type=EnumerateCollectionNode request dependency { skip: 0, softLimit: unlimited, hardLimit: unlimited, fullCount: false, skipCount: 0 }
2022-05-16T09:35:51Z [1] DEBUG [007ac] {queries} [query#30925] starting statemachine of executor type=FilterNode this=140383321804800 id=5
2022-05-16T09:35:51Z [1] DEBUG [cfe46] {queries} [query#30925] type=FilterNode determine next action on call { skip: 0, softLimit: unlimited, hardLimit: unlimited, fullCount: false, skipCount: 0 }
2022-05-16T09:35:51Z [1] DEBUG [1f787] {queries} [query#30925] type=FilterNode call produceRows { skip: 0, softLimit: unlimited, hardLimit: unlimited, fullCount: false, skipCount: 0 }
2022-05-16T09:35:51Z [1] DEBUG [488de] {queries} [query#30925] type=FilterNode request dependency { skip: 0, softLimit: unlimited, hardLimit: unlimited, fullCount: false, skipCount: 0 }
2022-05-16T09:35:51Z [1] DEBUG [007ac] {queries} [query#30925] starting statemachine of executor type=CalculationNode this=140383321440256 id=4
2022-05-16T09:35:51Z [1] DEBUG [cfe46] {queries} [query#30925] type=CalculationNode determine next action on call { skip: 0, softLimit: unlimited, hardLimit: unlimited, fullCount: false, skipCount: 0 }
2022-05-16T09:35:51Z [1] DEBUG [1f787] {queries} [query#30925] type=CalculationNode call produceRows { skip: 0, softLimit: unlimited, hardLimit: unlimited, fullCount: false, skipCount: 0 }
2022-05-16T09:35:51Z [1] DEBUG [488de] {queries} [query#30925] type=CalculationNode request dependency { skip: 0, softLimit: unlimited, hardLimit: unlimited, fullCount: false, skipCount: 0 }
2022-05-16T09:35:51Z [1] DEBUG [007ac] {queries} [query#30925] starting statemachine of executor type=EnumerateListNode this=140383264719744 id=3
2022-05-16T09:35:51Z [1] DEBUG [cfe46] {queries} [query#30925] type=EnumerateListNode determine next action on call { skip: 0, softLimit: unlimited, hardLimit: unlimited, fullCount: false, skipCount: 0 }
2022-05-16T09:35:51Z [1] DEBUG [1f787] {queries} [query#30925] type=EnumerateListNode call produceRows { skip: 0, softLimit: unlimited, hardLimit: unlimited, fullCount: false, skipCount: 0 }
2022-05-16T09:35:51Z [1] DEBUG [488de] {queries} [query#30925] type=EnumerateListNode request dependency { skip: 0, softLimit: unlimited, hardLimit: unlimited, fullCount: false, skipCount: 0 }
2022-05-16T09:35:51Z [1] DEBUG [007ac] {queries} [query#30925] starting statemachine of executor type=SingletonNode this=140383321510912 id=1
2022-05-16T09:35:51Z [1] DEBUG [cfe46] {queries} [query#30925] type=SingletonNode determine next action on call { skip: 0, softLimit: unlimited, hardLimit: unlimited, fullCount: false, skipCount: 0 }
2022-05-16T09:35:51Z [1] DEBUG [1f787] {queries} [query#30925] type=SingletonNode call produceRows { skip: 0, softLimit: unlimited, hardLimit: unlimited, fullCount: false, skipCount: 0 }
2022-05-16T09:35:51Z [1] DEBUG [488de] {queries} [query#30925] type=SingletonNode request dependency { skip: 0, softLimit: unlimited, hardLimit: unlimited, fullCount: false, skipCount: 0 }
2022-05-16T09:35:51Z [1] DEBUG [cfe46] {queries} [query#30925] type=SingletonNode determine next action on call { skip: 0, softLimit: unlimited, hardLimit: unlimited, fullCount: false, skipCount: 0 }
2022-05-16T09:35:51Z [1] DEBUG [1f787] {queries} [query#30925] type=SingletonNode call produceRows { skip: 0, softLimit: unlimited, hardLimit: unlimited, fullCount: false, skipCount: 0 }
2022-05-16T09:35:51Z [1] DEBUG [96e2c] {queries} [query#30925] type=SingletonNode all produced, fast forward to end up (sub-)query.
2022-05-16T09:35:51Z [1] DEBUG [fa327] {queries} [query#30925] type=SingletonNode bypass unused rows.
2022-05-16T09:35:51Z [1] DEBUG [80c24] {queries} [query#30925] type=SingletonNode this=140383321510912 id=1 local statemachine done. Return now.
2022-05-16T09:35:51Z [1] DEBUG [cfe46] {queries} [query#30925] type=EnumerateListNode determine next action on call { skip: 0, softLimit: unlimited, hardLimit: unlimited, fullCount: false, skipCount: 0 }
2022-05-16T09:35:51Z [1] DEBUG [1f787] {queries} [query#30925] type=EnumerateListNode call produceRows { skip: 0, softLimit: unlimited, hardLimit: unlimited, fullCount: false, skipCount: 0 }
2022-05-16T09:35:51Z [1] FATAL [a7902] {crash} 💥 ArangoDB 3.9.1 [linux], thread 4 [SchedWorker] caught unexpected signal 11 (SIGSEGV) accessing address 0x0000000000000000: signal handler invoked - image base address: 0x0000000000400000 - CPU context: rip: 0x00000000011208b6, rsp: 0x00007fadacdf7030, efl: 0x0000000000010246, rbp: 0x00007fadacdf7090, rsi: 0x00007fad86a045e0, rdi: 0x0000000000000001, rax: 0x0000000000000000, rbx: 0x00007fad86a04580, rcx: 0x0000000000000000, rdx: 0x0000000000000000, r8: 0x0000000000000000, r9: 0x0000000000000001, r10: 0x000000000009a2a8, r11: 0x000000000000001b, r12: 0x00007fad8a0530c0, r13: 0x0000000000000000, r14: 0x00007fadacdf72b0, r15: 0x00007fad86a045e0
2022-05-16T09:35:51Z [1] INFO [c962b] {crash} Backtrace of thread 4 [SchedWorker]
2022-05-16T09:35:51Z [1] INFO [308c3] {crash} frame 1 [+0x00000000016a9585] (anonymous namespace)::crashHandlerSignalHandler(int, siginfo_t*, void*) (+0x35)
2022-05-16T09:35:51Z [1] INFO [308c3] {crash} frame 2 [+0x00000000039995a5] sigprocmask (+0x21)
2022-05-16T09:35:51Z [1] INFO [308c3] {crash} frame 3 [+0x00000000009f5e1d] arangodb::aql::ExecutionBlockImplarangodb::aql::EnumerateListExecutor::executeWithoutTrace(arangodb::aql::AqlCallStack const&) (+0x148d)
2022-05-16T09:35:51Z [1] INFO [308c3] {crash} frame 4 [+0x0000000000a03865] arangodb::aql::ExecutionBlockImplarangodb::aql::EnumerateListExecutor::execute(arangodb::aql::AqlCallStack const&) (+0xb5)
2022-05-16T09:35:51Z [1] INFO [308c3] {crash} frame 5 [+0x000000000196faee] arangodb::aql::SingleRowFetcher<(arangodb::aql::BlockPassthrough)1>::execute(arangodb::aql::AqlCallStack&) [clone .isra.0] (+0x90e)
2022-05-16T09:35:51Z [1] INFO [308c3] {crash} frame 6 [+0x00000000009d3457] arangodb::aql::ExecutionBlockImpl<arangodb::aql::CalculationExecutor<(arangodb::aql::CalculationType)0> >::executeFetcher(arangodb::aql::ExecutionBlockImpl<arangodb::aql::CalculationExecutor<(arangodb::aql::CalculationType)0> >::ExecutionContext&, arangodb::aql::AqlCall const&) (+0x107)
2022-05-16T09:35:51Z [1] INFO [308c3] {crash} frame 7 [+0x00000000009d5c70] arangodb::aql::ExecutionBlockImpl<arangodb::aql::CalculationExecutor<(arangodb::aql::CalculationType)0> >::executeWithoutTrace(arangodb::aql::AqlCallStack const&) (+0x1e70)
2022-05-16T09:35:51Z [1] INFO [308c3] {crash} frame 8 [+0x00000000009d6bf5] arangodb::aql::ExecutionBlockImpl<arangodb::aql::CalculationExecutor<(arangodb::aql::CalculationType)0> >::execute(arangodb::aql::AqlCallStack const&) (+0xb5)
2022-05-16T09:35:51Z [1] INFO [308c3] {crash} frame 9 [+0x0000000000d18e77] arangodb::aql::DependencyProxy<(arangodb::aql::BlockPassthrough)0>::executeForDependency(unsigned long, arangodb::aql::AqlCallStack&) (+0x4d7)
2022-05-16T09:35:51Z [1] INFO [308c3] {crash} frame 10 [+0x0000000000d19062] arangodb::aql::DependencyProxy<(arangodb::aql::BlockPassthrough)0>::execute(arangodb::aql::AqlCallStack&) (+0x72)
2022-05-16T09:35:51Z [1] INFO [308c3] {crash} frame 11 [+0x000000000196ffa0] arangodb::aql::SingleRowFetcher<(arangodb::aql::BlockPassthrough)0>::execute(arangodb::aql::AqlCallStack&) [clone .isra.0] (+0x20)
2022-05-16T09:35:51Z [1] INFO [308c3] {crash} frame 12 [+0x00000000009ef7d7] arangodb::aql::ExecutionBlockImplarangodb::aql::FilterExecutor::executeFetcher(arangodb::aql::ExecutionBlockImplarangodb::aql::FilterExecutor::ExecutionContext&, arangodb::aql::AqlCall const&) (+0x107)
2022-05-16T09:35:51Z [1] INFO [308c3] {crash} frame 13 [+0x00000000009f9558] arangodb::aql::ExecutionBlockImplarangodb::aql::FilterExecutor::executeWithoutTrace(arangodb::aql::AqlCallStack const&) (+0x1be8)
2022-05-16T09:35:51Z [1] INFO [308c3] {crash} frame 14 [+0x0000000000a03a85] arangodb::aql::ExecutionBlockImplarangodb::aql::FilterExecutor::execute(arangodb::aql::AqlCallStack const&) (+0xb5)
2022-05-16T09:35:51Z [1] INFO [308c3] {crash} frame 15 [+0x0000000000d18e77] arangodb::aql::DependencyProxy<(arangodb::aql::BlockPassthrough)0>::executeForDependency(unsigned long, arangodb::aql::AqlCallStack&) (+0x4d7)
2022-05-16T09:35:51Z [1] INFO [308c3] {crash} frame 16 [+0x0000000000d19062] arangodb::aql::DependencyProxy<(arangodb::aql::BlockPassthrough)0>::execute(arangodb::aql::AqlCallStack&) (+0x72)
2022-05-16T09:35:51Z [1] INFO [308c3] {crash} frame 17 [+0x000000000196ffa0] arangodb::aql::SingleRowFetcher<(arangodb::aql::BlockPassthrough)0>::execute(arangodb::aql::AqlCallStack&) [clone .isra.0] (+0x20)
2022-05-16T09:35:51Z [1] INFO [308c3] {crash} frame 18 [+0x00000000009ee277] arangodb::aql::ExecutionBlockImplarangodb::aql::EnumerateCollectionExecutor::executeFetcher(arangodb::aql::ExecutionBlockImplarangodb::aql::EnumerateCollectionExecutor::ExecutionContext&, arangodb::aql::AqlCall const&) (+0x107)
2022-05-16T09:35:51Z [1] INFO [308c3] {crash} frame 19 [+0x0000000000a063fb] arangodb::aql::ExecutionBlockImplarangodb::aql::EnumerateCollectionExecutor::executeWithoutTrace(arangodb::aql::AqlCallStack const&) (+0x1f8b)
2022-05-16T09:35:52Z [1] INFO [308c3] {crash} frame 20 [+0x0000000000a075d5] arangodb::aql::ExecutionBlockImplarangodb::aql::EnumerateCollectionExecutor::execute(arangodb::aql::AqlCallStack const&) (+0xb5)
2022-05-16T09:35:52Z [1] INFO [308c3] {crash} frame 21 [+0x000000000196faee] arangodb::aql::SingleRowFetcher<(arangodb::aql::BlockPassthrough)1>::execute(arangodb::aql::AqlCallStack&) [clone .isra.0] (+0x90e)
2022-05-16T09:35:52Z [1] INFO [308c3] {crash} frame 22 [+0x0000000000a5f387] arangodb::aql::ExecutionBlockImpl<arangodb::aql::IdExecutor<arangodb::aql::SingleRowFetcher<(arangodb::aql::BlockPassthrough)1> > >::executeFetcher(arangodb::aql::ExecutionBlockImpl<arangodb::aql::IdExecutor<arangodb::aql::SingleRowFetcher<(arangodb::aql::BlockPassthrough)1> > >::ExecutionContext&, arangodb::aql::AqlCall const&) (+0x107)
2022-05-16T09:35:52Z [1] INFO [308c3] {crash} frame 23 [+0x0000000000a61aa0] arangodb::aql::ExecutionBlockImpl<arangodb::aql::IdExecutor<arangodb::aql::SingleRowFetcher<(arangodb::aql::BlockPassthrough)1> > >::executeWithoutTrace(arangodb::aql::AqlCallStack const&) (+0x1d70)
2022-05-16T09:35:52Z [1] INFO [308c3] {crash} frame 24 [+0x0000000000a74f15] arangodb::aql::ExecutionBlockImpl<arangodb::aql::IdExecutor<arangodb::aql::SingleRowFetcher<(arangodb::aql::BlockPassthrough)1> > >::execute(arangodb::aql::AqlCallStack const&) (+0xb5)
2022-05-16T09:35:52Z [1] INFO [308c3] {crash} frame 25 [+0x0000000000952a46] arangodb::aql::Query::execute(arangodb::aql::QueryResult&) (+0x7a6)
2022-05-16T09:35:52Z [1] INFO [308c3] {crash} frame 26 [+0x000000000066d659] arangodb::RestCursorHandler::registerQueryOrCursor(arangodb::velocypack::Slice const&) (+0x1429)
2022-05-16T09:35:52Z [1] INFO [308c3] {crash} frame 27 [+0x000000000066e14c] arangodb::RestCursorHandler::execute() (+0x32c)
2022-05-16T09:35:52Z [1] INFO [308c3] {crash} frame 28 [+0x00000000005c0716] arangodb::rest::RestHandler::executeEngine(bool) (+0xb6)
2022-05-16T09:35:52Z [1] INFO [308c3] {crash} frame 29 [+0x00000000005c477a] arangodb::rest::RestHandler::runHandlerStateMachine() (+0x3fa)
2022-05-16T09:35:52Z [1] INFO [308c3] {crash} frame 30 [+0x00000000008c322e] arangodb::Scheduler::WorkItem<arangodb::rest::CommTask::handleRequestAsync(std::shared_ptrarangodb::rest::RestHandler, unsigned long*)::{lambda()#1}>::invoke() (+0xfe)
2022-05-16T09:35:52Z [1] INFO [308c3] {crash} frame 31 [+0x000000000070157f] arangodb::SupervisedScheduler::runWorker() (+0x2df)
2022-05-16T09:35:52Z [1] INFO [308c3] {crash} frame 32 [+0x00000000016bc7dd] arangodb::Thread::startThread(void*) (+0x6d)
2022-05-16T09:35:52Z [1] INFO [308c3] {crash} frame 33 [+0x000000000170cf1a] ThreadStarter(void*) [clone .lto_priv.0] (+0xaa)
2022-05-16T09:35:52Z [1] INFO [308c3] {crash} frame 34 [+0x00000000039a03dc] start (+0x70)
2022-05-16T09:35:52Z [1] INFO [ded81] {crash} available physical memory: 2081755136, rss usage: 217509888, vsz usage: 996794368, threads: 40
arangodb exited with code 139

Expected result:
does not crash

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions

    0