[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: gEDA-user: What stops PCB autorouter/toporouter from working right?



On 02/23/2011 01:39 PM, John Griessen wrote:
On 02/23/2011 01:20 PM, John Griessen wrote:
I wasn't reporting CPU time right though, top TIME+ uses minutes, and I needed to
subtract the time when I start to be meaningful. It's more like 5 or 6 minutes
of top TIME+, but only 1.5 minutes wall clock time
til it seg faults.

I ran this:

 valgrind --trace-children=yes  pcb tek_tm_flex.pcb

to get:


HEAP SUMMARY:
==32108==     in use at exit: 0 bytes in 0 blocks
==32108==   total heap usage: 0 allocs, 0 frees, 0 bytes allocated
==32108==
==32108== All heap blocks were freed -- no leaks are possible
==32108==
==32108== For counts of detected and suppressed errors, rerun with: -v
==32108== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 15 from 6)


 PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
                        32m 1.6g 3008 D 15.9 82.3   2:19.18 memcheck-x86-li

==32105== Invalid write of size 8
==32105==    at 0x80A67CC: heap_insert (heap.c:186)
==32105==    by 0x807515F: blocker_to_heap (autoroute.c:2448)
==32105==    by 0x80D2BDF: __r_search (rtree.c:542)
==32105==    by 0x80D2BFD: __r_search (rtree.c:592)
==32105==    by 0x80D2BFD: __r_search (rtree.c:592)
==32105==    by 0x80D2BFD: __r_search (rtree.c:592)
==32105==    by 0x80D2BFD: __r_search (rtree.c:592)
==32105==    by 0x80D2C7C: r_search (rtree.c:631)
==32105==    by 0x80760EE: BreakManyEdges (autoroute.c:2843)
==32105==    by 0x8078AE8: RouteOne (autoroute.c:4468)
==32105==    by 0x807A11E: RouteAll (autoroute.c:4833)
==32105==    by 0x807B894: AutoRoute (autoroute.c:5294)
==32105==  Address 0xc is not stack'd, malloc'd or (recently) free'd
==32105==
==32105==
==32105== Process terminating with default action of signal 11 (SIGSEGV)
==32105==  Access not within mapped region at address 0xC
==32105==    at 0x80A67CC: heap_insert (heap.c:186)
==32105==    by 0x807515F: blocker_to_heap (autoroute.c:2448)
==32105==    by 0x80D2BDF: __r_search (rtree.c:542)
==32105==    by 0x80D2BFD: __r_search (rtree.c:592)
==32105==    by 0x80D2BFD: __r_search (rtree.c:592)
==32105==    by 0x80D2BFD: __r_search (rtree.c:592)
==32105==    by 0x80D2BFD: __r_search (rtree.c:592)
==32105==    by 0x80D2C7C: r_search (rtree.c:631)
==32105==    by 0x80760EE: BreakManyEdges (autoroute.c:2843)
==32105==    by 0x8078AE8: RouteOne (autoroute.c:4468)
==32105==    by 0x807A11E: RouteAll (autoroute.c:4833)
==32105==    by 0x807B894: AutoRoute (autoroute.c:5294)
==32105==  If you believe this happened as a result of a stack
==32105==  overflow in your program's main thread (unlikely but
==32105==  possible), you can try to increase the size of the
==32105==  main thread stack using the --main-stacksize= flag.
==32105==  The main thread stack size used in this run was 8388608.
==32105==
==32105== HEAP SUMMARY:
==32105==     in use at exit: 2,251,685,103 bytes in 1,495,836 blocks
==32105==   total heap usage: 1,763,572 allocs, 267,735 frees, 2,276,285,110 bytes allocated
==32105==
==32105==
==32105==     Valgrind's memory management: out of memory:
==32105==        newSuperblock's request for 5984256 bytes failed.
==32105==        3100770304 bytes have already been allocated.
==32105==     Valgrind cannot continue.  Sorry.
==32105==
==32105==     There are several possible reasons for this.
==32105==     - You have some kind of memory limit in place.  Look at the
==32105==       output of 'ulimit -a'.  Is there a limit on the size of
==32105==       virtual memory or address space?
==32105==     - You have run out of swap space.
==32105==     - Valgrind has a bug.  If you think this is the case or you are
==32105==     not sure, please let us know and we'll try to fix it.
==32105==     Please note that programs can take substantially more memory than
==32105==     normal when running under Valgrind tools, eg. up to twice or
==32105==     more, depending on the tool.  On a 64-bit machine, Valgrind
==32105==     should be able to make use of up 32GB memory.  On a 32-bit
==32105==     machine, Valgrind should be able to use all the memory available
==32105==     to a single process, up to 4GB if that's how you have your
==32105==     kernel configured.  Most 32-bit Linux setups allow a maximum of
==32105==     3GB per process.
==32105==
==32105==     Whatever the reason, Valgrind cannot continue.  Sorry.

Seems like the problem may not even be related to pcb...

Hmmm....

JG


_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user