Locked Objects while flushing shared_pool?

Hello guys,
a little understanding about flushing shared pool and the stored objects in it.
What happens to objects (SQL Statements, DDIC cache, and so) that are needed at this time for execution.
For example an user is executing a select statement on a table and its is running while i am executing "alter system flush shared_pool".
What happens to the parsed sql statment which is used at this time by the sql query... and what is happens to the row cache (ddic cache) of the table which is queried at this time?
For my understanding this objects have to be locked (latch) by the user that is executing the query... are they invalidated after the query ends or what happens?
I know that this are internals but maybe someone of you knows it.
Regards
Stefan

Objects in the shared pool can be both "locked" and "pinned"; locks and pins can be held in null, shared, or exclusive mode.
If you are holding a cursor open you are locking it (with an item from the structure x$kgllk); if you are executing a cursor you will also be pinning it (with an iterm from the structure x$kglpn). Roughly speaking, if you hold a lock you are an interested party and want to know if the object gets changed or eliminated; if you hold a pin you are using the current version of the object and it must not change or disappear until you have finished with it.
If you flush the shared pool, pinned objects cannot be removed from the shared pool and (due to some oddities which are probably not deliberate design) there may be some objects which are in "the same chain" as a pinned object which are accidentally protected because the pinned object is "in the way".
I believe the same rationale of 'objects in use are protected' applies to the dictionary cache (row cache) - and there may be some objects there which are permanently pinned anyway. Normally you would only have a dictionary cache object pinned whilst optimising a statement, though, which might be quite rare.
Regards
Jonathan Lewis
http://jonathanlewis.wordpress.com
http://www.jlcomp.demon.co.uk

