Jump to content

error in make check of SVC 2.0 (public preview) at AMD64


vemraete

Recommended Posts

Hi,

 

I try to run the 'make check' of the scv-2.0-public_preview and it failed the test 'examples/randomization/constraints'.

 

 

make  constraints
make[5]: Entering directory `/tmp/scv-2.0-public_preview/objdir/examples/randomization/constraints'
g++ -fPIC -DHAVE_CONFIG_H -I. -I../../../../examples/randomization/constraints -I../../..  -I/tools/systemc/2.3.0/include -I../../../../src -I/tmp/scv
-2.0-public_preview/objdir/include  -Wall -Wformat -O0 -g -MT constraints-packet.o -MD -MP -MF .deps/constraints-packet.Tpo -c -o constraints-packet.o
 `test -f 'packet.cpp' || echo '../../../../examples/randomization/constraints/'`packet.cpp
mv -f .deps/constraints-packet.Tpo .deps/constraints-packet.Po
g++ -fPIC -DHAVE_CONFIG_H -I. -I../../../../examples/randomization/constraints -I../../..  -I/tools/systemc/2.3.0/include -I../../../../src -I/tmp/scv
-2.0-public_preview/objdir/include  -Wall -Wformat -O0 -g -MT constraints-test.o -MD -MP -MF .deps/constraints-test.Tpo -c -o constraints-test.o `test
 -f 'test.cpp' || echo '../../../../examples/randomization/constraints/'`test.cpp
mv -f .deps/constraints-test.Tpo .deps/constraints-test.Po
/bin/sh ../../../libtool  --tag=CXX   --mode=link g++ -fPIC -Wall -Wformat -O0 -g -R/tools/systemc/2.3.0/lib-linux64  -o constraints constraints-packe
t.o constraints-test.o ../../../src/scv/libscv.la -ldl -ldl 
libtool: link: g++ -fPIC -Wall -Wformat -O0 -g -o .libs/constraints constraints-packet.o constraints-test.o  ../../../src/scv/.libs/libscv.so -L/tools/systemc/2.3.0/lib-linux64 /tools/systemc/2.3.0/lib-linux64/libsystemc.so -ldl -pthread -Wl,-rpath -Wl,/tools/systemc/scv/scv-2.0_public_review/lib-linux64 -Wl,-rpath -Wl,/tools/systemc/2.3.0/lib-linux64
make[5]: Leaving directory `/tmp/scv-2.0-public_preview/objdir/examples/randomization/constraints'
make  check-TESTS
make[5]: Entering directory `/tmp/scv-2.0-public_preview/objdir/examples/randomization/constraints'
make[6]: Entering directory `/tmp/scv-2.0-public_preview/objdir/examples/randomization/constraints'
FAIL: constraints
make[7]: Entering directory `/tmp/scv-2.0-public_preview/objdir/examples/randomization/constraints'
make[7]: Nothing to be done for `all'.
make[7]: Leaving directory `/tmp/scv-2.0-public_preview/objdir/examples/randomization/constraints'
============================================================================
Testsuite summary for SCV 2.0.0
============================================================================
# TOTAL: 1
# PASS:  0
# SKIP:  0
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ERROR: 0
 

 

 
 
and the 'testsuite.log'
 

 

==================================================================
   SCV 2.0.0: examples/randomization/constraints/test-suite.log
==================================================================


# TOTAL: 1
# PASS:  0
# SKIP:  0
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ERROR: 0


.. contents:: :depth: 2


FAIL: constraints
=================




             SystemC 2.3.0-ASI --- Sep  4 2013 12:52:15
        Copyright (c) 1996-2012 by all Contributors,
        ALL RIGHTS RESERVED


Generate unconstrained packet data
  UNICAST 139 25
  MULTICAST 153 219
  UNICAST 179 95
  MULTICAST 136 8
  MULTICAST 215 6
  UNICAST 212 232
  MULTICAST 175 242
  UNICAST 104 132
  MULTICAST 113 122
  MULTICAST 61 149
Generate constrained (range/distribution) packet data
  UNICAST 2 20
  UNICAST 13 15
  UNICAST 4 15
Generate constrained packets using constraint class


Error: (E549) uncaught exception: std::bad_alloc
In file: ../../../../src/sysc/kernel/sc_except.cpp:98
 

 

I did not see the error at my old 32bit linux box.
However, I do see it with my newer 64 bit linux box.

$ uname -a
Linux debian 3.10-2-amd64 #1 SMP Debian 3.10.7-1 (2013-08-17) x86_64 GNU/Linux
 
I'm using SystemC 2.3.0 and that one should be compiled with 'export CXX=g++ -gPIC'
 
 

 

 

jan@debian:/tools/systemc/2.3.0/lib-linux64$ file *
libsystemc-2.3.0.so: ELF 64-bit LSB  shared object, x86-64, version 1 (GNU/Linux), dynamically linked, BuildID[sha1]=068c7fa9bb16c3eb225f07cf739af1f2046d6f6e, not stripped

 

jan@debian:/tools/systemc/scv/scv-2.0_public_review/lib-linux64$ file *
libscv-2.0.0.so: ELF 64-bit LSB  shared object, x86-64, version 1 (GNU/Linux), dynamically linked, BuildID[sha1]=3afbdc13b3ea21fb869dd734c9818ef585cdacf8, not stripped

 

 
 
 
Could somebody help me?
 

 

Link to comment
Share on other sites

Hi. 

 

This is (hopefully) a known issue in SCV. It occurs in 64 bit architectures with less than 8++ GB memory available. 

 

The attached patch solves this issue, but it should be used with care. The community developing SCV is not sure for now if this is a fully correct solution. 

 

reetings

Ralph

f8361da1f759eb0fb30579eff430a85a7b7157ac.patch.txt

Link to comment
Share on other sites

Hi,

 

Thanks for the patch.  It's passing now.

With the debugger I found out that it's calling twice the construction of the array[CUDD_MAXINDEX].

And I have a machine with less RAM.

 

Strange I could not find any info about the error.  It is so quiet about SystemC in the 'free-world'.

Link to comment
Share on other sites

The latest public-review release is quite new and the first occurrence of this error was only ~2 month ago. 

But I agree. It is not always easy to find solutions when you get in trouble with SystemC. But it is getting better. And this forum is a step in this direction by accumulating answers to SystemC-problems.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...