View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0001242 | unreal | ircd | public | 2003-09-10 02:23 | 2003-11-20 19:43 |
| Reporter | bawalker | Assigned To | |||
| Priority | normal | Severity | crash | Reproducibility | always |
| Status | closed | Resolution | fixed | ||
| Product Version | 3.2-beta17 | ||||
| Summary | 0001242: Multiple users per channel kill IRCd on a PPC150 Clone | ||||
| Description | In the middle of August after I had installed & configured Unreal3.2 Beta 17 on a UMAX S900 server (PPC 150, roughtly a clone of the Powermac 9500) I began to notice the server would crash randomly. I spent several weeks removing and recompiling the source code from scratch and modifying configuration files in attempts to find the cause of the error. I then found that nothing I did caused the error, but infact the error exsists after a clean compile and install. The reason for the crash was traced back to when I noticed more than 1 user would connect to a channel the ircd process would simply stop and the ircd server would crash. The actual OS itself remained fine and working. This issue has been reproduced 100% of the time in versions Beta 12 thru Beta 17, as well as in the most recent CVS version of 20030910. Upon discovery of this issue, I visited #unreal-support where this was discussed among several channel members who then connected and joined different channels. The ircd server did not crash until someone joined a channel where another user was already connected. Users "Sinus" and "Nips" verified this issue as being directly related to users joining channels while using the IRCd on a PPC based processor. I do know two exsisting bug reports were filed in regards to this issue and were fixed on 7-15-2003: http://bugs.unrealircd.org/bug_view_page.php?bug_id=0000929 http://bugs.unrealircd.org/bug_view_page.php?bug_id=0001105 So that leaves me to wonder if this issue exsists on the UMAX S900 PPC150 clone while it was fixed on Apple Macintosh PPC based systems? | ||||
| Steps To Reproduce | This issue was reproduced identically in both Unreal3.2 beta 17 and Unreal3.2-cvs (20030910) 1.) Download any Unreal3.2 ircd or cvs versions. 2.) gzip -d <file name> 3.) tar xvf <file name> 4.) ./Config 5.) make 6.) I copied the *.conf files into the /var/ircd/Unreal3.2 directory 7.) ./unreal start 8.) I connected to the IRC server and joined #test1 9.) A second user connected to the IRC server and joined #test3 10.) A third user connected to the IRC server and joined #test1 only to have the IRC process be terminated and the ircd server crashed. This has been reproduced fully over 20+ times. | ||||
| Additional Information | I know you guys don't have access to this type of machine in your labs/work area so PLEASE contact me to gain access to this server. Email me at [email protected] in order to gain access. I have setup a crontab on this server so that the process is restarted for users and coding staff to test and see the issue in action. Our IRC server is located at: irc://192.216.133.20 | ||||
| 3rd party modules | |||||
|
|
Would you be able to paste me a uname -p and uname -s output? Also, can you search the Makefile for LINUX_PPC and paste any occurances that are found? |
|
|
"Would you be able to paste me a uname -p and uname -s output?" randy:/home/modem# uname -m ppc randy:/home/modem# uname -n randy randy:/home/modem# uname -r 2.2.20-pmac randy:/home/modem# uname -s Linux randy:/home/modem# uname -p unknown randy:/home/modem# uname -v #1 Thu March 21 17:08:23 EST 2002 ---- "...Also, can you search the Makefile for LINUX_PPC and paste any occurances that are found?" When I checked the standard Unreal3.2 Beta 17 Makefile and Makefile.in, there were no occurances of the letters *PPC*, *LINUX*, or *LINUX_PPC*. I also checked the Unreal3.2-cvs (20030910) Makefile and Makefile.in, neither of which contained any letters of *PPC*, *LINUX*, or *LINUX_PPC*. I hope this helps. |
|
|
Btw, codemastr, I think you can just remove all those #ifdef LINUX_PPC thingies, the va_start / va_end are always required (I think you already discovered this). It differs between architectures/compilers[?]/etc if you try it without them, for example I looked at what the difference is in compiled code (I disassembled it) between: void func(char *str, ...) { char buf[512]; char buf2[512]; va_list vl; va_start(vl, str); vsprintf(buf, str, vl); va_end(vl); // mark va_start(vl, str); // mark vsprintf(buf2, str, vl); va_end(vl); // mark printf("got = '%s'\nand '%s'\n", buf, buf2); } and without the marked lines, result: no difference at all (with -O2 optimization). So my suggestion is just to remove the ifdefs and let the va_start/va_end fixes you added always enabled... Additionally you can then also get rid of the whole PPC detection thingy :). |
|
|
I really don't want to sound pushy or nasty or anything like that. But due to certain circumstances, the person/business I am installing this IRCd for is wanting to move ahead with getting an ircd installed and running within days. I'm trying to get them to hold back to use Unreal3.2 rather than another ircd since running and maintaining unreal is much easier for me. Is there any sort of timeline for this bug being fixed? Is this bug connected to the previous MAC related bugs that caused the server to crash upon multiple users joining a channel? Thanks. |
|
|
well funny enough this is one of the bugs that will be fixed within a few days. |
|
|
Btw, in the meantime you could open 'Makefile' (need to run ./Configure first ofcoz) and add -DLINUX_PPC to the line that contains XCFLAGS (not the one with # in front of it), so for example: XCFLAGS=-pipe -g -O2 -funsigned-char -export-dynamic to: XCFLAGS=-pipe -g -O2 -funsigned-char -export-dynamic -DLINUX_PPC |
|
|
Fixed in .1924. CVS update and rerun ./Config && make and everything should work fine. |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2003-09-10 02:23 | bawalker | New Issue | |
| 2003-09-10 19:28 |
|
Note Added: 0003632 | |
| 2003-09-10 20:14 | bawalker | Note Added: 0003635 | |
| 2003-09-11 18:18 | syzop | Note Added: 0003639 | |
| 2003-09-14 03:45 | bawalker | Note Added: 0003649 | |
| 2003-09-14 04:11 | syzop | Note Added: 0003650 | |
| 2003-09-14 16:05 | syzop | Note Added: 0003651 | |
| 2003-09-14 16:47 |
|
Status | new => resolved |
| 2003-09-14 16:47 |
|
Resolution | open => fixed |
| 2003-09-14 16:47 |
|
Assigned To | => codemastr |
| 2003-09-14 16:47 |
|
Note Added: 0003652 | |
| 2003-11-20 19:43 | syzop | Status | resolved => closed |