Elemental-IRCd / elemental-ircd

Continuation of ShadowIRCD to meet people's needs
GNU General Public License v2.0
41 stars 19 forks source link

SVSJOIN doesn't work, can cause segfaults #2

Closed vinniemac closed 10 years ago

vinniemac commented 10 years ago

Running Atheme Services 7.0.7 and the Contrib module ns_ajoin causes Elemental-IRCd 6.5.1 to crash when a user joins after adding a channel to autojoin.

Module works successfully on ShadowIRCd 6.3.3 with no issues.

Possible cause could be the away interval system introduced as I notice also autojoin_opers has now been removed from the config file due to an issue with the away system.

Xe commented 10 years ago

Can you get debug logs from Atheme and a list of loaded modules in elemental?

vinniemac commented 10 years ago

loaded modules in Elemental:

[18:39] -> Server: modlist [18:39] m_accept.so 0x93e4400 $Revision: 254 $ [18:39] m_admin.so 0x93e4600 $Revision: 3368 $ [18:39] m_away.so 0x93e4800 $Revision: 3370 $ [18:39] m_cap.so 0x93e4a00 $Revision: 676 $ [18:39] m_capab.so 0x93e4c00 $Revision: 1295 $ [18:39] m_certfp.so 0x93e4e00 $Revision$ [18:39] m_challenge.so 0x8aff000 $Revision: 3161 $ [18:39] m_chghost.so 0x8aff200 $Revision: 3424 $ [18:39] m_close.so 0x8aff400 $Revision: 254 $ [18:39] m_cmessage.so 0x8aff600 $Revision: 1543 $ [18:39] m_connect.so 0x8aff800 $Revision: 3161 $ [18:39] m_dline.so 0x8affa00 $Revision$ [18:39] m_encap.so 0x8affc00 $Revision: 254 $ [18:39] m_etrace.so 0x8affe00 $Revision: 3161 $ [18:39] m_help.so 0x8b03000 $Revision: 254 $ [18:39] m_info.so 0x8b03200 $Revision: 3396 $ [18:39] m_invite.so 0x8b03400 $Revision: 3438 $ [18:39] m_ison.so 0x8b03600 $Revision: 254 $ [18:39] m_kline.so 0x8b03800 $Revision$ [18:39] m_knock.so 0x8b03a00 $Revision: 3570 $ [18:39] m_links.so 0x8b03c00 $Revision: 254 $ [18:39] m_list.so 0x8b03e00 $Revision: 3372 $ [18:39] m_locops.so 0x8b04000 $Revision: 254 $ [18:39] m_lusers.so 0x8b04200 $Revision: 254 $ [18:39] m_map.so 0x8b04400 $Revision: 3368 $ [18:39] m_monitor.so 0x8b04600 $Revision: 312 $ [18:39] m_motd.so 0x8b04800 $Revision: 254 $ [18:39] m_names.so 0x8b04a00 $Revision: 254 $ [18:39] m_oper.so 0x8b04c00 $Revision: 1483 $ [18:39] m_operspy.so 0x8b04e00 $Revision: 254 $ [18:39] m_pass.so 0x8328000 $Revision: 3550 $ [18:39] m_ping.so 0x8328200 $Revision: 254 $ [18:39] m_pong.so 0x8328400 $Revision: 3181 $ [18:39] m_post.so 0x8328600 $Revision: 498 $ [18:39] m_privs.so 0x8328800 [18:39] m_rehash.so 0x8328a00 $Revision: 3161 $ [18:39] m_restart.so 0x8328c00 $Revision: 3161 $ [18:39] m_resv.so 0x8328e00 $Revision$ [18:39] m_sasl.so 0x832a000 $Revision: 1409 $ [18:39] m_scan.so 0x832a200 $Revision: 1853 $ [18:39] m_services.so 0x832a400 $Revision: 1907 $ [18:39] m_set.so 0x832a600 $Revision: 3406 $ [18:39] m_signon.so 0x832a800 $Revision: 1192 $ [18:39] m_snote.so 0x832aa00 $Revision: 623 $ [18:39] m_stats.so 0x832ac00 $Revision: 1608 $ [18:39] m_svinfo.so 0x832ae00 $Revision: 494 $ [18:39] m_tb.so 0x832e000 $Revision: 1349 $ [18:39] m_time.so 0x832e200 $Revision: 254 $ [18:39] m_testline.so 0x832e400 $Revision: 3303 $ [18:39] m_testmask.so 0x832e600 $Revision: 3161 $ [18:39] m_topic.so 0x832e800 $Revision: 254 $ [18:39] m_trace.so 0x832ea00 $Revision: 3183 $ [18:39] m_user.so 0x832ec00 $Revision: 3416 $ [18:39] m_userhost.so 0x832ee00 $Revision: 254 $ [18:39] m_users.so 0x832f000 $Revision: 254 $ [18:39] m_version.so 0x832f200 $Revision: 1887 $ [18:39] m_wallops.so 0x832f400 $Revision: 1377 $ [18:39] m_who.so 0x832f600 $Revision: 3350 $ [18:39] m_whois.so 0x832f800 $Revision: 3536 $ [18:39] m_whowas.so 0x832fa00 $Revision: 1717 $ [18:39] m_unreject.so 0x832fc00 $Revision: 3161 $ [18:39] m_xline.so 0x832fe00 $Revision$ [18:39] sno_routing.so 0x3c9b000 $Revision: 1172 $ [18:39] m_ban.so 0x3c9b200 $Revision: 1349 $ (core) [18:39] m_die.so 0x3c9b400 $Revision: 3295 $ (core) [18:39] m_error.so 0x3c9b600 $Revision: 494 $ (core) [18:39] m_join.so 0x3c9b800 $Revision: 3494 $ (core) [18:39] m_kick.so 0x3c9ba00 $Revision: 3317 $ (core) [18:39] m_kill.so 0x3c9bc00 $Revision: 3408 $ (core) [18:39] m_message.so 0x3c9be00 $Revision: 3173 $ (core) [18:39] m_metadata.so 0x3c9c000 $Revision$ (core) [18:39] m_mode.so 0x3c9c200 $Revision: 1006 $ (core) [18:39] m_nick.so 0x3c9c400 $Revision: 3518 $ (core) [18:39] m_part.so 0x3c9c600 $Revision: 98 $ (core) [18:39] m_quit.so 0x3c9c800 $Revision: 1333 $ (core) [18:39] m_server.so 0x3c9ca00 $Revision: 3291 $ (core) [18:39] m_squit.so 0x3c9cc00 $Revision: 3161 $ (core) [18:39] chm_adminonly.so 0x3c9ce00 $Revision$ [18:39] chm_operonly.so 0x3c9f000 $Revision$ [18:39] chm_sslonly.so 0x3c9f200 $Revision$ [18:39] createauthonly.so 0x3c9f400 $Revision: 833 $ [18:39] extb_account.so 0x3c9f600 $Revision: 1299 $ [18:39] extb_canjoin.so 0x3c9f800 $Revision: 1841 $ [18:39] extb_channel.so 0x3c9fa00 $Revision: 1723 $ [18:39] extb_extgecos.so 0x3c9fc00 $Revision: 1339 $ [18:39] extb_oper.so 0x3c9fe00 $Revision: 1299 $ [18:39] extb_realname.so 0x68d9000 $Revision: 1299 $ [18:39] extb_server.so 0x68d9200 $Revision: 1299 $ [18:39] extb_ssl.so 0x68d9400 $Revision$ [18:39] hurt.so 0x68d9600 $Revision: 3161 $ [18:39] ip_cloaking.so 0x68d9800 $Revision: 3526 $ [18:39] m_findforwards.so 0x68d9a00 $Revision: 986 $ [18:39] m_identify.so 0x68d9c00 $Revision: 2729 $ [18:39] m_mkpasswd.so 0x68d9e00 $Revision$ [18:39] m_webirc.so 0x68db000 $Revision: 20702 $ [18:39] m_cycle.so 0x68db200 $Revision$ [18:39] m_oaccept.so 0x68db400 $Id $ [18:39] m_opme.so 0x68db600 $Revision: 3554 $ [18:39] m_ojoin.so 0x68db800 $Revision: 3554 $ [18:39] m_omode.so 0x68dba00 $Revision: 3121 $ [18:39] m_olist.so 0x68dbc00 $Revision: 6 $ [18:39] m_okick.so 0x68dbe00 $Revision: 3554 $ [18:39] m_force.so 0x68df000 $Revision: 3297 $ [18:39] sno_farconnect.so 0x68df200 $Revision: 1869 $ [18:39] sno_globalkline.so 0x68df400 $Revision: 613 $ [18:39] sno_globaloper.so 0x68df600 $Revision: 639 $ [18:39] sno_whois.so 0x68df800 $Revision: 3498 $ [18:39] End of /MODLIST.

