#32 Buffer resets with AutoCycle

open
nobody
Engine (43)
4
2008-09-14
2007-07-17
Anonymous
No

When AutoCycle enabled and the user is detatched, the channel's buffer resets when ZNC parts/joins to gain op status. Using SVN/crox.

Discussion

  • Psychon
    Psychon
    2007-07-17

    • priority: 5 --> 6
     
  • Psychon
    Psychon
    2007-07-17

    Logged In: YES
    user_id=1654410
    Originator: NO

    This is indeed a bug.

    AutoCycle calls CChan::Cycle() which sends a PART and a JOIN for that channel. When ZNC receives the PART reply it deletes that channel (IRCSock calls CUser::DelChan() which btw seems to leak memory). (Not tested, just assumed)

    So not only the channel's buffer but all settings get lost. I know no easy fix for this.

    We could add a m_bDeleted to CChannel which is set to true instead of deleting the channel. But when do we then delete the channel?

    psychon

     
  • Psychon
    Psychon
    2007-10-01

    Logged In: YES
    user_id=1654410
    Originator: NO

    [13:57:48] <CNU_> {11:24:02} i think i found bug!
    [13:57:48] <CNU_> {11:24:16} because on efnet
    [13:57:48] <CNU_> {11:24:20} when irc server spit
    [13:57:48] <CNU_> {11:24:21} split
    [13:57:48] <CNU_> {11:24:21} i'm alone in channel
    [13:57:48] <CNU_> {11:24:23} and znc tries reconnect
    [13:57:48] <CNU_> {11:24:23} to get op
    [13:57:48] <CNU_> {11:24:30} but irc server says channel is temporarily unavilable
    [13:57:48] <CNU_> {11:24:35} and then
    [13:57:48] <CNU_> {11:24:40} the channel is no morein *status listchans!!
    [13:57:48] <CNU_> {11:24:54} c'est cool?
    [13:57:48] <CNU> {11:43:51} *reconnect=part/join/hop!

    same issue

     
  • Psychon
    Psychon
    2008-09-14

    This is half-fixed in latest release.
    AutoCycle was removed from core and moved into a module so we get less people accidentally using this.
    Thanks to kroimon. :)

     
  • Psychon
    Psychon
    2008-09-14

    • priority: 6 --> 4
    • assigned_to: prozacx --> nobody