On Thu, Dec 22, 2005 at 10:21:52PM -0800, Steve Langasek wrote: > I'd rather see some analysis to show where the bug actually belongs instead > of guessing and reassigning. Well, some analysis you asked for. I use glibc-2.3.5-11 with libc6-dbg installed.
export LD_LIBRARY_PATH=/usr/lib/debug gdb /usr/sbin/apache br _getopt_internal_r (it is called from getopt_long, here is the logic) r -X (breakpoint activated some times due to apache parameters) I run the script calling rrd_graph and I'm inside: #0 _getopt_internal_r (argc=22, argv=0x8141b78, optstring=0xb78dcb10 "s:e:x:y:v:w:h:iu:l:rb:oc:n:m:t:f:a:I:zgjFYAMEX:L:S:T:NR:B:", longopts=0xb78f1a20, longind=0xbf81f324, long_only=0, d=0xb7d54400) at getopt.c:398 I set display for following expressions: argv[d->optind], d->optind, d->optarg, optarg. Stepping by next until getopt.c:451. Some iteration of: while (d->optind < argc && NONOPTION_P) d->optind++; and I have: d->optind = 2 d->optarg = 0x0 optarg=0x0 argv[d->optind] = 0x8141be4 "--start" Some steps inside the code. And, after getopt.c:679: d->optarg = argv[d->optind++]; I have: 3: d->optarg = 0x8141bfc "-2d" 2: d->optind = 4 1: argv[d->optind] = 0x8141c14 "--x-grid" So far it's OK. Still stepping. Back to: _getopt_internal (argc=22, argv=0x8141b78, optstring=0xb7928b10 "s:e:x:y:v:w:h:iu:l:rb:oc:n:m:t:f:a:I:zgjFYAMEX:L:S:T:NR:B:", longopts=0xb793da20, longind=0xbfa6a7c4, long_only=0) at getopt.c:1169 There are three lines: optind = getopt_data.optind; optarg = getopt_data.optarg; optopt = getopt_data.optopt; After executing those lines I have: (gdb) print getopt_data.optind $1 = 4 (gdb) print getopt_data.optarg $2 = 0x8141bfc "-2d" and (sic!): (gdb) print optind $4 = 4 (gdb) print optarg $5 = 0x0 So, the question is: why the assignment in getopt.c:1170: optarg = getopt_data.optarg; does not work? I would like to remind you that getopt_long from libc works correctly (details in this buglog) in most cases. But combination of apache, php4, rrdtool and php4-rrdtool makes it unworking. Regards Artur -- zjadłam ruskie i barszcz ukraiński. ciekawe czy od tego dostanę automatycznie złotych zębów /majaka/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]