You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hawq.apache.org by "Noa Horn (JIRA)" <ji...@apache.org> on 2016/02/02 00:17:39 UTC
[jira] [Updated] (HAWQ-368) Core when canceling a query
[ https://issues.apache.org/jira/browse/HAWQ-368?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Noa Horn updated HAWQ-368:
--------------------------
Attachment: test_simple.sql
simple_cancelquery.out
prepare_simple.sql
inject.py
> Core when canceling a query
> ----------------------------
>
> Key: HAWQ-368
> URL: https://issues.apache.org/jira/browse/HAWQ-368
> Project: Apache HAWQ
> Issue Type: Bug
> Components: Core
> Reporter: Noa Horn
> Assignee: Lei Chang
> Fix For: 2.0.0
>
> Attachments: inject.py, prepare_simple.sql, simple_cancelquery.out, test_simple.sql
>
>
> This issue was revealed by using SimEx on a debug build, with gp_simex_class set to 1 (cancel query).
> Repro:
> Setup:
> {noformat}
> compile with configure parameter --enable-testutils
> hawq config -c gp_simex_init -v on
> hawq config -c gp_simex_class -v 1
> hawq restart cluster
> {noformat}
> Failing query:
> {noformat}
> BEGIN;
> SET gp_simex_run=on;
> select * from a;
> FATAL: Unexpected internal error (idle_tracker.c:181)
> DETAIL: FailedAssertion("!(isProcessActive)", File: "idle_tracker.c", Line: 181)
> HINT: Process 62979 will wait for gp_debug_linger=120 seconds before termination.
> Note that its locks and other resources will not be released until then.
> ERROR: canceling statement due to user request
> {noformat}
> backtrace:
> {noformat}
> (lldb) bt
> * thread #1: tid = 0x2dc108, 0x9a0aaace libsystem_kernel.dylib`__select + 10, queue = 'com.apple.main-thread', stop reason = signal SIGSTOP
> * frame #0: 0x9a0aaace libsystem_kernel.dylib`__select + 10
> frame #1: 0x007978cf postgres`pg_usleep(microsec=30000000) + 126 at pgsleep.c:43
> frame #2: 0x005c44d7 postgres`elog_debug_linger(edata=0x00bd2a00) + 370 at elog.c:4125
> frame #3: 0x005bc7a6 postgres`errfinish(dummy=0) + 415 at elog.c:595
> frame #4: 0x005badd8 postgres`ExceptionalCondition(conditionName=0x0096ded0, errorType=0x0096dd93, fileName=0x0096dd84, lineNumber=181) + 272 at assert.c:66
> frame #5: 0x00605843 postgres`IdleTracker_DeactivateProcess + 366 at idle_tracker.c:181
> frame #6: 0x004c96a1 postgres`PostgresMain(argc=4, argv=0x7db24480, username=0x7db24aa8) + 7021 at postgres.c:4641
> frame #7: 0x00468ed1 postgres`BackendRun(port=0x7b77ab80) + 1008 at postmaster.c:5875
> frame #8: 0x0046826b postgres`BackendStartup(port=0x7b77ab80) + 381 at postmaster.c:5468
> frame #9: 0x00461305 postgres`ServerLoop + 1121 at postmaster.c:2147
> frame #10: 0x0045fe32 postgres`PostmasterMain(argc=9, argv=0x7b779750) + 5159 at postmaster.c:1439
> frame #11: 0x00374a16 postgres`main(argc=9, argv=0x7b779750) + 1007 at main.c:226
> frame #12: 0x90cf3701 libdyld.dylib`start + 1
> (lldb) f 5
> frame #5: 0x00605843 postgres`IdleTracker_DeactivateProcess + 366 at idle_tracker.c:181
> 178 return;
> 179 }
> 180
> -> 181 Assert(isProcessActive);
> 182 Assert(deactivationVersion <= activationVersion);
> 183
> 184 /* No new runaway event can come in */
> (lldb) p isProcessActive
> (bool) $0 = '\0'
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)