Irssi core bugs

Notice: Undefined index: tasklist_type in /var/www/bugs.irssi.org/includes/class.tpl.php(128) : eval()'d code on line 85 Notice: Undefined index: tasklist_type in /var/www/bugs.irssi.org/includes/class.tpl.php(128) : eval()'d code on line 90
  • Status Unconfirmed
  • Percent Complete
    0%
  • Task Type Bug Report
  • Category core
  • Assigned To No-one
  • Operating System Linux
  • Severity Critical
  • Priority Normal
  • Reported Version irssi 0.8.14
  • Due in Version Undecided
  • Due Date Undecided
  • Votes 0
  • Private No
Attached to Project: Irssi core bugs
Opened by Paige Thompson (paigeadele) - 2009-10-27

FS#714 - IRSSI Config Severely borks IRSSI

Versions Ive repro'd this with:

irssi 0.8.14 (20090728 1938)
irssi 0.8.12 (20071006 0939)

upon running irssi with the brand new shiny config (attached), I get this stack trace:

pthomps@misfit ~ $ irssi
*** glibc detected *** irssi: free(): invalid pointer: 0xb8074028 ***
======= Backtrace: =========
/lib/libc.so.6[0xb7aa9375]
/lib/libc.so.6(cfree+0x9c)[0xb7aaac3c]
/usr/lib/libglib-2.0.so.0(g_free+0x2f)[0xb7d5a702]
irssi(config_node_set_str+0xa7)[0xb8030efd]
irssi[0xb80317d3]
irssi(config_parse+0x7d)[0xb8031ac5]
irssi[0xb802b67f]
irssi(settings_init+0xef)[0xb802c928]
irssi(core_init+0x9a)[0xb801ca6b]
irssi(main+0x11d)[0xb7fd48e7]
/lib/libc.so.6(__libc_start_main+0xe5)[0xb7a54725]
irssi[0xb7fc2a01]
======= Memory map: ========
b7700000-b7721000 rw-p b7700000 00:00 0
b7721000-b7800000 ---p b7721000 00:00 0
b7893000-b789f000 r-xp 00000000 fd:03 544509 /usr/lib/gcc/i486-pc-linux-gnu/4.3.4/libgcc_s.so.1
b789f000-b78a0000 r--p 0000b000 fd:03 544509 /usr/lib/gcc/i486-pc-linux-gnu/4.3.4/libgcc_s.so.1
b78a0000-b78a1000 rw-p 0000c000 fd:03 544509 /usr/lib/gcc/i486-pc-linux-gnu/4.3.4/libgcc_s.so.1
b78a1000-b7a1f000 r--p 00000000 fd:03 521325 /usr/lib/locale/locale-archive
b7a1f000-b7a28000 r-xp 00000000 fd:00 165165 /lib/libnss_files-2.9.so
b7a28000-b7a29000 r--p 00008000 fd:00 165165 /lib/libnss_files-2.9.so
b7a29000-b7a2a000 rw-p 00009000 fd:00 165165 /lib/libnss_files-2.9.so
b7a2a000-b7a33000 r-xp 00000000 fd:00 165206 /lib/libnss_nis-2.9.so
b7a33000-b7a34000 r--p 00008000 fd:00 165206 /lib/libnss_nis-2.9.so
b7a34000-b7a35000 rw-p 00009000 fd:00 165206 /lib/libnss_nis-2.9.so
b7a35000-b7a3b000 r-xp 00000000 fd:00 164131 /lib/libnss_compat-2.9.so
b7a3b000-b7a3c000 r--p 00006000 fd:00 164131 /lib/libnss_compat-2.9.so
b7a3c000-b7a3d000 rw-p 00007000 fd:00 164131 /lib/libnss_compat-2.9.so
b7a3d000-b7a3e000 rw-p b7a3d000 00:00 0
b7a3e000-b7b7b000 r-xp 00000000 fd:00 165205 /lib/libc-2.9.so
b7b7b000-b7b7c000 ---p 0013d000 fd:00 165205 /lib/libc-2.9.so
b7b7c000-b7b7e000 r--p 0013d000 fd:00 165205 /lib/libc-2.9.so
b7b7e000-b7b7f000 rw-p 0013f000 fd:00 165205 /lib/libc-2.9.so
b7b7f000-b7b83000 rw-p b7b7f000 00:00 0
b7b83000-b7bb7000 r-xp 00000000 fd:00 163984 /lib/libncurses.so.5.7
b7bb7000-b7bb9000 r--p 00034000 fd:00 163984 /lib/libncurses.so.5.7
b7bb9000-b7bba000 rw-p 00036000 fd:00 163984 /lib/libncurses.so.5.7
b7bba000-b7bca000 r-xp 00000000 fd:00 165184 /lib/libz.so.1.2.3
b7bca000-b7bcb000 r--p 0000f000 fd:00 165184 /lib/libz.so.1.2.3
b7bcb000-b7bcc000 rw-p 00010000 fd:00 165184 /lib/libz.so.1.2.3
b7bcc000-b7bce000 r-xp 00000000 fd:00 165212 /lib/libdl-2.9.so
b7bce000-b7bcf000 r--p 00001000 fd:00 165212 /lib/libdl-2.9.so
b7bcf000-b7bd0000 rw-p 00002000 fd:00 165212 /lib/libdl-2.9.so
b7bd0000-b7cd0000 r-xp 00000000 fd:03 521886 /usr/lib/libcrypto.so.0.9.8
b7cd0000-b7cd7000 r--p 00100000 fd:03 521886 /usr/lib/libcrypto.so.0.9.8
b7cd7000-b7ce5000 rw-p 00107000 fd:03 521886 /usr/lib/libcrypto.so.0.9.8
b7ce5000-b7ce8000 rw-p b7ce5000 00:00 0
b7ce8000-b7d1f000 r-xp 00000000 fd:03 521884 /usr/lib/libssl.so.0.9.8
b7d1f000-b7d20000 r--p 00036000 fd:03 521884 /usr/lib/libssl.so.0.9.8
b7d20000-b7d23000 rw-p 00037000 fd:03 521884 /usr/lib/libssl.so.0.9.8
b7d23000-b7dd9000 r-xp 00000000 fd:03 531403 /usr/lib/libglib-2.0.so.0.2000.5
b7dd9000-b7dda000 r--p 000b5000 fd:03 531403 /usr/lib/libglib-2.0.so.0.2000.5
b7dda000-b7ddb000 rw-p 000b6000 fd:03 531403 /usr/lib/libglib-2.0.so.0.2000.5
b7ddb000-b7ddc000 rw-p b7ddb000 00:00 0
b7ddc000-b7dde000 r-xp 00000000 fd:03 531407 /usr/lib/libgmodule-2.0.so.0.2000.5
b7dde000-b7ddf000 r--p 00001000 fd:03 531407 /usr/lib/libgmodule-2.0.so.0.2000.5
b7ddf000-b7de0000 rw-p 00002000 fd:03 531407 /usr/lib/libgmodule-2.0.so.0.2000.5
b7de0000-b7de2000 r-xp 00000000 fd:00 165213 /lib/libutil-2.9.so
b7de2000-b7de3000 r--p 00001000 fd:00 165213 /lib/libutil-2.9.so
b7de3000-b7de4000 rw-p 00002000 fd:00 165213 /lib/libutil-2.9.so
b7de4000-b7ded000 r-xp 00000000 fd:00 164216 /lib/libcrypt-2.9.so
b7ded000-b7dee000 r--p 00008000 fd:00 164216 /lib/libcrypt-2.9.so
b7dee000-b7def000 rw-p 00009000 fd:00 164216 /lib/libcrypt-2.9.so
b7def000-b7e16000 rw-p b7def000 00:00 0
b7e16000-b7e3a000 r-xp 00000000 fd:00 165172 /lib/libm-2.9.so
b7e3a000-b7e3b000 r--p 00023000 fd:00 165172 /lib/libm-2.9.so
b7e3b000-b7e3c000 rw-p 00024000 fd:00 165172 /lib/libm-2.9.so
b7e3c000-b7e4f000 r-xp 00000000 fd:00 164822 /lib/libnsl-2.9.so
b7e4f000-b7e50000 r--p 00012000 fd:00 164822 /lib/libnsl-2.9.so
b7e50000-b7e51000 rw-p 00013000 fd:00 164822 /lib/libnsl-2.9.so
b7e51000-b7e53000 rw-p b7e51000 00:00 0
b7e53000-b7e67000 r-xp 00000000 fd:00 164115 /lib/libpthread-2.9.so
b7e67000-b7e68000 r--p 00013000 fd:00 164115 /lib/libpthread-2.9.so
b7e68000-b7e69000 rw-p 00014000 fd:00 164115 /lib/libpthread-2.9.so
b7e69000-b7e6c000 rw-p b7e69000 00:00 0
b7e6c000-b7f6e000 r-xp 00000000 fd:03 522353 /usr/lib/libperl.so.1.5.8
b7f6e000-b7f70000 r--p 00102000 fd:03 522353 /usr/lib/libperl.so.1.5.8
b7f70000-b7f73000 rw-p 00104000 fd:03 522353 /usr/lib/libperl.so.1.5.8
b7f73000-b7f76000 rw-p b7f73000 00:00 0
b7f8d000-b7fa9000 r-xp 00000000 fd:00 165171 /lib/ld-2.9.so
b7fa9000-b7faa000 r--p 0001b000 fd:00 165171 /lib/ld-2.9.so
b7faa000-b7fab000 rw-p 0001c000 fd:00 165171 /lib/ld-2.9.so
b7fab000-b804d000 r-xp 00000000 fd:03 391519 /usr/bin/irssi
b804d000-b804e000 r--p 000a2000 fd:03 391519 /usr/bin/irssi
b804e000-b8056000 rw-p 000a3000 fd:03 391519 /usr/bin/irssi
b8056000-b8098000 rw-p b8056000 00:00 0 [heap]
bfb36000-bfb4c000 rw-p bffea000 00:00 0 [stack]
Aborted
pthomps@misfit ~ $


