View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0002327 | GNUnet | testing library | public | 2012-05-08 14:56 | 2012-11-05 18:34 |
| Reporter | Bart Polot | Assigned To | |||
| Priority | none | Severity | crash | Reproducibility | sometimes |
| Status | closed | Resolution | won't fix | ||
| Product Version | Git master | ||||
| Target Version | 0.9.4 | Fixed in Version | 0.9.4 | ||
| Summary | 0002327: Memory corruption in testing | ||||
| Description | [bart@saturn ~/svn/gnunet/src/nse]$ gdb .libs/lt-gnunet-nse-profiler --core core-ssh GNU gdb (GDB) 7.4.1 Copyright (C) 2012 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-unknown-linux-gnu". For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>... Reading symbols from /home/bart/svn/gnunet/src/nse/.libs/lt-gnunet-nse-profiler...done. warning: core file may not match specified executable file. [New LWP 22753] warning: Can't read pathname for load map: Input/output error. Core was generated by `/home/bart/svn/gnunet/src/nse/.libs/lt-gnunet-nse-profiler -c nse_profiler_test'. Program terminated with signal 6, Aborted. #0 0x00007fd8dc44ac35 in raise () from /lib/libc.so.6 (gdb) bt full #0 0x00007fd8dc44ac35 in raise () from /lib/libc.so.6 No symbol table info available. #1 0x00007fd8dc44c0b8 in abort () from /lib/libc.so.6 No symbol table info available. #2 0x00007fd8de2b28d9 in GNUNET_abort () at common_logging.c:273 No locals. #3 0x00007fd8dde88e00 in increment_outstanding_at_host (hostname=<optimized out>, pg=<optimized out>) at testing_group.c:5295 No locals. #4 increment_outstanding_at_host (hostname=hostname@entry=0x11c93e40 "@~\322\024", pg=<error reading variable: Unhandled dwarf expression opcode 0xfa>) at testing_group.c:5287 pos = 0x0 #5 0x00007fd8dde88ed0 in schedule_shutdown_task (cls=0xd6d3430, tc=<optimized out>) at testing_group.c:6806 peer_shutdown_ctx = 0xd6d3430 shutdown_ctx = 0x14d27e40 __FUNCTION__ = "schedule_shutdown_task" #6 0x00007fd8de2d7fba in run_ready (ws=0xef3d00, rs=0xef3c70) at scheduler.c:602 p = <optimized out> pos = 0xb7ff770 tc = {reason = GNUNET_SCHEDULER_REASON_TIMEOUT, read_ready = 0xef3c70, write_ready = 0xef3d00} #7 GNUNET_SCHEDULER_run (task=task@entry=0x7fd8de2d1680 <program_main>, task_cls=task_cls@entry=0x7fff3dfa1bd0) at scheduler.c:790 rs = 0xef3c70 ws = <optimized out> timeout = <optimized out> ret = <optimized out> shc_int = 0xefc010 shc_term = 0xefc0c0 shc_quit = 0xef5790 shc_hup = 0xef5840 shc_pipe = 0xefc170 last_tr = 3509351 busy_wait_warning = 0 pr = 0xef3e30 c = 0 '\000' __FUNCTION__ = "GNUNET_SCHEDULER_run" #8 0x00007fd8de2d1da9 in GNUNET_PROGRAM_run2 (argc=<optimized out>, argc@entry=3, argv=argv@entry=0x7fff3dfa1e88, binaryName=binaryName@entry=0x403b75 "nse-profiler", binaryHelp=binaryHelp@entry=0x4041a8 "Measure quality and performance of the NSE service.", options=options@entry=0x604b80, task=task@entry=0x401830 <run>, task_cls=task_cls@entry=0x0, run_without_scheduler=run_without_scheduler@entry=0) at program.c:255 cc = {args = 0x7fff3dfa1ea0, cfgfile = 0xef3e00 "nse_profiler_test.conf", task = 0x401830 <run>, task_cls = 0x0, cfg = 0xef1c20} path = <optimized out> loglev = 0x0 logfile = 0x0 ret = 3 cnt = <optimized out> skew_offset = 140733193388033 skew_variance = 140569423753584 clock_offset = <optimized out> cfg = 0xef1c20 defoptions = {{shortName = 99 'c', name = 0x7fd8de2e8f47 "config", argumentHelp = 0x7fd8de2e8f4e "FILENAME", description = 0x7fd8de2e8ff8 "use configuration file FILENAME", require_argument = 1, processor = 0x7fd8de2ca2f0 <GNUNET_GETOPT_set_string>, scls = 0x7fff3dfa1bd8}, {shortName = 104 'h', name = 0x7fd8de2e8f62 "help", argumentHelp = 0x0, description = 0x7fd8de2e8f57 "print this help", require_argument = 0, processor = 0x7fd8de2c9f90 <GNUNET_GETOPT_format_help_>, scls = 0x4041a8}, {shortName = 76 'L', name = 0x7fd8de2e8f67 "log", argumentHelp = 0x7fd8de2e8f6b "LOGLEVEL", description = 0x7fd8de2e9018 "configure logging to use LOGLEVEL", require_argument = 1, processor = 0x7fd8de2ca2f0 <GNUNET_GETOPT_set_string>, scls = 0x7fff3dfa1bb0}, {shortName = 108 'l', name = 0x7fd8de2e8f74 "logfile", argumentHelp = 0x7fd8de2e61be "LOGFILE", description = 0x7fd8de2e9040 "configure logging to write logs to LOGFILE", require_argument = 1, processor = 0x7fd8de2ca2f0 <GNUNET_GETOPT_set_string>, scls = 0x7fff3dfa1bb8}, {shortName = 118 'v', name = 0x7fd8de2e8f7c "version", argumentHelp = 0x0, description = 0x7fd8de2e8f84 "print the version number", require_argument = 0, processor = 0x7fd8de2c9f60 <GNUNET_GETOPT_print_version_>, scls = 0x7fd8de2e8f9d}} allopts = 0xef3c70 gargs = 0x6 <Address 0x6 out of bounds> lpfx = 0xef3e20 "0", <incomplete sequence \357> spc = <optimized out> #9 0x00007fd8de2d1f0a in GNUNET_PROGRAM_run (argc=argc@entry=3, argv=argv@entry=0x7fff3dfa1e88, binaryName=binaryName@entry=0x403b75 "nse-profiler", binaryHelp=binaryHelp@entry=0x4041a8 "Measure quality and performance of the NSE service.", options=options@entry=0x604b80, task=task@entry=0x401830 <run>, task_cls=task_cls@entry=0x0) at program.c:289 No locals. #10 0x0000000000401714 in main (argc=3, argv=0x7fff3dfa1e88) at gnunet-nse-profiler.c:924 No locals. (gdb) up 4 #4 increment_outstanding_at_host (hostname=hostname@entry=0x11c93e40 "@~\322\024", pg=<error reading variable: Unhandled dwarf expression opcode 0xfa>) at testing_group.c:5287 warning: Source file is more recent than executable. 5287 increment_outstanding_at_host (const char *hostname, (gdb) p hostname $1 = 0x11c93e40 "@~\322\024" (gdb) | ||||
| Steps To Reproduce | As always, run nse-profiler | ||||
| Additional Information | Corruption occurs since (testing_group.c:6805): if (peer_shutdown_ctx->daemon->hostname != NULL) increment_outstanding_at_host (peer_shutdown_ctx->daemon->hostname, shutdown_ctx->pg); Is true. As the experiment is run locally, daemon->hostname should NEVER be != NULL. Adittionaly, the hostname is just garbage ($1 = 0x11c93e40 "@~\322\024"). The memory corruption causes testing to try to access the struct, but fails to find it and terminates on assert. | ||||
| Tags | No tags attached. | ||||
|
|
Changing priority to NONE as existing testing code will be largely abandoned soon. |
|
|
Setting to "won't fix" as old testing is obsolete and replaced by the new testbed API. |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2012-05-08 14:56 | Bart Polot | New Issue | |
| 2012-05-08 14:56 | Bart Polot | Status | new => assigned |
| 2012-05-08 14:56 | Bart Polot | Assigned To | => Bart Polot |
| 2012-05-11 00:44 | Christian Grothoff | Note Added: 0005873 | |
| 2012-05-11 00:44 | Christian Grothoff | Priority | urgent => none |
| 2012-05-11 00:44 | Christian Grothoff | Assigned To | Bart Polot => |
| 2012-05-11 00:44 | Christian Grothoff | Status | assigned => confirmed |
| 2012-09-15 21:03 | Christian Grothoff | Note Added: 0006339 | |
| 2012-09-15 21:03 | Christian Grothoff | Status | confirmed => resolved |
| 2012-09-15 21:03 | Christian Grothoff | Resolution | open => won't fix |
| 2012-09-15 21:03 | Christian Grothoff | Fixed in Version | => 0.9.4 |
| 2012-09-15 21:03 | Christian Grothoff | Target Version | => 0.9.4 |
| 2012-11-05 18:34 | Christian Grothoff | Status | resolved => closed |