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)