please make this baby work, I need it really really bad and must have it. Maybe someone could assign the bug to me to fix if nothing else!

   config (44.8 KiB)

This task does not depend on any other tasks.

Paige Thompson (paigeadele)
Tuesday, 27 October 2009, 12:03 GMT
Just incase anybody would like to know how I made this config file:

http://pastebin.ca/1644979
Paige Thompson (paigeadele)
Saturday, 31 October 2009, 12:50 GMT
fixed,

still ... irssi could stand to at least tell me that it doesn't allow certain / weird characters in the chatnet names:

this script generates a working config :

def GenerateServerSection(networkdict):
ServerSectionRet = 'servers = (\n'
NetworkKeys = networkdict.keys()
for i in range(len(NetworkKeys)):
for j in range(len(networkdict[NetworkKeys[i]])):
tuptups = networkdict[NetworkKeys[i]][j]
ServerSectionRet += '\t{ address = "' + tuptups[0] + '"; '
ServerSectionRet += 'chatnet = "' + NetworkKeys[i].replace('-', '').replace('.', '').replace(' ', '').replace('#', '') + '"; '
ServerSectionRet += 'autoconnect = "yes"; '
ServerSectionRet += 'port = "' + tuptups[1] + '"; },\n'
ServerSectionRet += ');\n'
return ServerSectionRet

