Anope Bug Tracker - Anope Development (1.9.x series)
View Issue Details
0001215Anope Development (1.9.x series)Chanservpublic2010-12-20 19:532010-12-25 03:17
ObiWan 
Adam 
highcrashalways
resolvedfixed 
LinuxDebian
 
 
0001215: Services crash when using mlock without parameters (1.9.3)
When trying to issue /msg chanserv set #channel mlock without any parameters services will crash and cause netsplit.
Try /msg chanserv set #channel mlock
#0 0x00007f1a0c63d1f7 in memcpy () from /lib/libc.so.6
No symbol table info available.
0000001 0x00007f1a0d06e080 in ?? () from /usr/lib/libstdc++.so.6
No symbol table info available.
0000002 0x00007f1a0d06e4c9 in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string () from /usr/lib/libstdc++.so.6
No symbol table info available.
0000003 0x00000000004a34e9 in string (this=0x7fff4bd2a9c0, _str=@0x27fdc78, pos=0, n=18446744073709551615) at /usr/local/ircd/src/anope-1.9.3-source/include/anope.h:57
No locals.
0000004 0x00007f1a0584e7bf in CommandCSSetMLock::Execute (this=0x26f1e18, u=0x27f06c0, params=@0x7fff4bd2ac10) at /usr/local/ircd/src/anope-1.9.3-source/modules/core/cs_set_mlock.cpp:39
        ci = (class ChannelInfo *) 0x27de610
        add = -1
        cm = (class ChannelMode *) 0x27de678
        paramcount = 2
        modes = {_string = {static npos = 18446744073709551615, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x7fff4bd2aa10 "@��K�\177"}}, static npos = 18446744073709551615}
0000005 0x00000000004cfc84 in mod_run_cmd (bi=0x26cc640, u=0x27f06c0, c=0x26f1e18, command=@0x27fdc98, message=@0x7fff4bd2b9d0) at /usr/local/ircd/src/anope-1.9.3-source/src/commands.cpp:137
        ret = MOD_CONT
        MOD_RESULT = EVENT_CONTINUE
        params = {<std::_Vector_base<Anope::string, std::allocator<Anope::string> >> = {_M_impl = {<std::allocator<Anope::string>> = {<__gnu_cxx::new_allocator<Anope::string>> = {<No data fields>}, <No data fields>}, _M_start = 0x27fdc70, _M_finish = 0x27fdc78,
      _M_end_of_storage = 0x27fdc78}}, <No data fields>}
        curparam = {_string = {static npos = 18446744073709551615, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x27dfa38 ""}}, static npos = 18446744073709551615}
        endparam = {_string = {static npos = 18446744073709551615, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x7f1a0d2c4018 ""}}, static npos = 18446744073709551615}
        sep = {<sepstream> = {_vptr.sepstream = 0x59af10, tokens = {_string = {static npos = 18446744073709551615, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x27bb308 "#st-city"}},
      static npos = 18446744073709551615}, last_starting_position = {_M_current = 0x27bb310 ""}, n = {_M_current = 0x27bb310 ""}, sep = 32 ' '}, <No data fields>}
0000006 0x00007f1a068b2eb1 in CommandCSSet::Execute (this=0x26ecc78, u=0x27f06c0, params=@0x7fff4bd2bbb0) at /usr/local/ircd/src/anope-1.9.3-source/modules/core/cs_set.cpp:52
        ci = (class ChannelInfo *) 0x27de610
        cmdparams = {_string = {static npos = 18446744073709551615, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x27c8ef8 "#st-city"}}, static npos = 18446744073709551615}
        c = (class Command *) 0x26f1e18