I am a bit of a novice when it comes to debugging in Atheme though so not sure how to debug a running atheme services process on my production network as stupid as that may sound.

Xe commented 10 years ago

Oh, hmm.

On git head:

[08/03/2014 11:04:17] SOPER: Xe as Xe
[08/03/2014 11:04:17] <- :00A ENCAP * SU 47GAAAAAI Xe
[08/03/2014 11:04:17] <- :00A ENCAP * SVSJOIN 47GAAAAAI #opers
[08/03/2014 11:04:17] NickServ Xe/AAAAAAAAB:Xe!~xena@127.0.0.1[127.0.0.1] IDENTIFY

it looks like the SVSJOIN goes through, but the user isn't joined to the channel. I am now downgrading my local ircd to test with 6.5.1

Xe commented 10 years ago

I'm not getting a segfault. How is the ns_ajoin module loaded into Atheme? How many channels does the user have on their ns_ajoin list?

vinniemac commented 10 years ago

The ns_ajoin module was first loaded manually issuing /os modload nickserv/ns_ajoin Then after testing on Shadowircd 6.3.3 with Atheme Services 7.0.7 loaded 2 channels #help and #lobby to the list on my nick and joined them automatically. added the module to the atheme config file so that it loaded automatically.

freshly installed Elemental-IRCd 6.5.1 with the same Atheme configuration. Copied over the bits necessary from the 6.3.3 config to the 6.5.1 config. started everything up and the minute my nick connected it segfaulted. Unloaded the ns_ajoin module and everything was fine again.

