Re: list.c/what are its operating parameters?/is it broken?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




Okay, here some info from listnum2listitem() when num < list->low:

Breakpoint 1, listnum2listitem (list=0x80e4ab8, num=700) at list.c:68
68	          node = (LISTNODE*)safemalloc(list->items_per_node*list->item_size
(gdb) where
#0  listnum2listitem (list=0x80e4ab8, num=700) at list.c:68
#1  0x0804f1e6 in find_existing_articles () at bits.c:288
#2  0x0806bd6a in thread_open () at rthread.c:100
#3  0x080614c7 in access_ng () at ngdata.c:126
#4  0x0805e123 in do_newsgroup (start_command=0x80a896c "") at ng.c:147
#5  0x08074645 in sel_dogroups () at rt-select.c:261
#6  0x08074ada in newsgroup_selector () at rt-select.c:419
#7  0x08080964 in do_multirc () at trn.c:183
#8  0x08074866 in multirc_selector () at rt-select.c:344
#9  0x08080855 in main (argc=1, argv=0xbffffa34) at trn.c:126
#10 0x400cc647 in __libc_start_main (main=0x80807ec <main>, argc=1, 
    ubp_av=0xbffffa34, init=0x80498d4 <_init>, fini=0x8091fe0 <_fini>, 
    rtld_fini=0x4000dcd4 <_dl_fini>, stack_end=0xbffffa2c)
    at ../sysdeps/generic/libc-start.c:129
(gdb) print article_list
$1 = (LIST *) 0x80e4ab8
(gdb) print *list 
$2 = {first = 0x8421df0, recent = 0x8421df0, 
  init_node = 0x804fe20 <init_artnode>, low = 701, high = 1071, 
  item_size = 64, items_per_node = 371, flags = 2}
(gdb) print absfirst
$3 = 701
(gdb) frame 1
#1  0x0804f1e6 in find_existing_articles () at bits.c:288
288		  ap = article_ptr(an);
(gdb) list
283		if (nntp_gets(ser_line, sizeof ser_line) < 0)
284					    break; /*$$*/
285							if (nntp_at_list_end(ser_line))
286								    break;
287										an = (ART_NUM)atol(ser_line);
288										     ap = article_ptr(an);
289											  if (!(ap->flags2 & AF2_BOGUS))
290													       ap->flags |= AF_EXISTS;
291													       #if 0
292															s = index(ser_line, ' ');
(gdb) print ser_line
$4 = "700\000\n\000ticle Numbers Follow\000\n\000ows\000\n\00097 0000000701 y\000\n\000 y\000\n\000t>\000\n\0000221 y\000\n\0000000022 y\000\n\000\n\00000021 y\000\n\00000066 y\000\n", '\000' <repeats 406 times>
(gdb) print an
$5 = 135024064

As you can see, we are using article_list.  Also, absfirst and
list->low are equal.  It looks like something funny is going on with
the NNTP server though.  (This is assumming that gdb isn't lying to
me.)

				Bill Bogstad
				bogstad@pobox.com


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf

[Index of Archives]     [Photo]     [Yosemite]     [Epson Inkjet]     [Mhonarc]     [Nntpcache]

  Powered by Linux