0000007 0x00000000004cfc84 in mod_run_cmd (bi=0x26cc640, u=0x27f06c0, c=0x26ecc78, command=@0x7fff4bd2c970, message=@0x7fff4bd2c980) at /usr/local/ircd/src/anope-1.9.3-source/src/commands.cpp:137
        ret = MOD_CONT
        MOD_RESULT = EVENT_CONTINUE
        params = {<std::_Vector_base<Anope::string, std::allocator<Anope::string> >> = {_M_impl = {<std::allocator<Anope::string>> = {<__gnu_cxx::new_allocator<Anope::string>> = {<No data fields>}, <No data fields>}, _M_start = 0x27fdc90, _M_finish = 0x27fdca0,
      _M_end_of_storage = 0x27fdca0}}, <No data fields>}
        curparam = {_string = {static npos = 18446744073709551615, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x27bab38 ""}}, static npos = 18446744073709551615}
        endparam = {_string = {static npos = 18446744073709551615, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x7f1a0d2c4018 ""}}, static npos = 18446744073709551615}
        sep = {<sepstream> = {_vptr.sepstream = 0x59af10, tokens = {_string = {static npos = 18446744073709551615, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x27ce128 "#st-city mlock"}},
      static npos = 18446744073709551615}, last_starting_position = {_M_current = 0x27ce136 ""}, n = {_M_current = 0x27ce136 ""}, sep = 32 ' '}, <No data fields>}
0000008 0x00000000004d05c7 in mod_run_cmd (bi=0x26cc640, u=0x27f06c0, message=@0x27fd528) at /usr/local/ircd/src/anope-1.9.3-source/src/commands.cpp:35
        sep = {<sepstream> = {_vptr.sepstream = 0x59af10, tokens = {_string = {static npos = 18446744073709551615, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
          _M_p = 0x27cb478 "set #st-city mlock"}}, static npos = 18446744073709551615}, last_starting_position = {_M_current = 0x27cb47c "#st-city mlock"}, n = {_M_current = 0x27cb47c "#st-city mlock"}, sep = 32 ' '}, <No data fields>}
        cmd = {_string = {static npos = 18446744073709551615, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x27991e8 "set"}}, static npos = 18446744073709551615}
0000009 0x0000000000530694 in m_privmsg (source=@0x7fff4bd2d500, receiver=@0x27fd520, message=@0x27fd528) at /usr/local/ircd/src/anope-1.9.3-source/src/messages.cpp:184
        botname = {_string = {static npos = 18446744073709551615, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x27ca1e8 "00AAAAAAD"}}, static npos = 18446744073709551615}
        s = 18446744073709551615
        bi = (class BotInfo *) 0x26cc640
        u = (class User *) 0x27f06c0
0000010 0x00007f1a0c3ab319 in event_privmsg (source=@0x7fff4bd2d500, params=@0x7fff4bd2d4c0) at /usr/local/ircd/src/anope-1.9.3-source/modules/protocol/inspircd20.cpp:779
No locals.
0000011 0x0000000000569255 in process (buffer=@0x7fff4bd3e100) at /usr/local/ircd/src/anope-1.9.3-source/src/process.cpp:289
        m = (Message *) 0x26bdff8
        it = {_M_current = 0x27fa7c0}
        it_end = {_M_current = 0x27fa7c8}
        retVal = true
        buf = {_string = {static npos = 18446744073709551615, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x27d4738 "PRIVMSG 00AAAAAAD :set #st-city mlock"}},
  static npos = 18446744073709551615}
        source = {_string = {static npos = 18446744073709551615, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x27fadb8 "170AAAAAK"}}, static npos = 18446744073709551615}
        buf_sep = {<sepstream> = {_vptr.sepstream = 0x59af10, tokens = {_string = {static npos = 18446744073709551615, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
          _M_p = 0x27fdbe8 "PRIVMSG 00AAAAAAD :set #st-city mlock"}}, static npos = 18446744073709551615}, last_starting_position = {_M_current = 0x27fdbff "#st-city mlock"}, n = {_M_current = 0x27fdbff "#st-city mlock"}, sep = 32 ' '}, <No data fields>}
        buf_token = {_string = {static npos = 18446744073709551615, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x279f2e8 ":set"}}, static npos = 18446744073709551615}
        command = {_string = {static npos = 18446744073709551615, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x279cd68 "PRIVMSG"}}, static npos = 18446744073709551615}
        params = {<std::_Vector_base<Anope::string, std::allocator<Anope::string> >> = {_M_impl = {<std::allocator<Anope::string>> = {<__gnu_cxx::new_allocator<Anope::string>> = {<No data fields>}, <No data fields>}, _M_start = 0x27fd520, _M_finish = 0x27fd530,
      _M_end_of_storage = 0x27fd530}}, <No data fields>}
        messages = {<std::_Vector_base<Message*, std::allocator<Message*> >> = {_M_impl = {<std::allocator<Message*>> = {<__gnu_cxx::new_allocator<Message*>> = {<No data fields>}, <No data fields>}, _M_start = 0x27fa7c0, _M_finish = 0x27fa7c8,
      _M_end_of_storage = 0x27fa7c8}}, <No data fields>}
