Ticket #368 (closed segfault: fixed)

Opened 3 years ago

Last modified 3 years ago

Segfault from QUIT in 1.2.14 3545

Reported by: plat0nic Owned by: bryan
Priority: blocker Milestone: 1.2.14
Component: core Version: 1.2.14
Keywords: Cc:

Description

Still researching cause and attempting to gather all relevant information.
So far limited to one shell:
FreeBSD hercules.alcatrazmedia.com 6.1-RELEASE-p5 FreeBSD 6.1-RELEASE-p5 #0: Mon Sep 4 05:41:23 UTC 2006 root@:/usr/obj/usr/src/sys/ALCATRAZ i386

Change History

Changed 3 years ago by bryan

  • priority changed from minor to blocker
  • version 1.2.13 deleted
  • summary changed from Segfault causing CPU % spike rather than process termination to Unidentified segfault in 1.2.14 3545

11:18:38 <+plat0nic> [14:15:34] ::: quit: (@haji) ( aeroxp1@rm.minusrf.my-hdd.net) getpid() does not match pid in file. Possible cloned process, exiting.. 11:18:38 <+plat0nic> [14:15:57] ::: quit: (@ricer) (aeroxp1@208.98.3.231) getpid() does not match pid in file. Possible cloned process, exiting..

Changed 3 years ago by bryan

  • version set to 1.2.14

Changed 3 years ago by bryan

Possibly due to high amount of channels and users. Had 40+ channels.

#369 does not appear to be related.

Changed 3 years ago by bryan

Seen on FreeBSD 5.4 as well.

Changed 3 years ago by bryan

<-[hub2] un brandy Lost bot: brandy (lost 1 bot and 0 users)
[@] christy!christy@skanky.crackwhore.us JOIN :#WARCHEST
[@] brandy!brandy@tease.be QUIT :Remote host closed the connection
[@] yoni!yoni@hawtba.be QUIT :Remote host closed the connection
<-[hub2] un echo Lost bot: echo (lost 1 bot and 0 users)
<-[hub2] un yoni Lost bot: yoni (lost 1 bot and 0 users)
[@] echo!echo@echo.outlandz.net QUIT :Remote host closed the connection
[D:19343] killsock(5, .././server.mod/servmsg.c, 972) (socklist: 2)
[D:19343] lostdcc(2)
!*! SEGMENT VIOLATION -- CRASHING!

Changed 3 years ago by bryan

  • summary changed from Unidentified segfault in 1.2.14 3545 to Segfault from QUIT in 1.2.14 3545

Changed 3 years ago by bryan

Addendum to previous (for cpu looping)

[D:20329] killsock(4, _main.c, 182) (socklist: 1)
[D:20329] lostdcc(0)

No system calls after this.

Changed 3 years ago by bryan

Also seen on 4.11

Changed 3 years ago by bryan

  for (struct chanset_t* chan = chanset; chan; chan = chan->next) {
sdprintf("2");
if (chan)
  sdprintf("chan: %s", chan->dname);
else
  sdprintf("NO CHAN");
    if (!channel_active(chan))
      continue;

Was making it to '2'. Added this code and it stops at this code.

if (chanset)
sdprintf("chanset head: %s\n", chanset->dname);
else
sdprintf("no chanset");

  for (struct chanset_t* chan = chanset; chan; chan = chan->next) {

chanset pointer is corrupted.

[m->] JOIN #pharmaceuticals
<-[hub2] un maci Lost bot: maci (lost 1 bot and 0 users)
[@] wrath!wrath@wrath.shellfx.net QUIT :Remote host closed the connection
[D:85268] 1

Changed 3 years ago by bryan

  • status changed from new to closed
  • resolution set to fixed

I blame gcc 3.4, time will tell.

Note: See TracTickets for help on using tickets.