Re: [PHP-DEV] PHP 4.0 Bug #9766: IRCG trouble From: Adam Dickmeiss (adam <email protected>)
Date: 03/16/01

Hi,

the good thing is that the binary works! I am, however, still
unable to produce a binary myself that doesn' crash.
I've tried to upgrade to glibc 2.1.2 from 2.1.1. I've also tried
to recompile the whole thing on a Redhat 7.1 beta (Fisher) with kernel
2.4.2-ac3 and glibc 2.2.1-3 installed and the PHP CVS snapshot from today.

Perhaps I'm not compiling the stuff correctly. I used
the MANUAL method as described in the readme from the ircg
extension: - 1=install st, 2=instal IRCG, 3=unpack thttpd,
4=php install, 5=patch thttpd, 6=compile,install thttpd.

On the Redhat 7.1 beta the GDB trace is somewhat more informative:

#0 0x080ec730 in irc_cmd_RPL_NAMREPLY (conn=0x8186650, msg=0x4001a8f4)
    at irc_dispatcher.c:189
189 ep = irc_locate_channel(conn, msg->para[2].c);
(gdb) bt
#0 0x080ec730 in irc_cmd_RPL_NAMREPLY (conn=0x8186650, msg=0x4001a8f4)
    at irc_dispatcher.c:189
#1 0x080ece23 in dispatch_message (conn=0x8186650, msg=0x4001a8f4)
    at irc_dispatcher.c:459
#2 0x080ed1da in irc_dispatcher (dummy=0x8186650) at irc_dispatcher.c:587
#3 0x4005cddf in _st_thread_main () at sched.c:608
(gdb) print conn
$1 = (irconn_t *) 0x8186650
(gdb) print *msg
$2 = {cmd = {c = 0x4001aa13 "353", len = 3, a = 4}, nickname = {
    c = 0x4001aa05 "server.my.net 353", len = 10, a = 11}, para = {{
      c = 0x4001aa17 "adam-gamma", len = 10, a = 11}, {c = 0x4001aa22 "=",
      len = 1, a = 2}, {c = 0x4001aa24 "#TitanChat", len = 10, a = 11}, {
      c = 0x4001aa30 " <email protected> ", len = 12, a = 13}, {
      c = 0x4001aa35 "-gamma ", len = 3, a = 4}, {c = 0x4001aa39 "ma ",
      len = 9, a = 10}, {
      c = 0x4001aa43 "er.my.net 366 adam-gamma #TitanChat :End of /NAMES list.\r\n", len = 9, a = 10}, {
      c = 0x4001aa4d "366 adam-gamma #TitanChat :End of /NAMES list.\r\n",
      len = 8, a = 9}, {
      c = 0x4001aa56 "gamma #TitanChat :End of /NAMES list.\r\n", len = 14,
      a = 15}, {c = 0x4001aa65 "t :End of /NAMES list.\r\n", len = 10,
      a = 11}, {c = 0x4001aa70 "NAMES list.\r\n", len = 10, a = 11}, {
      c = 0x4001aa7b "\r\n", len = 12, a = 13}, {
      c = 0x4001aa88 " 366 adam-gamma #TitanChat :End of /NAMES list.\r\n",
      len = 11, a = 12}, {
      c = 0x4001aa94 "mma #TitanChat :End of /NAMES list.\r\n", len = 11,
      a = 12}, {c = 0x4001aaa0 "at :End of /NAMES list.\r\n", len = 15,
      a = 16}, {c = 0x4001aab1 " list.\r\n", len = 28, a = 29}, {c = 0x0,
      len = 0, a = 0}, {c = 0x0, len = 0, a = 0}, {c = 0x0, len = 0, a = 0}, {
      c = 0x0, len = 0, a = 0}}, nr_para = 4}
(gdb) print *conn
$3 = {username = "adam-gamma\000tr_replace(\"\\n\", \"\", ",
  username_len = 10 '\n', c = 0x8184da0, hooks = {0x8068af4 <part_handler>,
    0x806896c <user_add>, 0x8068b60 <user_leave>, 0x8068ca0 <user_kick>,
    0x8068a98 <new_topic>, 0x80685c4 <msg_handler>, 0x8067928 <quit_handler>,
    0x80688c4 <error_handler>, 0, 0x8068688 <nick_handler>,
    0x8068bbc <user_quit>, 0x80686e4 <whois_user_handler>,
    0x8068740 <whois_server_handler>, 0x806879c <whois_idle_handler>,
    0x8068850 <whois_channels_handler>, 0x80687f8 <end_of_whois_handler>,
    0x8068cfc <mode_channel_handler>, 0x8068c18 <idle_recv_queue>}, server = {
    __ss_family = 2, __ss_align = 1950741204,
    __ss_padding = "elect name=ptarget>';\n\tlast_selected_user = already_written ? window.userlist.document.forms[0].ptarget.options[window.u"},
  server_len = 16, sockpf = 2, status = 1 '\001', data = 0x8186650,
  dispatcher = 0x4001aeec, channels = {slh_first = 0x818e380}, irc_msgbuf = {
    slh_first = 0x0}, ident = "foo\000\000.sel", ident_len = 3 '\003',
  password = "\000tedIndex].value : \"\";\n\tvar i, j",
  realname = "Mozilla/5.0 (X11; U; Linux 2.4.0 i686; en-US; 0.8) Gecko/2001021"}

---
  Cheers,
     Adam

On Fri, Mar 16, 2001 at 10:00:35AM +0100, Sascha Schumann wrote: > On Fri, 16 Mar 2001, Adam Dickmeiss wrote: > > > OK, see http://www.php.net/bugs.php?id=9766&edit=1 > > Thanks. > > In order to exclude bugs in the compiler/C library, can you > please give this version a try? > > http://schumann.cx/ircg/ircg-2.1-x86-linux.tar.gz > > You can replace your thttpd copy with the bin/ircg file. The > effect you are seeing might be related to a bug in glibc > 2.1.1. > > - Sascha Experience IRCG > http://schumann.cx/ http://schumann.cx/ircg

-- Adam Dickmeiss mailto:adam <email protected> http://www.indexdata.dk Index Data T: +45 33410100 Mob.: 212 212 66

-- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: php-dev-unsubscribe <email protected> For additional commands, e-mail: php-dev-help <email protected> To contact the list administrators, e-mail: php-list-admin <email protected>