vinniemac commented 10 years ago

It also worked fine when I deleted the channels from the ajoin list on my nick. It's only when I added channels to it that it segfaulted

vinniemac commented 10 years ago

List of modules loaded in Atheme 7.0.7 if this helps: NOTE: nickserv/ns_ajoin is not currently loaded

[19:47] -OperServ- Loaded modules: [19:47] -OperServ- 1: transport/rfc1459 [loaded at 0x5c6ba00] [19:47] -OperServ- 2: protocol/base36uid [loaded at 0x5c6bc00] [19:47] -OperServ- 3: protocol/ts6-generic [loaded at 0x5c6b800] [19:47] -OperServ- 4: protocol/charybdis [loaded at 0x5c6b600] [19:47] -OperServ- 5: protocol/shadowircd [loaded at 0x5c6b400] [19:47] -OperServ- 6: backend/opensex [loaded at 0x5c6be00] [19:47] -OperServ- 7: crypto/posix [loaded at 0x999f000] [19:47] -OperServ- 8: nickserv/main [loaded at 0x999f600] [19:47] -OperServ- 9: nickserv/access [loaded at 0x999f800] [19:47] -OperServ- 10: nickserv/badmail [loaded at 0x999fa00] [19:47] -OperServ- 11: nickserv/drop [loaded at 0x999fc00] [19:47] -OperServ- 12: nickserv/set_core [loaded at 0x99a3000] [19:47] -OperServ- 13: nickserv/enforce [loaded at 0x999fe00] [19:47] -OperServ- 14: nickserv/ghost [loaded at 0x99a3200] [19:47] -OperServ- 15: nickserv/group [loaded at 0x99a3400] [19:47] -OperServ- 16: nickserv/help [loaded at 0x99a3600] [19:47] -OperServ- 17: nickserv/hold [loaded at 0x99a3800] [19:47] -OperServ- 18: nickserv/identify [loaded at 0x99a3a00] [19:47] -OperServ- 19: nickserv/info [loaded at 0x99a3c00] [19:47] -OperServ- 20: nickserv/list [loaded at 0x99a3e00] [19:47] -OperServ- 21: nickserv/listmail [loaded at 0x7883000] [19:47] -OperServ- 22: nickserv/listownmail [loaded at 0x7883200] [19:47] -OperServ- 23: nickserv/login [loaded at 0x7883400] [19:47] -OperServ- 24: nickserv/logout [loaded at 0x7883600] [19:47] -OperServ- 25: nickserv/mark [loaded at 0x7883800] [19:47] -OperServ- 26: nickserv/freeze [loaded at 0x7883a00] [19:47] -OperServ- 27: nickserv/listchans [loaded at 0x7883c00] [19:47] -OperServ- 28: groupserv/main [loaded at 0x7887000] [19:47] -OperServ- 29: nickserv/listgroups [loaded at 0x7883e00] [19:47] -OperServ- 30: nickserv/register [loaded at 0x7887200] [19:47] -OperServ- 31: nickserv/regnolimit [loaded at 0x7887400] [19:47] -OperServ- 32: nickserv/resetpass [loaded at 0x7887600] [19:47] -OperServ- 33: nickserv/restrict [loaded at 0x7887800] [19:47] -OperServ- 34: nickserv/return [loaded at 0x7887a00] [19:47] -OperServ- 35: nickserv/setpass [loaded at 0x7887c00] [19:47] -OperServ- 36: nickserv/sendpass [loaded at 0x7887e00] [19:47] -OperServ- 37: nickserv/sendpass_user [loaded at 0x788a000] [19:47] -OperServ- 38: nickserv/set_accountname [loaded at 0x788a200] [19:47] -OperServ- 39: nickserv/set_email [loaded at 0x788a400] [19:47] -OperServ- 40: nickserv/set_emailmemos [loaded at 0x788a600] [19:47] -OperServ- 41: nickserv/set_enforcetime [loaded at 0x788a800] [19:47] -OperServ- 42: nickserv/set_hidemail [loaded at 0x788aa00] [19:47] -OperServ- 43: nickserv/set_nevergroup [loaded at 0x788ac00] [19:47] -OperServ- 44: nickserv/set_neverop [loaded at 0x788ae00] [19:47] -OperServ- 45: nickserv/set_nogreet [loaded at 0x7922000] [19:47] -OperServ- 46: nickserv/set_nomemo [loaded at 0x7922200] [19:47] -OperServ- 47: nickserv/set_noop [loaded at 0x7922400] [19:47] -OperServ- 48: nickserv/set_password [loaded at 0x7922600] [19:47] -OperServ- 49: nickserv/set_private [loaded at 0x7922800] [19:47] -OperServ- 50: nickserv/set_property [loaded at 0x7922a00] [19:47] -OperServ- 51: nickserv/set_quietchg [loaded at 0x7922c00] [19:47] -OperServ- 52: nickserv/status [loaded at 0x7922e00] [19:47] -OperServ- 53: nickserv/vacation [loaded at 0x7925000] [19:47] -OperServ- 54: nickserv/verify [loaded at 0x7925200] [19:47] -OperServ- 55: nickserv/vhost [loaded at 0x7925400] [19:47] -OperServ- 56: chanserv/main [loaded at 0x7925600] [19:47] -OperServ- 57: chanserv/akick [loaded at 0x7925800] [19:47] -OperServ- 58: chanserv/ban [loaded at 0x7925a00] [19:47] -OperServ- 59: chanserv/clone [loaded at 0x7925c00] [19:47] -OperServ- 60: chanserv/close [loaded at 0x7925e00] [19:47] -OperServ- 61: chanserv/clear [loaded at 0x10128000] [19:47] -OperServ- 62: chanserv/clear_bans [loaded at 0x10128200] [19:47] -OperServ- 63: chanserv/clear_flags [loaded at 0x10128400] [19:47] -OperServ- 64: chanserv/clear_users [loaded at 0x10128600] [19:47] -OperServ- 65: chanserv/count [loaded at 0x10128800] [19:47] -OperServ- 66: chanserv/drop [loaded at 0x10128a00] [19:47] -OperServ- 67: chanserv/ftransfer [loaded at 0x10128c00] [19:47] -OperServ- 68: chanserv/getkey [loaded at 0x10128e00] [19:47] -OperServ- 69: chanserv/halfop [loaded at 0x1012b000] [19:47] -OperServ- 70: chanserv/help [loaded at 0x1012b200] [19:47] -OperServ- 71: chanserv/hold [loaded at 0x1012b400] [19:47] -OperServ- 72: chanserv/info [loaded at 0x1012b600] [19:47] -OperServ- 73: chanserv/invite [loaded at 0x1012b800] [19:47] -OperServ- 74: chanserv/kick [loaded at 0x1012ba00] [19:47] -OperServ- 75: chanserv/list [loaded at 0x1012bc00] [19:47] -OperServ- 76: chanserv/mark [loaded at 0x1012be00] [19:47] -OperServ- 77: chanserv/op [loaded at 0x3f31000] [19:47] -OperServ- 78: chanserv/protect [loaded at 0x3f31200] [19:47] -OperServ- 79: chanserv/quiet [loaded at 0x3f31400] [19:47] -OperServ- 80: chanserv/recover [loaded at 0x3f31600] [19:47] -OperServ- 81: chanserv/register [loaded at 0x3f31800] [19:47] -OperServ- 82: chanserv/set_core [loaded at 0x3f31a00] [19:47] -OperServ- 83: chanserv/set_email [loaded at 0x3f31c00] [19:47] -OperServ- 84: chanserv/set_entrymsg [loaded at 0x3f31e00] [19:47] -OperServ- 85: chanserv/set_fantasy [loaded at 0x3f34000] [19:47] -OperServ- 86: chanserv/set_founder [loaded at 0x3f34200] [19:47] -OperServ- 87: chanserv/set_guard [loaded at 0x3f34400] [19:47] -OperServ- 88: chanserv/set_keeptopic [loaded at 0x3f34600] [19:47] -OperServ- 89: chanserv/set_mlock [loaded at 0x3f34800] [19:47] -OperServ- 90: chanserv/set_prefix [loaded at 0x3f34a00] [19:47] -OperServ- 91: chanserv/set_private [loaded at 0x3f34c00] [19:47] -OperServ- 92: chanserv/set_property [loaded at 0x3f34e00] [19:47] -OperServ- 93: chanserv/set_restricted [loaded at 0x4808000] [19:47] -OperServ- 94: chanserv/set_secure [loaded at 0x4808200] [19:47] -OperServ- 95: chanserv/set_topiclock [loaded at 0x4808400] [19:47] -OperServ- 96: chanserv/set_url [loaded at 0x4808600] [19:47] -OperServ- 97: chanserv/set_verbose [loaded at 0x4808800] [19:47] -OperServ- 98: chanserv/status [loaded at 0x4808a00] [19:47] -OperServ- 99: chanserv/sync [loaded at 0x4808c00] [19:47] -OperServ- 100: chanserv/successor_acl [loaded at 0x4808e00] [19:47] -OperServ- 101: chanserv/topic [loaded at 0x480b000] [19:47] -OperServ- 102: chanserv/voice [loaded at 0x480b200] [19:47] -OperServ- 103: chanserv/why [loaded at 0x480b400] [19:47] -OperServ- 104: chanserv/xop [loaded at 0x480b600] [19:47] -OperServ- 105: operserv/main [loaded at 0x480b800] [19:47] -OperServ- 106: operserv/akill [loaded at 0x480ba00] [19:47] -OperServ- 107: operserv/clearchan [loaded at 0x480bc00] [19:47] -OperServ- 108: operserv/clones [loaded at 0x480be00] [19:47] -OperServ- 109: operserv/compare [loaded at 0xb779000] [19:47] -OperServ- 110: operserv/greplog [loaded at 0xb779200] [19:47] -OperServ- 111: operserv/help [loaded at 0xb779400] [19:47] -OperServ- 112: operserv/identify [loaded at 0xb779600] [19:47] -OperServ- 113: operserv/ignore [loaded at 0xb779800] [19:47] -OperServ- 114: operserv/info [loaded at 0xb779a00] [19:47] -OperServ- 115: operserv/jupe [loaded at 0xb779c00] [19:47] -OperServ- 116: operserv/mode [loaded at 0xb779e00] [19:47] -OperServ- 117: operserv/modinspect [loaded at 0xb77c000] [19:47] -OperServ- 118: operserv/modlist [loaded at 0xb77c200] [19:47] -OperServ- 119: operserv/modload [loaded at 0xb77c400] [19:47] -OperServ- 120: operserv/modunload [loaded at 0xb77c600] [19:47] -OperServ- 121: operserv/modreload [loaded at 0xb77c800] [19:47] -OperServ- 122: operserv/noop [loaded at 0xb77ca00] [19:47] -OperServ- 123: operserv/override [loaded at 0xb77cc00] [19:47] -OperServ- 124: operserv/readonly [loaded at 0xb77ce00] [19:47] -OperServ- 125: operserv/rehash [loaded at 0x4810000] [19:47] -OperServ- 126: operserv/restart [loaded at 0x4810200] [19:47] -OperServ- 127: operserv/rmatch [loaded at 0x4810400] [19:47] -OperServ- 128: operserv/rnc [loaded at 0x4810600] [19:47] -OperServ- 129: operserv/rwatch [loaded at 0x4810800] [19:47] -OperServ- 130: operserv/set [loaded at 0x4810a00] [19:47] -OperServ- 131: operserv/sgline [loaded at 0x4810c00] [19:47] -OperServ- 132: operserv/shutdown [loaded at 0x4810e00] [19:47] -OperServ- 133: operserv/soper [loaded at 0x4813000] [19:47] -OperServ- 134: operserv/specs [loaded at 0x4813200] [19:47] -OperServ- 135: operserv/sqline [loaded at 0x4813400] [19:47] -OperServ- 136: operserv/update [loaded at 0x4813600] [19:47] -OperServ- 137: operserv/uptime [loaded at 0x4813800] [19:47] -OperServ- 138: memoserv/main [loaded at 0x4813a00] [19:47] -OperServ- 139: memoserv/help [loaded at 0x4813c00] [19:47] -OperServ- 140: memoserv/send [loaded at 0x4813e00] [19:47] -OperServ- 141: memoserv/sendops [loaded at 0x4817000] [19:47] -OperServ- 142: memoserv/sendgroup [loaded at 0x4817200] [19:47] -OperServ- 143: memoserv/list [loaded at 0x4817400] [19:47] -OperServ- 144: memoserv/read [loaded at 0x4817600] [19:47] -OperServ- 145: memoserv/forward [loaded at 0x4817800] [19:47] -OperServ- 146: memoserv/delete [loaded at 0x4817a00] [19:47] -OperServ- 147: memoserv/ignore [loaded at 0x4817c00] [19:47] -OperServ- 148: global/main [loaded at 0x4817e00] [19:47] -OperServ- 149: infoserv/main [loaded at 0x123e9000] [19:47] -OperServ- 150: saslserv/main [loaded at 0x123e9200] [19:47] -OperServ- 151: saslserv/plain [loaded at 0x123e9400] [19:47] -OperServ- 152: saslserv/dh-blowfish [loaded at 0x123e9600] [19:47] -OperServ- 153: saslserv/authcookie [loaded at 0x123e9800] [19:47] -OperServ- 154: alis/main [loaded at 0x123e9a00] [19:47] -OperServ- 155: statserv/main [loaded at 0x123e9c00] [19:47] -OperServ- 156: statserv/channel [loaded at 0x123e9e00] [19:47] -OperServ- 157: statserv/netsplit [loaded at 0x123ed000] [19:47] -OperServ- 158: statserv/server [loaded at 0x123ed200] [19:47] -OperServ- 159: groupserv/acsnolimit [loaded at 0x123ed400] [19:47] -OperServ- 160: groupserv/drop [loaded at 0x123ed600] [19:47] -OperServ- 161: groupserv/fdrop [loaded at 0x123ed800] [19:47] -OperServ- 162: groupserv/fflags [loaded at 0x123eda00] [19:47] -OperServ- 163: groupserv/flags [loaded at 0x123edc00] [19:47] -OperServ- 164: groupserv/help [loaded at 0x123ede00] [19:47] -OperServ- 165: groupserv/info [loaded at 0x10333000] [19:47] -OperServ- 166: groupserv/join [loaded at 0x10333200] [19:47] -OperServ- 167: groupserv/list [loaded at 0x10333400] [19:47] -OperServ- 168: groupserv/listchans [loaded at 0x10333600] [19:47] -OperServ- 169: groupserv/register [loaded at 0x10333800] [19:47] -OperServ- 170: groupserv/regnolimit [loaded at 0x10333a00] [19:47] -OperServ- 171: groupserv/set [loaded at 0x10333c00] [19:47] -OperServ- 172: groupserv/set_channel [loaded at 0x10333e00] [19:47] -OperServ- 173: groupserv/set_description [loaded at 0x10339000] [19:47] -OperServ- 174: groupserv/set_email [loaded at 0x10339200] [19:47] -OperServ- 175: groupserv/set_joinflags [loaded at 0x10339400] [19:47] -OperServ- 176: groupserv/set_open [loaded at 0x10339600] [19:47] -OperServ- 177: groupserv/set_public [loaded at 0x10339800] [19:47] -OperServ- 178: groupserv/set_url [loaded at 0x10339a00] [19:47] -OperServ- 179: misc/httpd [loaded at 0x10339c00] [19:47] -OperServ- 180: transport/xmlrpc [loaded at 0x10339e00] [19:47] -OperServ- 181: contrib/os_savechanmodes [loaded at 0x13227000] [19:47] -OperServ- 181 modules loaded.