def GenerateChatNetsSection(tuptups, defaultnick):
ChatNetRet = 'chatnets = {\n'
for i in range(len(tuptups)):
ChatNetRet += '\t' + tuptups[i].replace('-', '').replace('.', '').replace(' ', '').replace('#', '') + ' = {\n'
ChatNetRet += '\t\t type = "IRC";\n'
ChatNetRet += '\t\t nick = "'+ defaultnick +'";\n'
ChatNetRet += '\t};\n'
ChatNetRet += '};\n'
return(ChatNetRet)

def ReadInFile(filename):
return(open(filename).readlines())

def ParseMircFile(startline, serverlines):
Networks = dict()
for i in range(startline, len(serverlines)):
if len(serverlines[i].split(":")) == 5:
if Networks.has_key(serverlines[i].split(":")[0].split("=")[1]) != True:
Networks[serverlines[i].split(":")[0].split("=")[1]] = list()
Networks[serverlines[i].split(":")[0].split("=")[1]].append((serverlines[i].split(":")[2], serverlines[i].split(":")[3].split("GROUP")[0]))
return(Networks)

print(GenerateServerSection(ParseMircFile(8, ReadInFile("servers.ini"))))
print(GenerateChatNetsSection(ParseMircFile(8, ReadInFile("servers.ini")).keys(), "erratic"))

Jase Thew (bazerka)
Monday, 05 April 2010, 10:55 GMT
The problem with that config is that it contains multiple chatnet definitions that require the chatnet name to be quoted, (eg, chatnet names containing spaces or "#"). Once the chatnet names are properly quoted (which they would be if they had been added via /network add), this config no longer causes a SEGFAULT.

This is exactly the reason why hand editing (or externally generating a config outside of irssi) is not recommended.
Henri Salo (henrisalo)
Monday, 30 June 2014, 07:06 GMT
Please close this issue as handled / fixed.

Loading...