0000012 0x0000000000527351 in UplinkSocket::Read (this=0x27e4c90, buf=@0x7fff4bd3e100) at /usr/local/ircd/src/anope-1.9.3-source/src/main.cpp:121
No locals.
0000013 0x0000000000585826 in BufferedSocket::ProcessRead (this=0x27e4c90) at /usr/local/ircd/src/anope-1.9.3-source/src/sockets.cpp:426
        tmp_tbuf = {static npos = 18446744073709551615, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x27fd6c8 ":170AAAAAK PRIVMSG 00AAAAAAD :set #st-city mlock"}}
        tbuffer = ":170AAAAAK PRIVMSG 00AAAAAAD :set #st-city mlock\n", '\0' <repeats 65485 times>
        sbuffer = {static npos = 18446744073709551615, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x27fc7e8 ":170AAAAAK PRIVMSG 00AAAAAAD :set #st-city mlock\n"}}
        lastnewline = 48
        stream = {_vptr.sepstream = 0x59ec10, tokens = {_string = {static npos = 18446744073709551615, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
        _M_p = 0x27fc848 ":170AAAAAK PRIVMSG 00AAAAAAD :set #st-city mlock\n"}}, static npos = 18446744073709551615}, last_starting_position = {_M_current = 0x27fc879 ""}, n = {_M_current = 0x27fc879 ""}, sep = 10 '\n'}
        tbuf = {_string = {static npos = 18446744073709551615, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x27fd728 ":170AAAAAK PRIVMSG 00AAAAAAD :set #st-city mlock"}},
  static npos = 18446744073709551615}
0000014 0x00007f1a0b29aecc in SocketEngineEPoll::Process (this=0x26d29c8) at /usr/local/ircd/src/anope-1.9.3-source/modules/socketengines/m_socketengine_epoll.cpp:145
        ev = (epoll_event *) 0x26d3130
        s = (class Socket *) 0x27e4c90
        i = 0
        total = 1
0000015 0x00000000005286f8 in main (ac=5, av=0x7fff4bd405f8, envp=0x7fff4bd40628) at /usr/local/ircd/src/anope-1.9.3-source/src/main.cpp:483
        cwd = "/usr/local/ircd/services-1.9.3/bin", '\0' <repeats 4061 times>
        n = 30
        last_check = 1292867405