Xe commented 10 years ago

I am completely unable to reproduce the crash, but i am getting a different behavior.

For me it is sending the SVSJOIN encaps and then just ignoring them.

Can you email me your config files with passwords stripped?

vinniemac commented 10 years ago

Very weird indeed. config files sent your gmail address you have in here.

Cheers

Xe commented 10 years ago

For now I have modified ns_ajoin to send invites. It's not ideal but it won't cause a segfault. http://git.io/86vr0A As soon as I get this fixed you can switch back to the normal ns_ajoin.

vinniemac commented 10 years ago

Ok that's fantastic. Thanks for looking in to it for me and your work. Gotta be better than a segfault that's for sure.

Thanks once again

vinniemac commented 10 years ago

Loaded the modified module. Not tried it yet though but will do shortly.

Xe commented 10 years ago

While I'm thinking about it, you should upgrade to Atheme 7.1. It has better support for Elemental, namely the owner mode.

ShutterQuick commented 10 years ago

Regression introduced in 755b88c783b1011f256695ce2fe898a283782964 client_p->user is NULL in the case of SVSJOIN.

vinniemac commented 10 years ago

Thinking I might well bump up to Atheme 7.1rc1 and see how she runs. Sounds good to have proper support for Elemental too.

vinniemac commented 10 years ago

I can confirm:

Elemental IRCd 6.5.1 Atheme 7.1.0-rc1

ns_ajoin directly loaded from the Atheme contrib modules in its original state does not cause the IRCd to segfault and users are automatically joined to the channels they put in the ajoin list.

Not sure if this is due to running Atheme 7.1 or due to your latest commit but it works now. Feel free to pop over and test lyska if you wish.

Cheers