作者VictorHsieh (不要想太多)
看板PttCurrent
标题Re: Pttbbs - port to Solaris
时间Thu Sep 9 00:23:46 2004
※ 引述《liujh (集气!)》之铭言:
: ※ 引述《VictorHsieh (不要想太多)》之铭言:
: 小弟在 Solaris 9 上面试...
: 可以正常 make
: 并且把所有的 signal() 改用 bsd_signal()
: 但是有时在进入看板会断线
: gdb 的资料在下面:
: #0 0xef4b397c in memcpy () from /lib/libc.so.1
: (gdb) up
: #1 0x00093be8 in brc_read_record (bid=10, num=0xd4f68, list=0xd4de4)
: at brc.c:318
: 318 memcpy(list, ptr + sizeof(brcbid_t) + sizeof(brcnbrd_t),
这个地方 *num 的值是对的吗
因为下面的 newflag 理论上只能是 0 或 1
所以也许在某个地方记忆体被乱搞 :p
: (gdb) up
: #2 0x00093d58 in brc_initial_board (boardname=0xef15c9dc "WhoAmI")
: at brc.c:342
: 342 return brc_read_record(currbid, &brc_num, brc_list);
: (gdb) up
: #3 0x000305f0 in choose_board (newflag=-283784740) at board.c:1090
: 1090 brc_initial_board(B_BH(ptr)->brdname);
: (gdb) up
: Initial frame selected; you cannot go up.
: (gdb)
: 另外, shmctl hotboard 也会当掉
: bash-2.05$ bin/shmctl hotboard
: 00000|PttDigest |文摘 ◎企鹅站文摘 好文的收集地
: 00000|EditExp |叽哩 ◎范本精灵投稿区
: 00000|WhoAmI |叽哩 ◎呵呵,猜猜我是谁!
: 00000|Record |叽哩 ◎我们的成果
: 00000|Note |叽哩 ◎动态看板及歌曲投稿
: 00000|ALLPOST |叽哩 ◎跨板式LOCAL新文章
: Segmentation Fault (core dumped)
: gdb 看的结果...
: #0 0xef4b44e4 in strlen () from /lib/libc.so.1
: (gdb) up
: #1 0xef506bec in _doprnt () from /lib/libc.so.1
: (gdb) up
: #2 0xef508780 in printf () from /lib/libc.so.1
: (gdb) up
: #3 0x0001d6ec in hotboard (argc=105, argv=0x0) at shmctl.c:686
: 686 printf("%05d|%-12s|%s\n",
你可能在这个地方 print brd[i] 之类的看看吧 :p
(我发现这个地方 *brd malloc 之後没有 free 掉耶 XD)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.244.208