View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0001779 | GNUnet | testing library | public | 2011-09-18 12:09 | 2012-02-28 11:05 |
| Reporter | Christian Grothoff | Assigned To | Bart Polot | ||
| Priority | normal | Severity | major | Reproducibility | have not tried |
| Status | closed | Resolution | fixed | ||
| Product Version | 0.9.0 | ||||
| Target Version | 0.9.2 | Fixed in Version | 0.9.2 | ||
| Summary | 0001779: memory corruption in testing | ||||
| Description | ==4134== Syscall param execve(argv[i]) points to unaddressable byte(s) ==4136== by 0x4015D7: check (test_nse_multipeer.c:252) ==4139== by 0x505606C: GNUNET_OS_start_process (os_priority.c:852) ==4136== by 0x401611: main (test_nse_multipeer.c:270) ==4139== by 0x5279299: GNUNET_TESTING_daemon_stop (testing.c:1633) ==4136== Address 0x725d5c0 is 0 bytes inside a block of size 56 free'd ==4139== by 0x52854FA: schedule_shutdown_task (testing_group.c:6972) ==4139== by 0x505C501: run_ready (scheduler.c:682) ==4136== at 0x4C240FD: free (vg_replace_malloc.c:366) ==4139== by 0x505C9FD: GNUNET_SCHEDULER_run (scheduler.c:863) ==4134== at 0x59B1B37: execve (execve.c:60) ==4139== by 0x505872E: GNUNET_PROGRAM_run (program.c:246) ==4136== by 0x503C3E9: GNUNET_xfree_ (common_allocation.c:198) ==4134== by 0x59B23D0: execvpe (execvpe.c:151) ==4139== by 0x4015D7: check (test_nse_multipeer.c:252) ==4136== by 0x5277095: start_fsm (testing.c:786) ==4139== by 0x401611: main (test_nse_multipeer.c:270) ==4134== by 0x5055F39: GNUNET_OS_start_process_va (os_priority.c:662) ==4136== by 0x505C501: run_ready (scheduler.c:682) ==4139== Address 0x72b1860 is 0 bytes inside a block of size 56 free'd ==4134== by 0x505606C: GNUNET_OS_start_process (os_priority.c:852) ==4136== by 0x505C9FD: GNUNET_SCHEDULER_run (scheduler.c:863) ==4136== by 0x505872E: GNUNET_PROGRAM_run (program.c:246) ==4139== at 0x4C240FD: free (vg_replace_malloc.c:366) ==4134== by 0x5279299: GNUNET_TESTING_daemon_stop (testing.c:1633) ==4136== by 0x4015D7: check (test_nse_multipeer.c:252) ==4139== by 0x503C3E9: GNUNET_xfree_ (common_allocation.c:198) ==4134== by 0x52854FA: schedule_shutdown_task (testing_group.c:6972) ==4136== by 0x401611: main (test_nse_multipeer.c:270) ==4139== by 0x5277095: start_fsm (testing.c:786) | ||||
| Steps To Reproduce | Run the NSE multipeer test with valgrind --trace-children. | ||||
| Additional Information | There were pages of output with such errors, this is only an excerpt. | ||||
| Tags | No tags attached. | ||||
|
|
==4134== Address 0x7225400 is 0 bytes inside a block of size 56 free'd ==4134== at 0x4C240FD: free (vg_replace_malloc.c:366) ==4134== by 0x503C3E9: GNUNET_xfree_ (common_allocation.c:198) ==4134== by 0x5276E69: start_fsm (testing.c:752) ==4134== by 0x505C501: run_ready (scheduler.c:682) ==4134== by 0x505C9FD: GNUNET_SCHEDULER_run (scheduler.c:863) ==4134== by 0x505872E: GNUNET_PROGRAM_run (program.c:246) ==4134== by 0x4015D7: check (test_nse_multipeer.c:252) ==4134== by 0x401611: main (test_nse_multipeer.c:270) |
|
|
==3861== Invalid read of size 8 ==3861== at 0x5276D5E: start_fsm (testing.c:735) ==3861== by 0x505C501: run_ready (scheduler.c:682) ==3861== by 0x505C9FD: GNUNET_SCHEDULER_run (scheduler.c:863) ==3861== by 0x505872E: GNUNET_PROGRAM_run (program.c:246) ==3861== by 0x4015D7: check (test_nse_multipeer.c:252) ==3861== by 0x401611: main (test_nse_multipeer.c:270) ==3861== Address 0x71ecf98 is 88 bytes inside a block of size 384 free'd ==3861== at 0x4C240FD: free (vg_replace_malloc.c:366) ==3861== by 0x503C3E9: GNUNET_xfree_ (common_allocation.c:198) ==3861== by 0x52771DE: start_fsm (testing.c:798) ==3861== by 0x505C501: run_ready (scheduler.c:682) ==3861== by 0x505C9FD: GNUNET_SCHEDULER_run (scheduler.c:863) ==3861== by 0x505872E: GNUNET_PROGRAM_run (program.c:246) ==3861== by 0x4015D7: check (test_nse_multipeer.c:252) ==3861== by 0x401611: main (test_nse_multipeer.c:270) |
|
|
==3861== ==3861== Invalid free() / delete / delete[] ==3861== at 0x4C240FD: free (vg_replace_malloc.c:366) ==3861== by 0x503C3E9: GNUNET_xfree_ (common_allocation.c:198) ==3861== by 0x503D9C6: GNUNET_CONFIGURATION_destroy (configuration.c:138) ==3861== by 0x5276E4A: start_fsm (testing.c:751) ==3861== by 0x505C501: run_ready (scheduler.c:682) ==3861== by 0x505C9FD: GNUNET_SCHEDULER_run (scheduler.c:863) ==3861== by 0x505872E: GNUNET_PROGRAM_run (program.c:246) ==3861== by 0x4015D7: check (test_nse_multipeer.c:252) ==3861== by 0x401611: main (test_nse_multipeer.c:270) ==3861== Address 0x71ed2c0 is 0 bytes inside a block of size 16 free'd ==3861== at 0x4C240FD: free (vg_replace_malloc.c:366) ==3861== by 0x503C3E9: GNUNET_xfree_ (common_allocation.c:198) ==3861== by 0x503D9C6: GNUNET_CONFIGURATION_destroy (configuration.c:138) ==3861== by 0x5277076: start_fsm (testing.c:785) ==3861== by 0x505C501: run_ready (scheduler.c:682) ==3861== by 0x505C9FD: GNUNET_SCHEDULER_run (scheduler.c:863) ==3861== by 0x505872E: GNUNET_PROGRAM_run (program.c:246) ==3861== by 0x4015D7: check (test_nse_multipeer.c:252) ==3861== by 0x401611: main (test_nse_multipeer.c:270) = |
|
|
==3861== at 0x52850C5: internal_shutdown_callback (testing_group.c:6923) ==3861== by 0x5276D9A: start_fsm (testing.c:736) ==3861== by 0x505C501: run_ready (scheduler.c:682) ==3861== by 0x505C9FD: GNUNET_SCHEDULER_run (scheduler.c:863) ==3861== by 0x505872E: GNUNET_PROGRAM_run (program.c:246) ==3861== by 0x4015D7: check (test_nse_multipeer.c:252) ==3861== by 0x401611: main (test_nse_multipeer.c:270) ==3861== Address 0x6d50698 is 56 bytes inside a block of size 192 free'd ==3861== at 0x4C240FD: free (vg_replace_malloc.c:366) ==3861== by 0x503C3E9: GNUNET_xfree_ (common_allocation.c:198) ==3861== by 0x528535B: internal_shutdown_callback (testing_group.c:6937) ==3861== by 0x5276D9A: start_fsm (testing.c:736) ==3861== by 0x505C501: run_ready (scheduler.c:682) ==3861== by 0x505C9FD: GNUNET_SCHEDULER_run (scheduler.c:863) ==3861== by 0x505872E: GNUNET_PROGRAM_run (program.c:246) ==3861== by 0x4015D7: check (test_nse_multipeer.c:252) ==3861== by 0x401611: main (test_nse_multipeer.c:270) ==3861== |
|
|
I suspect this is timing-related (execution with valgrind is slow, may cause us to hit some timeout-related code path) and might also explain the segv on FreeBSD: http://gnunet.org:8010/builders/freebsd7-amd64-wachs/builds/1367/steps/tests%20nse/logs/stdio |
|
|
Fixed in r19801. |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2011-09-18 12:09 | Christian Grothoff | New Issue | |
| 2011-09-18 12:09 | Christian Grothoff | Status | new => assigned |
| 2011-09-18 12:09 | Christian Grothoff | Assigned To | => mrwiggles |
| 2011-09-18 12:09 | Christian Grothoff | Note Added: 0004601 | |
| 2011-09-18 12:10 | Christian Grothoff | Note Added: 0004602 | |
| 2011-09-18 12:10 | Christian Grothoff | Note Added: 0004603 | |
| 2011-09-18 12:10 | Christian Grothoff | Note Added: 0004604 | |
| 2011-09-18 12:12 | Christian Grothoff | Note Added: 0004605 | |
| 2011-09-18 15:58 | Christian Grothoff | Priority | normal => low |
| 2011-11-04 11:16 | Christian Grothoff | Priority | low => normal |
| 2011-11-15 13:44 | Christian Grothoff | Assigned To | mrwiggles => |
| 2011-11-15 13:44 | Christian Grothoff | Status | assigned => confirmed |
| 2011-12-01 09:57 | Christian Grothoff | Target Version | => 0.9.1 |
| 2011-12-06 15:44 | Christian Grothoff | Assigned To | => Bart Polot |
| 2011-12-06 15:44 | Christian Grothoff | Status | confirmed => assigned |
| 2011-12-23 10:58 | Christian Grothoff | Target Version | 0.9.1 => |
| 2011-12-23 10:59 | Christian Grothoff | Product Version | Git master => 0.9.0 |
| 2012-02-14 11:56 | Bart Polot | Note Added: 0005479 | |
| 2012-02-14 11:56 | Bart Polot | Status | assigned => resolved |
| 2012-02-14 11:56 | Bart Polot | Fixed in Version | => Git master |
| 2012-02-14 11:56 | Bart Polot | Resolution | open => fixed |
| 2012-02-14 21:13 | Christian Grothoff | Fixed in Version | Git master => 0.9.2 |
| 2012-02-14 21:13 | Christian Grothoff | Target Version | => 0.9.2 |
| 2012-02-28 11:05 | Christian Grothoff | Status | resolved => closed |