Citect 2018 R2 - Unresponsive after a time

After a time Citect becomes unresponsive and won't accept any inputs. Values on the mimics are still updating.
The user restarts Citect and all runs fine again - for a while.

In Syslog.dat:

2020-02-07 04:27:27.387    +13:00    TranWrite(0, 23): Name=IOServer1, User has not been authorised
2020-02-07 04:27:27.387    +13:00    TranWrite(1, 23): Name=IOServer2, User has not been authorised
2020-02-07 04:27:27.387    +13:00    TranWrite(4, 23): Name=Alarm, User has not been authorised
2020-02-07 04:27:27.387    +13:00    TranWrite(5, 23): Name=Trend, User has not been authorised

The project has been upgraded from Citect 7.4.
There is a default user login with an on entry command: LogOutIdle(-1)
The individual operator logins have an on exit command that logs the default user in when they timeout or log off.

This was working fine in ver7.4. Perhaps LogOutIdle(-1) is not working in Citect 2018?

  • Some more syslog.dat entries:
    2020-02-11 07:41:48.698 +13:00 Client login discarded; message id mismatch: 1, 2
    2020-02-11 07:41:48.699 +13:00 Client login discarded; message id mismatch: 1, 2
    2020-02-11 07:41:48.699 +13:00 Client login discarded; message id mismatch: 1, 2
    2020-02-11 07:41:48.699 +13:00 Client login discarded; message id mismatch: 1, 2
    2020-02-11 07:41:48.699 +13:00 Client login discarded; message id mismatch: 1, 2
    2020-02-11 07:41:48.705 +13:00 TranWrite(0, 23): Name=IOServer1, TranWrite failed before secure login completed (msg: 23)
    2020-02-11 07:41:48.705 +13:00 TranWrite(1, 23): Name=IOServer2, TranWrite failed before secure login completed (msg: 23)
  • I would contact Support with these issues.
  • Looks like LogOutIdle(-1) is rather broken in Citect 2018 R2.
    Worked fine in ver7.4.
    When a users login times out (role has LogOutIdle(30))a default login replaces them.
    The default login has reduced access rights and LogOutIdle(-1). But after 30min the default user can't write any commands.
    Restart Citect and it all works fine.
    Anyone else having user/roles issues?
  • Depends of a lot of things in your project, but it might be a bug. There were problems with calling LogoutIdle() directly from the roles Entry Command in earlier versions of Citect as well.
    As a workaround you could try to start LogoutIdle() as a separate cicode thread, using TaskNew():
    TaskNew("LogoutIdle", "-1", 0).
  • Thanks Patrick.
    Gave that a try. Still get the same problem.
    After a period the default login loses ability to write values. Buttons & cicode stop working.

    Syslog shows series of TranWrite User not authorised errors.
    Have replaced LogIn() calls with ini file setting AutoLoginMode - 6.
    Works great - but still has same timeout problem.

    On the background Cicode have added:
    IF UserInfo(0) <> "1" THEN
    Login("~~~");
    END
    But no joy. The default user is logged in - just can't write values.

    Restart Citect and default login works fine again. For a period.
    Which has made me suspicious of LogOutIdle(-1).

    Could it be a Win10 issue?
    The two redundant IO servers are just running on Win10 Pro with ~14 clients.
    Have looked in the windows event log on them - but nothing stands out.
  • I don't think it is Win10 related, but Win10 comes in many flavours (builds) so I can't be sure.
    I use LogOutIdle() on Windows 7, Windows Server 2012R2 and Windows 10 with success, but i am using Citect 2015.
    My suspicion lies with Citect 2018R2 in this case. Have you contacted Support already? They might know more about this.
  • Yes. Annoying Lee Duguid with emails etc.
    Upgrade from ver7.4/win7 to 2018R2/win10 has gone well - apart from this last little bit.
  • Citect 2018 R2 Update 4 - contains the fix for TagWrites failing after a login.