ZNC segfaults, randomly, or as i think, when it sees a PING timeout, like this happened quite a few times, but i only ran it in gdb this time. But i have logs of an earlier segfault:
Jan 6 15:46:05 vps znc[8825]: [2016-01-06 15:46:05.749798] (noteness/freenode) IRC -> ZNC [:alex430_!~alex430@n11649190209.netvigator.com QUIT :Ping timeout: 246 seconds]
Jan 6 15:46:06 vps znc[8825]: [2016-01-06 15:46:06.187456] (noteness/freenode) IRC -> ZNC [:Bomberman!~kvirc@78.156.248.12 PRIVMSG #openshells :�������.]
Jan 6 15:46:06 vps systemd[1]: znc.service: main process exited, code=killed, status=11/SEGV
Jan 6 15:46:06 vps systemd[1]: Unit znc.service entered failed state.
Jan 6 15:46:06 vps systemd[1]: znc.service failed.
These are the last messages of the last run:
[2016-01-06 21:49:56.237571] (noteness/freenode) IRC -> ZNC [:rzy|off!pure-lil
y@gateway/shell/elitebnc/x-gwrsrklvebvwpwky QUIT :Ping timeout: 265 seconds]
[2016-01-06 21:49:56.658078] (noteness/freenode) IRC -> ZNC [:vanessa_FDC!~van
ee@190.79.12.66 PRIVMSG ##romel :�eee ta fino]
[New Thread 0x7fffedea7700 (LWP 17844)]
[New Thread 0x7fffef2a9700 (LWP 17842)]
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff3dd0916 in PyBytes_AsStringAndSize ()
from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
This is the bt full:
#0 0x00007ffff3dd0916 in PyBytes_AsStringAndSize ()
from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
#1 0x00007ffff2e013d5 in SWIG_AsCharPtrAndSize (obj=0x0,
cptr=0x7fffffffc900, psize=0x7fffffffc908, alloc=0x7fffffffc8f8)
at modpython/_znc_core.cpp:4963
cstr = 0x3000000030 <error: Cannot access memory at address 0x30000000
30>
len = 140737283410214
__PRETTY_FUNCTION__ = "int SWIG_AsCharPtrAndSize(PyObject*, char**, si
ze_t*, int*)"
#2 0x00007ffff2e01601 in SWIG_AsPtr_CString (obj=0x7fffefe0fd98, val=0x0)
at modpython/_znc_core.cpp:5024
buf = 0x0
size = 0
alloc = 0
#3 0x00007ffff2f7090a in _wrap_new_String (self=0x7ffff3691818,
args=0x7fffefda3f28) at modpython/_znc_core.cpp:112104
_v = 32767
res = -213742664
argc = 1
argv = {0x7fffefe0fd98, 0x7fffefda3f28}
ii = 1
#4 0x00007ffff3dbd3d7 in PyEval_EvalFrameEx ()
from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
No symbol table info available.
#5 0x00007ffff3dbdcf3 in PyEval_EvalCodeEx ()
from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
No symbol table info available.
#6 0x00007ffff3d423a9 in ?? ()
from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
No symbol table info available.
#7 0x00007ffff3dc2138 in PyObject_Call ()
from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
No symbol table info available.
#8 0x00007ffff3e151ad in ?? ()
from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
No symbol table info available.
#9 0x00007ffff3dc2138 in PyObject_Call ()
from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
No symbol table info available.
#10 0x00007ffff3cc2089 in ?? ()
from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
No symbol table info available.
#11 0x00007ffff3cc3fa6 in ?? ()
from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
No symbol table info available.
#12 0x00007ffff3dc2138 in PyObject_Call ()
from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
No symbol table info available.
#13 0x00007ffff3dba100 in PyEval_EvalFrameEx ()
from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
No symbol table info available.
#14 0x00007ffff3dbdcf3 in PyEval_EvalCodeEx ()
from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
No symbol table info available.
#15 0x00007ffff3d423a9 in ?? ()
from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
No symbol table info available.
#16 0x00007ffff3dc2138 in PyObject_Call ()
from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
No symbol table info available.
#17 0x00007ffff3e151ad in ?? ()
from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
No symbol table info available.
#18 0x00007ffff3dc2138 in PyObject_Call ()
from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
No symbol table info available.
#19 0x00007ffff3ddcdcf in PyObject_CallMethodObjArgs ()
from /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
No symbol table info available.
#20 0x00007ffff42b72b7 in CPyModule::OnChanMessage (this=0xade9a0,
Message=...) at modpython/functions.cpp:4269
pyName = 0x7ffff7e41770
pyArg_Message = 0x7fffefe1c7b8
pyRes = 0x1ffffd240
result = 0
#21 0x00000000006e2508 in CModules::OnChanMessage (this=0xef2ad0,
Message=...) at src/Modules.cpp:1391
e = CModule::CONTINUE
pOldClient = 0x0
pOldUser = 0x0
pNetwork = 0x0
pMod = 0xade9a0
__for_range = @0xef2ad0: {<std::__debug::vector<CModule*, std::allocator<CModule*> >> = std::__debug::vector of length 6, capacity 8 = {0xef9330,
0xc031d0, 0xfe0940, 0xb12010, 0xade9a0, 0x104eeb0},
m_pUser = 0x0, m_pNetwork = 0x0, m_pClient = 0x0}
__for_begin =
__for_end =
bHaltCore = false
#22 0x000000000069301f in CIRCSock::OnTextMessage (this=0x115eb40,
Message=...) at src/Modules.cpp:1391
e = CModule::CONTINUE
pOldClient = 0x0
pOldUser = 0x0
pNetwork = 0x0
pMod = 0xade9a0
__for_range = @0xef2ad0: {<std::__debug::vector<CModule*, std::allocator<CModule*> >> = std::__debug::vector of length 6, capacity 8 = {0xef9330,
0xc031d0, 0xfe0940, 0xb12010, 0xade9a0, 0x104eeb0},
m_pUser = 0x0, m_pNetwork = 0x0, m_pClient = 0x0}
__for_begin =
__for_end =
bHaltCore = false
#22 0x000000000069301f in CIRCSock::OnTextMessage (this=0x115eb40,
Message=...) at src/IRCSock.cpp:1074
NMods = @0xef2ad0: {<std::__debug::vector<CModule*, std::allocator<CModule*> >> = std::__debug::vector of length 6, capacity 8 = {0xef9330,
0xc031d0, 0xfe0940, 0xb12010, 0xade9a0, 0x104eeb0},
m_pUser = 0x0, m_pNetwork = 0x0, m_pClient = 0x0}
pOldNClient = 0x0
bUserExited = false
bResult = false
pChan = 0xfe66e0
sTarget = {<std::basic_string<char, std::char_traits<char>, std::allocator<char> >> = "##romel",
static CaseSensitive = CaseSensitivity::CaseSensitive,
static CaseInsensitive = CaseSensitivity::CaseInsensitive}
#23 0x0000000000688120 in CIRCSock::ReadLine (this=0x115eb40, sData=...)
at src/IRCSock.cpp:223
sLine = {<std::basic_string<char, std::char_traits<char>, std::allocator<char> >> = ":vanessa_FDC!~vanee@190.79.12.66 PRIVMSG ##romel :\361eee ta fino", static CaseSensitive = CaseSensitivity::CaseSensitive,
static CaseInsensitive = CaseSensitivity::CaseInsensitive}
bReturn = false
Message = {m_Nick = {
m_sChanPerms = {<std::basic_string<char, std::char_traits<char>, std::allocator<char> >> = "",
static CaseSensitive = CaseSensitivity::CaseSensitive,
static CaseInsensitive = CaseSensitivity::CaseInsensitive},
m_pNetwork = 0xfe18e0,
m_sNick = {<std::basic_string<char, std::char_traits<char>, std::allocator<char> >> = "vanessa_FDC",
static CaseSensitive = CaseSensitivity::CaseSensitive,
static CaseInsensitive = CaseSensitivity::CaseInsensitive},
m_sIdent = {<std::basic_string<char, std::char_traits<char>, std::allocator<char> >> = "~vanee",
static CaseSensitive = CaseSensitivity::CaseSensitive,
static CaseInsensitive = CaseSensitivity::CaseInsensitive},
m_sHost = {<std::basic_string<char, std::char_traits<char>, std::allocator<char> >> = "190.79.12.66",
static CaseSensitive = CaseSensitivity::CaseSensitive,
static CaseInsensitive = CaseSensitivity::CaseInsensitive}},
m_sCommand = {<std::basic_string<char, std::char_traits<char>, std::allocator<char> >> = "PRIVMSG",
static CaseSensitive = CaseSensitivity::CaseSensitive,
static CaseInsensitive = CaseSensitivity::CaseInsensitive},
m_vsParams = std::__debug::vector of length 2, capacity 2 = {
{<std::basic_string<char, std::char_traits<char>, std::allocator<char> >> = "##romel", static CaseSensitive = CaseSensitivity::CaseSensitive,
static CaseInsensitive = CaseSensitivity::CaseInsensitive},
{<std::basic_string<char, std::char_traits<char>, std::allocator<c
ensitive = CaseSensitivity::CaseSensitive,
static CaseInsensitive = CaseSensitivity::CaseInsensitive},
{<std::basic_string<char, std::char_traits<char>, std::allocator<c
static CaseSensitive = CaseSensitivity::CaseSensitive,
static CaseInsensitive = CaseSensitivity::CaseInsensitive}},
m_mssTags = {<std::__debug::map<CString, CString, std::less<CString>
g const, CString> > >> = std::__debug::map with 0 elements, _vptr.MCString = 0
static EmptyMap = {<std::__debug::map<CString, CString, std::less<
r<CString const, CString> > >> = std::__debug::map with 0 elements, _vptr.MCSt
ing+16>,
static EmptyMap = <same as static member of an already seen type
6, tv_usec = 659201},
m_pNetwork = 0xfe18e0, m_pClient = 0x0, m_pChan = 0xfe66e0,
m_eType = CMessage::Type::Text, m_bColon = true}
#24 0x00000000005fb526 in Csock::PushBuff (this=0x115eb40,
data=0x18fc5f0 ":vanessa_FDC!~vanee@190.79.12.66 PRIVMSG ##romel :\361eee
econds\r\n in #hardware [16:17] <matt______> it says [16:17] <matt______> Cann
nc.note"..., len=64, bStartAtZero=false) at src/Csocket.cpp:2373
sBuff = {<std::basic_string<char, std::char_traits<char>, std::allocat
e@190.79.12.66 PRIVMSG ##romel :\361eee ta fino\r\n", static CaseSensitive = C
static CaseInsensitive = CaseSensitivity::CaseInsensitive}
#24 0x00000000005fb526 in Csock::PushBuff (this=0x115eb40,
data=0x18fc5f0 ":vanessa_FDC!~vanee@190.79.12.66 PRIVMSG ##romel :\361eee ta fino\r\nT :Ping timeout: 265 seconds\r\n in #hardware [16:17] <matt______> it says [16:17] <matt______> Cannot send to channel: ##hardware\r\nc.note"..., len=64, bStartAtZero=false) at src/Csocket.cpp:2373
sBuff = {<std::basic_string<char, std::char_traits<char>, std::allocator<char> >> = ":vanessa_FDC!~vanee@190.79.12.66 PRIVMSG ##romel :\361eee ta fino\r\n", static CaseSensitive = CaseSensitivity::CaseSensitive,
static CaseInsensitive = CaseSensitivity::CaseInsensitive}
iFind = 63
iStartPos = 0
#25 0x00000000005fed63 in CSocketManager::Loop (this=0xa54a40)
at src/Csocket.cpp:3429
iLen = 4096
cBuff = {
m_pBuffer = 0x18fc5f0 ":vanessa_FDC!~vanee@190.79.12.66 PRIVMSG ##romel :\361eee ta fino\r\nT :Ping timeout: 265 seconds\r\n in #hardware [16:17] <matt______> it says [16:17] <matt______> Cannot send to channel: ##hardware\r\nc.note"...}
bytes = 64
pcSock = 0x115eb40
iErrno = CSocketManager::SUCCESS
iFind = 63
iStartPos = 0
#25 0x00000000005fed63 in CSocketManager::Loop (this=0xa54a40)
at src/Csocket.cpp:3429
iLen = 4096
cBuff = {
m_pBuffer = 0x18fc5f0 ":vanessa_FDC!~vanee@190.79.12.66 PRIVMSG ##romel :\361eee ta fino\r\nT :Ping timeout: 265 seconds\r\n in #hardware [16:17] <matt______> it says [16:17] <matt______> Cannot send to channel: ##hardware\r\nc.note"...}
bytes = 64
pcSock = 0x115eb40
iErrno = CSocketManager::SUCCESS
itSock = {first = , second = CSocketManager::SUCCESS}
mpeSocks = std::__debug::map with 1 elements = {
[0x115eb40] = CSocketManager::SUCCESS}
iMilliNow = 1452097196657
#26 0x00000000005ff1da in CSocketManager::DynamicSelectLoop (this=0xa54a40,
iLowerBounds=100000, iUpperBounds=5000000, iMaxResolution=3600)
at src/Csocket.cpp:3487
No locals.
#27 0x0000000000616ef6 in CZNC::Loop (this=0xa54940) at src/znc.cpp:240
sError = {<std::basic_string<char, std::char_traits<char>, std::allocator<char> >> = "", static CaseSensitive = CaseSensitivity::CaseSensitive,
static CaseInsensitive = CaseSensitivity::CaseInsensitive}
eState = CZNC::ECONFIG_NOTHING
#28 0x00000000005db852 in main (argc=3, argv=0x7fffffffe718)
at src/main.cpp:476
SignalHandler = std::unique_ptr<CSignalHandler> containing 0xcba300
iRet = 0
bMakeConf = false
sConfigError = {<std::basic_string<char, std::char_traits<char>, std::allocator<char> >> = "",
static CaseSensitive = CaseSensitivity::CaseSensitive,
static CaseInsensitive = CaseSensitivity::CaseInsensitive}
sConfig = {<std::basic_string<char, std::char_traits<char>, std::allocator<char> >> = "", static CaseSensitive = CaseSensitivity::CaseSensitive,
static CaseInsensitive = CaseSensitivity::CaseInsensitive}
sDataDir = {<std::basic_string<char, std::char_traits<char>, std::allocator<char> >> = "/var/lib/znc",
static CaseSensitive = CaseSensitivity::CaseSensitive,
static CaseInsensitive = CaseSensitivity::CaseInsensitive}
iArg = -1
iOptIndex = 9
bMakePem = false
pZNC = 0xa54940
bMakePass = false
bAllowRoot = false
bForeground = true
Yeah, I've reported this in `#znc-dev` like 24 hours ago. http://107.170.17.75/tmp/znc-crash.txt
```
<*status> ZNC 1.7.x-git-538-5b29bb7 - http://znc.in
<*status> IPv6: yes, SSL: yes, DNS: threads, charset: yes
```
Looks like running any sort of module that takes modpython will crash it.
I only use two modpython modules `myinsanity` and an old copy of `aka`
https://github.com/jdarmst/znc-modules/blob/master/python/myinsanity.py
https://github.com/AwwCookies/ZNC-Modules/blob/334126b4327d4eeecaa9d25d74f3a69c1bd46644/Aka/aka.py
<!-- github-comment-id:169650252 -->
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
ZNC segfaults, randomly, or as i think, when it sees a PING timeout, like this happened quite a few times, but i only ran it in
gdbthis time. But i have logs of an earlier segfault:These are the last messages of the last run:
This is the
bt full:ZNC 1.7.x-git-536-0268f6d - http://znc.in
IPv6: yes, SSL: yes, DNS: threads, charset: yes
Ubuntu 15.04 (GNU/Linux 2.6.32-042stab108.2 x86_64)
Yeah, I've reported this in
#znc-devlike 24 hours ago. http://107.170.17.75/tmp/znc-crash.txtLooks like running any sort of module that takes modpython will crash it.
I only use two modpython modules
myinsanityand an old copy ofakahttps://github.com/jdarmst/znc-modules/blob/master/python/myinsanity.py
https://github.com/AwwCookies/ZNC-Modules/blob/334126b4327d4eeecaa9d25d74f3a69c1bd46644/Aka/aka.py
I use only
znc-nicktrace(The new one, i think)Umhmm