View Issue Details

IDProjectCategoryView StatusLast Update
0001779GNUnettesting librarypublic2012-02-28 11:05
ReporterChristian Grothoff Assigned ToBart Polot  
PrioritynormalSeveritymajorReproducibilityhave not tried
Status closedResolutionfixed 
Product Version0.9.0 
Target Version0.9.2Fixed in Version0.9.2 
Summary0001779: 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 ReproduceRun the NSE multipeer test with valgrind --trace-children.
Additional InformationThere were pages of output with such errors, this is only an excerpt.
TagsNo tags attached.

Activities

Christian Grothoff

2011-09-18 12:09

manager   ~0004601

==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)

Christian Grothoff

2011-09-18 12:10

manager   ~0004602

==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)

Christian Grothoff

2011-09-18 12:10

manager   ~0004603

==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)
=

Christian Grothoff

2011-09-18 12:10

manager   ~0004604

==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==

Christian Grothoff

2011-09-18 12:12

manager   ~0004605

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

Bart Polot

2012-02-14 11:56

reporter   ~0005479

Fixed in r19801.

Issue History

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