Hi, I apparently missed your request for the output of such a session somehow. Attached is a typescript.
You won't see it totally missing out on the function call return, since I couldn't reproduce that at this point (and I couldn't remember a case where it happened). I have no reason to believe, however, that this behaviour has gone away. This is an optimized binary; but it happens with software compiled with -O0, too. If you need me to do anything else, just let me know. -- <Lo-lan-do> Home is where you have to wash the dishes. -- #debian-devel, Freenode, 2004-09-22
Script started on vr 13 jul 2007 13:43:02 CEST <GyrosGeier> a lot of people need a "reply to noone" key that lets them compose and discard an email -- #debian-devel, OFTC, 2007-03-06 [EMAIL PROTECTED]:~/debian/nbd/nbd-2.9.5$ gdb ./nbd-server GNU gdb 6.6-debian Copyright (C) 2006 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "powerpc-linux-gnu"... Using host libthread_db library "/lib/libthread_db.so.1". (gdb) b main Breakpoint 1 at 0x10005078: file nbd-server.c, line 1532. (gdb) r Starting program: /home/wouter/debian/nbd/nbd-2.9.5/nbd-server Breakpoint 1, main (argc=1, argv=0x7f996874) at nbd-server.c:1532 1532 GError *err=NULL; (gdb) s 1539 memset(pidftemplate, '\0', 256); (gdb) 1532 GError *err=NULL; (gdb) 1542 config_file_pos = g_strdup(CFILE); (gdb) 1539 memset(pidftemplate, '\0', 256); (gdb) 0x100056b0 in call___do_global_ctors_aux () (gdb) Single stepping until exit from function call___do_global_ctors_aux, which has no line number information. 0x0fe3a744 in memset () from /lib/libc.so.6 (gdb) Single stepping until exit from function memset, which has no line number information. main (argc=1, argv=0x7f996874) at nbd-server.c:1541 1541 logging(); (gdb) n 1542 config_file_pos = g_strdup(CFILE); (gdb) 0x10005610 in call___do_global_ctors_aux () (gdb) Single stepping until exit from function call___do_global_ctors_aux, which has no line number information. 0x30014ce4 in _dl_runtime_resolve () from /lib/ld.so.1 (gdb) Single stepping until exit from function _dl_runtime_resolve, which has no line number information. 0x0ff8a190 in g_strdup () from /usr/lib/libglib-2.0.so.0 (gdb) Single stepping until exit from function g_strdup, which has no line number information. main (argc=1, argv=0x7f996874) at nbd-server.c:1543 1543 serve=cmdline(argc, argv); (gdb) 1542 config_file_pos = g_strdup(CFILE); (gdb) 1543 serve=cmdline(argc, argv); (gdb) 1544 servers = parse_cfile(config_file_pos, &err); (gdb) 1543 serve=cmdline(argc, argv); (gdb) 1544 servers = parse_cfile(config_file_pos, &err); (gdb) 1545 if(!servers || !servers->len) { (gdb) 1546 g_warning("Could not parse config file: %s", err->message); (gdb) 0x10005b00 in call___do_global_ctors_aux () (gdb) Single stepping until exit from function call___do_global_ctors_aux, which has no line number information. 0x30014ce4 in _dl_runtime_resolve () from /lib/ld.so.1 (gdb) Single stepping until exit from function _dl_runtime_resolve, which has no line number information. 0x0ff73c70 in g_log () from /usr/lib/libglib-2.0.so.0 (gdb) Single stepping until exit from function g_log, which has no line number information. ** (process:6849): WARNING **: Could not parse config file: Could not open config file. main (argc=<value optimized out>, argv=<value optimized out>) at nbd-server.c:1548 1548 if(serve) { (gdb) 1572 if((!serve) && (!servers||!servers->len)) { (gdb) 1573 g_message("Nothing to do! Bye!"); (gdb) 0x10005b00 in call___do_global_ctors_aux () (gdb) Single stepping until exit from function call___do_global_ctors_aux, which has no line number information. 0x0ff73c70 in g_log () from /usr/lib/libglib-2.0.so.0 (gdb) Single stepping until exit from function g_log, which has no line number information. ** Message: Nothing to do! Bye! main (argc=<value optimized out>, argv=<value optimized out>) at nbd-server.c:1574 1574 exit(EXIT_FAILURE); (gdb) 0x10005af0 in call___do_global_ctors_aux () (gdb) Single stepping until exit from function call___do_global_ctors_aux, which has no line number information. 0x30014ce4 in _dl_runtime_resolve () from /lib/ld.so.1 (gdb) Single stepping until exit from function _dl_runtime_resolve, which has no line number information. 0x0fdecf70 in exit () from /lib/libc.so.6 (gdb) Single stepping until exit from function exit, which has no line number information. Program exited with code 01. (gdb) q [EMAIL PROTECTED]:~/debian/nbd/nbd-2.9.5$ exit Script done on vr 13 jul 2007 13:44:14 CEST