[FB-Tracker] Created: (CORE-5522) Engine could freeze up to 2 minutes and raise deadlock error when updating RDB$INDICES if it contains backversions

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

[FB-Tracker] Created: (CORE-5522) Engine could freeze up to 2 minutes and raise deadlock error when updating RDB$INDICES if it contains backversions

JIRA tracker@firebirdsql.org
Engine could freeze up to 2 minutes and raise deadlock error when updating RDB$INDICES if it contains backversions
-------------------------------------------------------------------------------------------------------------------

                 Key: CORE-5522
                 URL: http://tracker.firebirdsql.org/browse/CORE-5522
             Project: Firebird Core
          Issue Type: Bug
          Components: Engine
    Affects Versions: 2.5.7
            Reporter: Vlad Khorsun


Test case

1. create backversions in rdb$indices and make hard rollback to leave it on disk:

delete from t_tx;
insert into t_tx select 1 from rdb$types, rdb$types;
insert into t_tx select 1 from rdb$types, rdb$types;
update rdb$indices set rdb$index_inactive = -1;
quit;

2. Try to set stats for all indices:
update rdb$indices set rdb$index_inactive = -1;

Statement failed, SQLSTATE = 40001
deadlock


Call stack
> fb_inet_server.exe!latch_bdb(tdbb=0x035cf4d4, type=LATCH_exclusive, bdb=0x043a1478, page={...}, latch_wait=1)  Line 5464 C++
  fb_inet_server.exe!get_buffer(tdbb=0x035cf4d4, page={...}, latch=LATCH_exclusive, latch_wait=1)  Line 4872 C++
  fb_inet_server.exe!CCH_fetch_lock(tdbb=0x035cf4d4, window=0x044d8c10, lock_type=6, wait=1, page_type='')  Line 889 C++
  fb_inet_server.exe!CCH_FETCH_LOCK(tdbb=0x035cf4d4, window=0x044d8c10, lock_type=6, wait=1, page_type='')  Line 91 C++
  fb_inet_server.exe!CCH_handoff(tdbb=0x035cf4d4, window=0x044d8c10, page=85, lock=6, page_type='', latch_wait=1, release_tail=false)  Line 1618 C++
  fb_inet_server.exe!CCH_HANDOFF(tdbb=0x035cf4d4, window=0x044d8c10, page=85, lock=6, page_type='')  Line 121 C++
  fb_inet_server.exe!DPM_get(tdbb=0x035cf4d4, rpb=0x044d8bb8, lock_type=6)  Line 1449 C++
  fb_inet_server.exe!VIO_backout(tdbb=0x035cf4d4, rpb=0x044d8bb8, transaction=0x0338796c)  Line 406 C++
  fb_inet_server.exe!VIO_chase_record_version(tdbb=0x035cf4d4, rpb=0x044d8bb8, transaction=0x0338796c, pool=0x044d9ea0, writelock=false)  Line 859 C++
  fb_inet_server.exe!VIO_get(tdbb=0x035cf4d4, rpb=0x044d8bb8, transaction=0x0338796c, pool=0x044d9ea0)  Line 1871 C++
  fb_inet_server.exe!get_record(tdbb=0x035cf4d4, rsb=0x044d82ac, parent_rsb=0x044d824c, mode=RSE_get_forward)  Line 1887 C++
  fb_inet_server.exe!get_record(tdbb=0x035cf4d4, rsb=0x044d824c, parent_rsb=0x00000000, mode=RSE_get_forward)  Line 2156 C++
  fb_inet_server.exe!fetch_record(tdbb=0x035cf4d4, rsb=0x044d837c, n=0)  Line 775 C++
  fb_inet_server.exe!get_record(tdbb=0x035cf4d4, rsb=0x044d837c, parent_rsb=0x00000000, mode=RSE_get_forward)  Line 2339 C++
  fb_inet_server.exe!RSE_get_record(tdbb=0x035cf4d4, rsb=0x044d837c, mode=RSE_get_forward)  Line 312 C++
  fb_inet_server.exe!EXE_looper(tdbb=0x035cf4d4, request=0x044d8830, in_node=0x044da180)  Line 1989 C++
  fb_inet_server.exe!looper_seh(tdbb=0x035cf4d4, request=0x044d8830, node=0x044da180)  Line 2917 C++
  fb_inet_server.exe!execute_looper(tdbb=0x035cf4d4, request=0x044d8830, transaction=0x0338796c, node=0x044da180, next_state=req_proceed)  Line 1369 C++
  fb_inet_server.exe!EXE_send(tdbb=0x035cf4d4, request=0x044d8830, msg=0, length=32, buffer=0x035ce944)  Line 971 C++
  fb_inet_server.exe!MET_lookup_partner(tdbb=0x035cf4d4, relation=0x03385490, idx=0x035cea54, index_name=0x00000000)  Line 3796 C++
  fb_inet_server.exe!IDX_modify_flag_uk_modified(tdbb=0x035cf4d4, org_rpb=0x044cb9d8, new_rpb=0x044cba48, transaction=0x0441c008)  Line 1699 C++
  fb_inet_server.exe!VIO_modify(tdbb=0x035cf4d4, org_rpb=0x044cb9d8, new_rpb=0x044cba48, transaction=0x0441c008)  Line 2509 C++
  fb_inet_server.exe!modify(tdbb=0x035cf4d4, node=0x044cc3a0, which_trig=0)  Line 3008 C++
  fb_inet_server.exe!EXE_looper(tdbb=0x035cf4d4, request=0x044cb650, in_node=0x044cbf84)  Line 2564 C++


--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://tracker.firebirdsql.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Loading...