Ticket #968 (closed defect: fixed)

Opened 3 years ago

Last modified 9 months ago

v.net.salesman problem with memory allocation

Reported by: marisn Owned by: grass-dev@…
Priority: major Milestone: 6.4.3
Component: Vector Version: svn-releasebranch64
Keywords: v.net Cc:
Platform: Linux CPU: x86-64

Description

v.net.salesman does something wrong during memory allocation. Normaly it results into assertion in malloc call.

v.net.salesman: malloc.c:4633: _int_malloc: Assertion `victim->fd_nextsize->bk_nextsize == victim' failed.

Valgrind reports invalid write (will attach full valgrind output as an attachment).

Number of cities: [6]                                                                                                                                        
==6589== Invalid write of size 8                                                                                                                             
==6589==    at 0x401FAF: main (main.c:209)                                                                                                                   
==6589==  Address 0xd18cbc8 is 0 bytes after a block of size 40 alloc'd                                                                                      
==6589==    at 0x4C25EE5: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)                                                                  
==6589==    by 0x529118F: G__malloc (alloc.c:41)                                                                                                             
==6589==    by 0x401F64: main (main.c:207)    

GRASS 6.4 r41215 on ~AMD64 Gentoo. 6.5 is also affected.

I'm unable to reproduce with Spearfish. Will attach sample dataset.

Attachments

v.net.salesman.valgrind Download (23.0 KB) - added by marisn 3 years ago.
Valgrind output of v.net.salesman run

Change History

Changed 3 years ago by marisn

Valgrind output of v.net.salesman run

Changed 3 years ago by marisn

Can't attach sample location. Download it from here:  http://www.gisnet.lv/ggmlinux/salesman_crash.tar.gz

Command to reproduce issue:

v.net.salesman input=roads_and_cities output=my_route type=line,boundary alayer=1 nlayer=2 ccats=17,15,8,14,23,5

Changed 3 years ago by marisn

  • version changed from unspecified to svn-releasebranch64
  • cpu changed from Unspecified to x86-64

It works fine in 32bit Windows Vista running WinGRASS r41428 and still fails when running 64bit ~AMD64 Gentoo 6.4 r41436. 32bit vs 64bit issue?

Can anybody running 32bit Linux make described test to confirm 64bitness of this issue?

Changed 2 years ago by marisn

  • milestone changed from 6.4.0 to 6.4.1

Still an issue for 6.4 and 6.5 SVNs.

Changed 9 months ago by neteler

  • status changed from new to closed
  • resolution set to fixed
  • milestone changed from 6.4.1 to 6.4.3

The recent v.net.+ improvements have solved the problem. The sample command is now processed properly. Closing.

Note: See TracTickets for help on using tickets.