Similar Messages

  • What is the use for lock object and how to use the lock objects

    Hi Guru's,
    I am new to ABAP .Can you please clarify the that what is the use of lock object and how to use the loct object .what is use of the Deque & Enque  function modules .

    hi ,
    below are some minfo about lock objects :
      Lock Objects
    These types of objects are used for locking the access to database records in table. This mechanism is used to enforce data integrity that is two users cannot update the same data at the same time. With lock objects you can lock table-field or whole table.
    In a system where many users can access the same data, it becomes necessary to control the access to the data. In R/3 system this access control is built-in on database tables. Developers can also lock objects over table records.
    To lock an object you need to call standard functions, which are automatically generated while defining the lock object in ABAP/4 dictionary. This locking system is independent of the locking mechanism used by the R/3 system. This mechanism also defines LUW i.e. Logical Unit of Work. Whenever an object is locked, either by in built locking mechanism or by function modules, it creates corresponding entry in global system table i.e. table is locked. The system automatically releases the lock at the end of transaction. The LUW starts when a lock entry is created in the system table and ends when the lock is released.
    Creating Lock Objects
    Lock object is an aggregated dictionary object and can be defined by using the following steps:
    o From initial data dictionary screen, enter the name for the object, Click Lock object radiobutton and then click on Create. The system displays a dialog box for Maintain Lock Objects screen
    o Enter short text as usual and the name for primary table.
    -Save
    -Select Tables option
    From this screen you can:
    Select secondary tables, if any, linked by foreign key relationship.
    Fields for the lock objects. This option allows you to select fields for objects (R/3 system allows locking up to record level). Lock object argument are not selected by user but are imposed by the system and includes all the primary keys for the table.
    1) Exclusive lock: The locked data can only be displayed or edited by a single user. A request for another exclusive lock or for a shared lock is rejected.
    2) Shared lock: More than one user can access the locked data at the same time in display mode. A request for another shared lock is accepted, even if it comes from another user. An exclusive lock is rejected.
    3) Exclusive but not cumulative: Exclusive locks can be requested several times from the same transaction and are processed successively. In contrast, exclusive but not cumulative locks can be called only once from the same transaction. All other lock requests are rejected.
    Also, last but not the least, locking the object is logical (locking with any enqueue ) .so, you have to use the lock object while trying to access from second program .
    reward if helpful ,
    Regards,
    Ranjita

  • Ora-04021 timeout occurred while waiting to lock object

    Hai All
    When adding a column into a table then an error comes error
    Error Message:
    ORA-04021: timeout occurred while waiting to lock object .....
    How it happens ...what is the solution....please help
    Shiju..

    Hi
    Identify the session that is using this object, kill it and then perform the ALTER table... or wait until the session that is accessing this table release it.
    Rgds
    Adnan

  • JDAPI Error: ORA-04020: deadlock detected while trying to lock object

    I have written a JDAPI program to perform read-only impact analysis and report any problems.
    The following error is occurring:
    "A deadlock among DDL and parse locks is detected.
    This deadlock is usually due to user errors in the design of an application or from issuing a set of concurrent statements which can cause a deadlock.
    ORA-04020: deadlock detected while trying to lock object /NSPC6/CHECK_FOR_FORM_CHANGE"
    The error refers to a procedure in a PL/SQL library.
    In one case the error occurred after my final "end of processing" message, which is followed only by a call to "Jdapi.shutdown()".
    Any ideas?
    Thanks,
    Neville Sweet.

    I have written a JDAPI program to perform read-only impact analysis and report any problems.
    The following error is occurring:
    "A deadlock among DDL and parse locks is detected.
    This deadlock is usually due to user errors in the design of an application or from issuing a set of concurrent statements which can cause a deadlock.
    ORA-04020: deadlock detected while trying to lock object /NSPC6/CHECK_FOR_FORM_CHANGE"
    The error refers to a procedure in a PL/SQL library.
    In one case the error occurred after my final "end of processing" message, which is followed only by a call to "Jdapi.shutdown()".
    Any ideas?
    Thanks,
    Neville Sweet.

  • Patch 9239090 - ORA-04021: timeout occurred while waiting to lock object

    Hello Guys,
    I need help urgently to comlete an upgrade of ebs 12.1.1 to 12.1.3.
    We are upgrading ebs 11i to 12i going live this weekend. We have encountered "ORA-04021: timeout occurred while waiting to lock object" on patch 9239090 with two Workers:
    In adctrl:
    1 Run AutoPatch R120 AFUTLGRS.pls FAILED
    2 Run AutoPatch R120 AFUTLOGS.pls FAILED
    sqlplus -s APPS/***** @/u02/applfinp/apps/apps_st/appl/admin/OFPROD/out/p001invok.sql
    Connected.
    create or replace package wf_bes_cleanup AUTHID CURRENT_USER as
    ERROR at line 1:
    ORA-04021: timeout occurred while waiting to lock object
    I have done everything everything imaginable but cannot get pass these 2 failed workers.
    1) I have checked are there are no locks blocking on any objects:
    select s1.username || '@' || s1.machine
    || ' ( SID=' || s1.sid || ' ) is blocking '
    || s2.username || '@' || s2.machine || ' ( SID=' || s2.sid || ' ) ' AS blocking_status
    from v$lock l1, v$session s1, v$lock l2, v$session s2
    where s1.sid=l1.sid and s2.sid=l2.sid
    and l1.BLOCK=1 and l2.request > 0
    and l1.id1 = l2.id1
    and l2.id2 = l2.id2 ;
    2) I also checked and there is space in the database.
    3) From adctrl, I have tried restarting the jobs one by one but the worker 1 hangs at and eventually fails on several (12) attempts.
    4) The solution on Doc ID 1291064.1 is not the problem:
    SQL> select SUPPLEMENTAL_LOG_DATA_MIN, SUPPLEMENTAL_LOG_DATA_PK, SUPPLEMENTAL_LOG_DATA_UI, FORCE_LOGGING
    from v$database;
    SUPPLEME SUP SUP FOR
    NO NO NO NO
    5) Manual execution still gave ORA-04021:
    sqlplus -s APPS/apps @/u02/applfinp/apps/apps_st/appl/admin/OFPROD/out/p001invok.sql
    sqlplus -s APPS/apps @/u02/applfinp/apps/apps_st/appl/admin/OFPROD/out/p002invok.sql
    6) The alert log has no related errors
    7) I Finally, after over 6 hours of waiting, I could only get the patch to continue after by using adctrl option 8 to skip these two workers.
    After proceeding, I have yet hit two more errors and now stuck:
    I have hit another error with the same patch:
    create or replace package body FND_LOG as
    /* $Header: AFUTLOGB.pls 120 ...
    AD Worker error:
    ORA-04021: timeout occurred while waiting to lock object
    Unable to process file in PACKAGE mode.
    Not converting file for Invoker's Rights because it appears to be a package body creation script (based on the filename).
    File is: /u02/applfinp/apps/apps_st/appl/fnd/12.0.0/patch/115/sql/AFUTLOGB.pls
    AD Worker warning:
    Product Data File
       /u02/applfinp/apps/apps_st/appl/admin/xniprod.txt
       does not exist for product "xni".
      This product is registered in the database but the above file does not exist in APPL_TOP.  The product will be ignored without error
    AD Worker error:
    The following ORACLE error:
    ORA-04063: package body "APPS.FND_LOG" has errors
    ORA-06508: PL/SQL: could not find program unit being called: "APPS.FND_LOG"
    ORA-06512: at "APPS.FND_FUNCTION", line 834
    ORA-06512: at "APPS.FND_MENU_ENTRIES_C_DELTRG", line 4
    ORA-04088: error during execution of trigger 'APPS.FND_MENU_ENTRIES_C_DELTRG'
    Can I stop and restart this patch 9239090?

    Hello,
    I later executed the failed jobs or scripts manually (successfully) for the patch to continue
    sqlplus -s APPS/apps @/u02/applfinp/apps/apps_st/appl/admin/OFPROD/out/p001invok.sql
    sqlplus -s APPS/apps @/u02/applfinp/apps/apps_st/appl/admin/OFPROD/out/p002invok.sql
    The patch ended with the following :
    The following Oracle Reports objects did not generate successfully:
    ap reports/US APXARATE.rdf
    ar reports/US ARXCTA.rdf
    fa reports/US FASRSVED.rdf
    ont reports/US OEXOEORD.rdf
    pa reports/US PAXACMPT.rdf
    pa reports/US PAXALRUN.rdf
    pa reports/US PAXACRPT.rdf
    pa reports/US PAXCPGAL.rdf
    pa reports/US PAXPCRFD.rdf
    The patch execution ended but the patch number is not record in apps.ad_bugs table:
    select TO_CHAR(CREATION_DATE,'dd-Mon-yyyy, hh24:mm:ss'), BUG_NUMBER from apps.ad_bugs where bug_number in ('9239090');
    no rows selected
    JFI
    Patches located in ad_applied_patches to which there is no a corresponding record in ad_bugs:
    SQL> SELECT a.patch_name, TO_CHAR(max(a.last_update_date),'dd-Mon-yyyy, hh24:mm:ss')
    2 FROM applsys.ad_applied_patches a
    3 WHERE NOT EXISTS (SELECT '1'
    4 FROM ad_bugs b
    5 WHERE b.bug_number = a.patch_name)
    6 group by a.patch_name;
    PATCH_NAME TO_CHAR(MAX(A.LAST_UP
    9239090 26-Oct-2013, 00:10:27
    AutoConfig 25-Oct-2013, 17:10:51
    merger9179588 25-Oct-2013, 11:10:30
    merger_post_5903765 27-Apr-2013, 23:04:45
    mergeu6678700 25-Oct-2013, 16:10:09
    What could have happened that this was not recorded in ad_bugs?
    How to I get this recorded in the ad_bugs table?
    Thanks
    Mathias

  • ORA-04020: deadlock detected while trying to lock object SYS

    Upgrading database from 7.3.3 to 7.3.4. Running CAT7304.sql,
    Catalog.sql, and Catproc.sql. In the log file created there are
    mulptiple occurrences of;
    ORA-04045: errors during recompilation/revalidation of
    SYS.DBMS_SYS_SQL
    ORA-04045: errors during recompilation/revalidation of
    SYS.DBMS_SQL
    ORA-04020: deadlock detected while trying to lock object
    SYS.DBMS_SYS_SQL
    This only occurs on a Netware server, it works fine on NT.
    null

    Hi Steve,
    I recommend that you contact Oracle RDBMS support directly.Our
    main area of expertise is migrations from non-oracle
    environments.
    Regards
    John
    Steve Schindler (guest) wrote:
    : Upgrading database from 7.3.3 to 7.3.4. Running CAT7304.sql,
    : Catalog.sql, and Catproc.sql. In the log file created there are
    : mulptiple occurrences of;
    : ORA-04045: errors during recompilation/revalidation of
    : SYS.DBMS_SYS_SQL
    : ORA-04045: errors during recompilation/revalidation of
    : SYS.DBMS_SQL
    : ORA-04020: deadlock detected while trying to lock object
    : SYS.DBMS_SYS_SQL
    : This only occurs on a Netware server, it works fine on NT.
    Oracle Technology Network
    http://technet.oracle.com
    null

  • Ora-04021: timeout occured while waiting to lock object.

    I have upgraded the DB From 8.1.5 to 8.1.7 then 9.0.2
    but while converting to 9i it gave a warning that
    "some uncompiled objects were found".
    now the DB works fine with every DDL and DML operation but when I edit any precedure or function it hangs for 4 to 5 mins and then show the following error
    ora-04021: timeout occured while waiting to lock object.
    when I shutdown the DB and restarts it then it allowes me to edit any founction or procedure or package only for one time,then again shows the error when I try to edit second time.
    what my be the reason , can any body help me pl.
    thankx in advance.

    If you have oracle metalink support, then, read Note:169139.1. If not, give me your email id, i will send you the note.
    SJH

  • Error while lock object creation

    Hi
    When I tried to create a lock object, I get the following error.
    Error: "Total length of lock argument for table XXXXXXXXX longer than 150"
    I have 3 tables in which Table1 is the check table for the value tables (Table2 & Table3). During the process of deletion of a record from Table1 (CT) I need the lock tobe established on value tables and then I delete all the corresponding entries in value tables are also deleted.
    Would like to know If there is any other std ways of doing this ? and
    Solution to overcome the error.
    Regards
    Karthick

    Hi,
    I think the error is becoz you have given too many LOCK parameters in the lock object. the total length of the PARAMTERS of lock object should not exceed 150.
    By default all the KEY fields will be taken as Lock paramters, so your table key's length is more than 150.
    Also why dont you create 3 lock objects for each table and then use only KEY's of each table as LOCK PARAMETERS.
    Then Lock T1 record first then lock T2 and T3 records, then delete records from T2 and T3.
    Then you delete T1 record.
    The execute DEQUEUE_ALL.
    Regards,
    Sesh

  • Lock Objects Problem while updating entries in custom table

    Hi Friends,
    Iam updating a custom table ztable from internal table entries.
    ie : Modify ZTABLE from table ITAB.
    Now the entries are updating and inserting perfectly..
    But my problem is i need to use lock objects before doing this..
    I have created a lock obect EZTABLE with all th ekey fields of the table.. ie : it has 2 key fields
    item & matnr .
    Now how to use lock objects here.. do i need to loop the internal table and use enque & deque function module each and every time in loop or use it out side the loop..
    Can any one explain me this..
    Regards,
    Kumar

    hi kumar,
    **check if the equipment is already locked by user, if yes, trigger a mail
                CALL FUNCTION 'ENQUEUE_EIEQUI'
                 EXPORTING
                MODE_EQUI            = 'E'
                MANDT                = SY-MANDT
                   equnr                = lv_equi_temp
                X_EQUNR              = ' '
                _SCOPE               = '2'
                _WAIT                = ' '
                _COLLECT             = ' '
                 EXCEPTIONS
                   foreign_lock         = 1
                   system_failure       = 2
                   OTHERS               = 3.
                IF sy-subrc <> 0.
                  lv_subrc1 =  sy-subrc.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
                ELSE.
                  CALL FUNCTION 'DEQUEUE_EIEQUI'
                   EXPORTING
                MODE_EQUI       = 'E'
                MANDT           = SY-MANDT
                     equnr           =  lv_equi_temp
                X_EQUNR         = ' '
                _SCOPE          = '3'
                _SYNCHRON       = ' '
                _COLLECT        = ' '
                ENDIF.
    try like this to check if the object is locked....
    u can also use
    call function 'ENQUEUE,.
    do the needful changes update the database then commit work
    then call function 'DEQUEUE'
    hope this helps,
    tanmaya

  • Dead lock error while updating data into cube

    We have a scenario of daily truncate and upload of data into cube and volumes arrive @ 2 million per day.We have Parallel process setting (psa and data targets in parallel) in infopackage setting to speed up the data load process.This entire process runs thru process chain.
    We are facing dead lock issue everyday.How to avoid this ?
    In general dead lock occurs because of degenerated indexes if the volumes are very high. so my question is does deletion of Indexes of the cube everyday along with 'deletion of data target content' process help to avoiding dead lock ?
    Also observed is updation of values into one infoobject is taking longer time approx 3 mins for each data packet.That infoobject is placed in dimension and defined it as line item as the volumes are very high for that specific object.
    so this is over all scenario !!
    two things :
    1) will deletion of indexes and recreation help to avoid dead lock ?
    2) any idea why the insertion into the infoobject is taking longer time (there is a direct read on sid table of that object while observed in sql statement).
    Regards.

    hello,
    1) will deletion of indexes and recreation help to avoid dead lock ?
    Ans:
    To avoid this problem, we need to drop the indexes of the cube before uploading the data.and rebuild the indexes...
    Also,
    just find out in SM12 which is the process which is causing lock.... Delete that.
    find out the process in SM66 which is running for a very long time.Stop  this process.
    Check the transaction SM50 for the number of processes available in the system. If they are not adequate, you have to increase them with the help of basis team
    2) any idea why the insertion into the infoobject is taking longer time (there is a direct read on sid table of that object while observed in sql statement).
    Ans:
    Lie item dimension is one of the ways to improve data load as well as query performance by eliminationg the need for dimensin table. So while loading/reading, one less table to deal with..
    Check in the transformation mapping of that chs, it any rouitne/formula  is written.If so, this can lead to more time for processing that IO.
    Storing mass data in InfoCubes at document level is generally not recommended because when data is loaded, a huge SID table is created for the document number line-item dimension.
    check if your IO is similar to doc no...
    Regards,
    Dhanya

  • Lock objects to text

    Does anyone know of a way to lock floating objects to text in a Pages09 document? I love the way Pages deals with floating objects, so much better than Word, but I'd like to be able to lock individual or grouped objects (images, text boxes) to a specific paragraph, so they move together during editing. I see how to lock objects to a specific location on a page, but this is not what I want.

    What you are requesting is called an anchor and it is a feature that I too wish Pages had. For now, if you want an object to flow with our edited text, the only choice is an inline object. However I have found that either Pages 09 has better inline text wrapping or I totally missed that Pages 08 got it. Try placing an object inline, setting its text wrapping to on, and then play with the options. You might find that you can get what you want this way.
    I'm in the midst of creating a large set of tutorials with lots of pictures of menus, palettes, and the like. Each tutorial is from 5 to 12 pages long. Even though I'm not getting the exact placement I want using this method, it is close enough for me to use while I'm writing and editing. When I'm finished with a tutorial I've been going back and making some of them floating objects again and tweaking their locations a bit. A bit of a kludge but we work with what we've got, eh?

  • Any way to lock objects in stateless app?

    Hi Guys
    Firstly: I know... I know... Once the stateless request has completed, the "session" is destroyed along with any locks etc. But how do you handle situations where you need to keep a more persistent lock on an object across stateless invocations?
    For example: Our stateless app allows you to update a customer record. I want to prevent someone from going into XD02 (or use our BSP app) to update the same record...
    Any thoughts greatly appreciated!

    I had a little bit of time so I tried my shared memory idea and unfortunetely it didn't work. I can lock from within my shared memory class, however the locks are released as soon as the detatch_commit() of the area is called.  When I look in the debugger I see something even more interesting.  If I look at references to my object while my write program is running I see that the object is of my class type: ZCL_SDN_SHARED_ROOT and that it is referenced by the running program and also referenced as the following: KERNEL=
    Now if I follow the debugger out of the execution of my program into the calling stack, I can see that my object reference still exists.  If I look at the references, I still have two of them.  One is the Kernel still, but the program's reference is gone.  Now I have the following reference as well:
    .  This must be the reference to my Root instance in my shared memory area. 
    This is the really interesting part.  If I drill into the object display of my root class instance it no longer displays as type CLASS=ZCL_SDN_SHARED_ROOT.  It is now as follows:  .  It is as though the root instance isn't actually stored in Shared memory, just some meta model description of the object instance.  This could very well explain why you can't persist locks or other ABAP Object References inside a shared memory class.

  • Help in lock object

    HI All
    i am want to handle lock object for instance if i want to lock some object and it's already locked i want to do some loop on it for 5 times .
    1. i need to know if what i was doing is OK since this is my first time .
    2. what should i use i parameter wait can it help me ?
    Kind Regards
    Chris
    iv_try_x_times = 5. "this value on the method signature
      DO iv_try_x_times TIMES.
        lv_count = lv_count + 1.
        CALL FUNCTION ENQUEUE_USR_DATA
        EXPORTING
        mandt = sy-mandt
        userid = mv_userid
        x_for_user            = iv_is_exact 
        _wait                 = iv_is_wait
      EXCEPTIONS
        foreign_lock = 1
        system_failure = 2
        OTHERS = 3.
        IF sy-subrc = 0.
          RETURN.
        ENDIF.
        IF lv_count < iv_try_x_times.
          WAIT UP TO 1 SECONDS.
        ENDIF.
      ENDDO

    Hi Chris,
    Such a code piece might help you;
    data: is_locked type c,
             lv_counter type i.
    is_locked = ''.
    lv_counter = 0.
    while is_locked = '' and lv_counter < 5.
      lv_counter = lv_counter + 1.
        CALL FUNCTION ENQUEUE_USR_DATA
        EXPORTING
        mandt = sy-mandt
        userid = mv_userid
        x_for_user            = iv_is_exact 
        _wait                 = iv_is_wait
      EXCEPTIONS
        foreign_lock = 1
        system_failure = 2
        OTHERS = 3.
        IF sy-subrc = 0.
          is_locked = 'X'.
       else.
          wait  up to 1 seconds.
       endif.
    endwhile.
    Regards;
    Ozcan.

  • Lock object for Purchase Order

    Dear Experts.
    I am searching the function module "ENQUEUE_   " , which is for locking & Unlocking
    the Purchase order(ekko-ebeln).
    Please help me.
    Thanks in advance,
    Regards,
    Rahul.

    Hi,
    Use the Lock object EMEKKOE to Lock and Unloack the Purchase orders
    Use this FM to lock
    MM_ENQUEUE_DOCUMENT
    This is also used in the standard program. While enqueing,
    if there is any error (sy-subrc 0), then it means,
    that particular purchase order is already locked
    Use Fm DEQUEUE_ALL to release all lock at the end of report execution.
    Regards,
    Shamma
    Edited by: Shamma Firdous on Aug 20, 2009 10:22 AM

  • Lock object funtion module for afpo table

    Hii,
    I have designed a screen and maintained batch field as mandatory field in that screen. and when i give batch number and hit enter the order number related to that batch number is automatcially picked. order and batch field's i am taking from AFPO table.now i want to lock this batch or order  field so that no 2 user's can use same batch  or order number while making entries.
    can anyone let me know what is the function module i should use for enqueue and dequeue technics for these 2 fields.
    Regards,
    Venkat.
    Edited by: venkat akella on Jun 29, 2010 1:40 PM

    Hi Venkat,
    For your requierment, you have to create a lock object for table AFPO using T code SE11.
    The name of the Lock object should be start with EZ.
    Then use the FM DEQUEUE_EZ**** & ENQUEUE_EZ**** For unlock and lock of the order.
    Regards
    DKS

Maybe you are looking for

  • Unassigned Values in PS reports

    Hi , We have not assigned few Cost elements in transaction code OPI2 , mainly COGS and SFGs consumption Cost elements. So they are coming in the unassigned value category. But when we run the hierarchical report S_ALR_87013532 - Plan/Actual/Variance,

  • Parallels Desktop 9 can't be opened after EFI upgrade 2.9

    I just upgraded my EFI firmware for 2.9 edition. But after done this, the Parallels Desktop 9.0 can't be started with an warning of Unable to load the Parallels driver.  It seems that the virtualization support is disabled on my Mac.But I have done w

  • The on/offbutton is not working

    Help!

  • Hello-oooow! Can't Find Help Online For My Problem!

    "iTunes has encountered a problem and needs to close. We are sorry for the inconvenience." The message above is the one I get whenever I try to open the new downloaded version of iTunes. Very frustrating, because now I can't go back to the previous 7

  • Rwbuilder has generated error...

    Hi, When I am trying to start Reports Builder from start menu I am getting following error "rwbuilder.exe has generated error , program will be closed by windows.". I was able to work fine with reports some days back, but suddenly I am facing this er