expireTimer = {<Timer> = {<Extensible> = {<Base> = {_vptr.Base = 0x5c22f0, References = {_M_t = {
            _M_impl = {<std::allocator<std::_Rb_tree_node<dynamic_reference_base*> >> = {<__gnu_cxx::new_allocator<std::_Rb_tree_node<dynamic_reference_base*> >> = {<No data fields>}, <No data fields>},
              _M_key_compare = {<std::binary_function<dynamic_reference_base*, dynamic_reference_base*, bool>> = {<No data fields>}, <No data fields>}, _M_header = {_M_color = std::_S_red, _M_parent = 0x0, _M_left = 0x7fff4bd3f570, _M_right = 0x7fff4bd3f570},
              _M_node_count = 0}}}}, Extension_Items = {_M_t = {
          _M_impl = {<std::allocator<std::_Rb_tree_node<std::pair<const Anope::string, ExtensibleItemBase*> > >> = {<__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<const Anope::string, ExtensibleItemBase*> > >> = {<No data fields>}, <No data fields>},
            _M_key_compare = {<std::binary_function<Anope::string, Anope::string, bool>> = {<No data fields>}, <No data fields>}, _M_header = {_M_color = std::_S_red, _M_parent = 0x0, _M_left = 0x7fff4bd3f5a0, _M_right = 0x7fff4bd3f5a0}, _M_node_count = 0}}}},
    settime = 1292867394, trigger = 1292869194, secs = 1800, repeat = true}, <No data fields>}
        updateTimer = {<Timer> = {<Extensible> = {<Base> = {_vptr.Base = 0x5c2350, References = {_M_t = {
            _M_impl = {<std::allocator<std::_Rb_tree_node<dynamic_reference_base*> >> = {<__gnu_cxx::new_allocator<std::_Rb_tree_node<dynamic_reference_base*> >> = {<No data fields>}, <No data fields>},
              _M_key_compare = {<std::binary_function<dynamic_reference_base*, dynamic_reference_base*, bool>> = {<No data fields>}, <No data fields>}, _M_header = {_M_color = std::_S_red, _M_parent = 0x0, _M_left = 0x7fff4bd3f4e0, _M_right = 0x7fff4bd3f4e0},
              _M_node_count = 0}}}}, Extension_Items = {_M_t = {
          _M_impl = {<std::allocator<std::_Rb_tree_node<std::pair<const Anope::string, ExtensibleItemBase*> > >> = {<__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<const Anope::string, ExtensibleItemBase*> > >> = {<No data fields>}, <No data fields>},
            _M_key_compare = {<std::binary_function<Anope::string, Anope::string, bool>> = {<No data fields>}, <No data fields>}, _M_header = {_M_color = std::_S_red, _M_parent = 0x0, _M_left = 0x7fff4bd3f510, _M_right = 0x7fff4bd3f510}, _M_node_count = 0}}}},
    settime = 1292867394, trigger = 1292867694, secs = 300, repeat = true}, <No data fields>}
        ex = (const FatalException &) @0x4a2c90: {<CoreException> = {<> = {<No data fields>}, err = {_string = {static npos = 18446744073709551615, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
          _M_p = 0x495450f0e48348e2 <Address 0x495450f0e48348e2 out of bounds>}}, static npos = 18446744073709551615}, source = {_string = {static npos = 18446744073709551615,
        _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0xc7480059a8f0c0c7 <Address 0xc7480059a8f0c0c7 out of bounds>}}, static npos = 18446744073709551615}}, <No data fields>}
No tags attached.
Issue History
2010-12-20 19:53ObiWanNew Issue
2010-12-20 21:40AdamNote Added: 0005690
2010-12-20 21:40AdamAssigned To => Adam
2010-12-20 21:40AdamStatusnew => feedback
2010-12-20 21:46AdamNote Added: 0005691
2010-12-20 21:46AdamStatusfeedback => confirmed
2010-12-20 21:47AdamNote Deleted: 0005690
2010-12-20 21:50ObiWanNote Added: 0005692
2010-12-25 03:17AdamNote Added: 0005701
2010-12-25 03:17AdamStatusconfirmed => resolved
2010-12-25 03:17AdamResolutionopen => fixed

Notes
(0005701)
Adam   
2010-12-25 03:17   
Fixed in 1.9.3-p1 in commit 0f63790b4cb86bd40f6ab7d558907ef463c58dea.
(0005692)
ObiWan   
2010-12-20 21:50   
Inspircd 2.0. Sorry forgot to mention that. I'm also using the inspircd20 module to connect.
(0005691)
Adam   
2010-12-20 21:46   
Alright I see the problem, it just doesn't crash for me on my box. MLock was changed drastically in 1.9.4 so this is no longer a problem. If we release a 1.9.3-p1 then this should be included.