Hi Tom,
Thanks a lot for the quick response.
I am actually using Ubuntu Linux (5.04) ('hoary hedgehog' release).
I was unable to verify the exact versions of glibc and binutils. To the
best of my knowledge, the versions are:
binutils: 2.15-5ubuntu2
glibc: 2.3.2
I am not sure if you have tried Ubuntu, but I think that the base
binutils and glibc should not be very different.
You were right about the segmentation errors. By using the backup copy
of 'libstdc++.so.5', I was able to install Solaris 8 on Simics. I was
also able to "automatically collect checkpoints" for the test
application provided with SimFlex. However, when i tried simulating the
application by using the command "./interactive CMPFlex', Simics got a
segfault.
The output just after issuing the above command is shown below. Simics
does initialize Flexus, but after that something goes wrong.
############
Starting interactive run of flexus_test with CMPFlex in
/project/zhai-project01/mrinal/flexus/flexus-test-app/runs/mrinal-CMPFlex-05Aug05-231003
Launching job
Initializing Flexus::Debugger...Opening debug output file: debug.out
DEBUG added target debug-comp
DEBUG added target debug-feeder
DEBUG added target debug-noncomp
Opening debug output file: stats.out
DEBUG added target stats
DEBUG added target assertions
Successfully parsed debug configurations from debug.cfg
done
free(): invalid pointer 0x85e5fb8!
(*** Simics ***) Simics getting shaky, switching to 'safe' mode.
(*** Simics ***) Simics (main thread) received a segmentation fault.
Will try to recuperate.
############
Do you think that this problem is related to the incorrect library
version issue? Or is it some other (perhaps known?) issue?
In the meanwhile, since the backup copy has not helped finally, I will
try to use the "original" copy of 'libstdc++.so.5', which is used by
SimFlex (when 'make install' is used).
However, I am skeptical that this will work (simics will most probably
not start up).
Do you think that ditching Ubuntu and shifting to Fedora Core 3 will help ?
Thanks and regards
- Mrinal
Thomas Wenisch wrote:
>Hi Mrinal,
>
>The CXX_ABI errors you saw are related to library versioning issues with
>Simics, Flexus (more specifically, gcc 3.4.x), and new distributions of
>Linux. Others have reported related problems with Fedora Core 3. We are
>trying to get to the bottom of these issues, but do not have complete
>answers yet.
>
>Can you let us know what Linux distribution you are using? Also, can you
>tell me what version of glibc and binutils are installed? You can
>determine this on many systems by running "rpm -q glibc" and "rpm -q
>binutils".
>
>The solution of putting back the backup file will fix Simics, but will
>most likely result in segfaults when you try to run Flexus, because Flexus
>expects a newer version of the C++ standard library than Simics provides.
>You can also trying using the libstdc++ from /usr/lib, but this will
>probably give the same CXXABI errors.
>
>The clock skew errors can generally be ignored - they come about when
>the clocks of the various machines you are using are not perfectly
>synchronized. Make conservatively rebuilds stuff when it sees clock skew.
>
>I will try to work with you to resolve the library issues, but it may take
>a bit of trial and error.
>
>Regards,
>-Tom Wenisch
>
>On Fri, 5 Aug 2005, Mrinal Nath wrote:
>
>
>
>>Hi,
>>Initially I was able to run Simics (version 2.0.28) by following the
>>'first steps' in the simics user guide.
>>Then I followed the instructions in the Flexus getting started manual to
>>build Flexus.
>>After typing the 'make install' command, which replaces some files in
>>SIMICS_PATH/x86-linux/sys/lib, I was unable to run Simics (following the
>>'first steps' in the simics user guide).
>>The error that Simics reported was:
>>
>>******
>>Failed to load module 'x86-p4'
>>('/project/zhai-project01/mrinal/simics-2.0.28/x86-linux/lib/x86-p4.so'):
>>"/project/zhai-project01/mrinal/simics-2.0.28/x86-linux/sys/lib/libstdc++.so.5:
>>version `CXXABI_1.2' not found (required by
>>/project/zhai-project01/mrinal/simics-2.0.28/x86-linux/lib/x86-p4.so)"
>>Failed to load module 'x86-p4-ma'
>>('/project/zhai-project01/mrinal/simics-2.0.28/x86-linux/lib/x86-p4-ma.so'):
>>"/project/zhai-project01/mrinal/simics-2.0.28/x86-linux/sys/lib/libstdc++.so.5:
>>version `CXXABI_1.2' not found (required by
>>/project/zhai-project01/mrinal/simics-2.0.28/x86-linux/lib/x86-p4-ma.so)"
>>Failed to load module 'x86-p4-stall'
>>('/project/zhai-project01/mrinal/simics-2.0.28/x86-linux/lib/x86-p4-stall.so'):
>>"/project/zhai-project01/mrinal/simics-2.0.28/x86-linux/sys/lib/libstdc++.so.5:
>>version `CXXABI_1.2' not found (required by
>>/project/zhai-project01/mrinal/simics-2.0.28/x86-linux/lib/x86-p4-stall.so)"
>>
>>no such class: 'x86-p4'
>>
>>Failed loading the configuration in Simics. This is probably
>>due to some misconfiguration, or that some required file is
>>missing. Please check the above output for error messages
>>
>>[firststeps-common.simics:7] the command did not complete properly;
>>interrupting script
>>******
>>
>>Can you please determine why I am getting this error?
>>
>>Temporarily, I have solved the problem by renaming the link
>>'libstdc++.so.5' in SIMICS_PATH/x86-linux/sys/lib to
>>'libstdc++.so.5.old' and pasting the 'libstdc++.so.5' from
>>SIMICS_PATH/x86-linux/sys/lib/bak (the backup file) in
>>SIMICS_PATH/x86-linux/sys/lib
>>
>>This still allows me to build a simulator (e.g by running 'make
>>CMPFlex'). However, there are some warinings like
>>
>>******
>>make[11]: Warning: File `Makefile.depend.v9_iface_gcc' has modification
>>time 0.01 s in the future
>>******
>>
>>and
>>
>>******
>>make[11]: warning: Clock skew detected. Your build may be incomplete.
>>******
>>
>>Are these warnings serious, or can I simply ignore them.
>>
>>Thanks
>>- Mrinal Nath
>>_______________________________________________
>>SimFlex mailing list
>>[email protected]
>>https://sos.ece.cmu.edu/mailman/listinfo/simflex
>>SimFlex web page: http://www.ece.cmu.edu/~simflex
>>
>>
>>
>_______________________________________________
>SimFlex mailing list
>[email protected]
>https://sos.ece.cmu.edu/mailman/listinfo/simflex
>SimFlex web page: http://www.ece.cmu.edu/~simflex
>
>
From mrinal at ece.umn.edu Sat Aug 6 01:29:23 2005
From: mrinal at ece.umn.edu (Mrinal Nath)
List-Post: [email protected]
Date: Sat Aug 6 01:29:42 2005
Subject: [Simflex] Problem running Simics after 'make install'
In-Reply-To: <[email protected]>
References: <[email protected]>
<pine.lnx.4.53l-ece.cmu.edu.0508051503460.6...@dalmore.ece.cmu.edu>
<[email protected]>
Message-ID: <[email protected]>
Hi Tom,
The latest thing that I tried out is as follows:
I changed the 'libstdc++.so.5' file to the one that SimFlex actually
uses (copies when 'make install' is run) and rebuilt Flexus.
Then I tried running the test application, and it does seem to run
successfully even beyond the "interactive CMPFlex" command. I am pasting
the output below, so that you can take a look at it ans see if
everything is OK.
###############
Starting interactive run of flexus_test with CMPFlex in
/project/zhai-project01/mrinal/flexus/flexus-test-app/runs/mrinal-CMPFlex-06Aug05-001102
Launching job
Initializing Flexus::Debugger...Opening debug output file: debug.out
DEBUG added target debug-comp
DEBUG added target debug-feeder
DEBUG added target debug-noncomp
Opening debug output file: stats.out
DEBUG added target stats
DEBUG added target assertions
Successfully parsed debug configurations from debug.cfg
done
Initializing Flexus::ConfigurationManager...done
Initializing Flexus::ComponentManager...done
Entered init_local
1 <startup.cpp:107> {0}- Initializing Flexus.
Flexus (C) 2005 The SimFlex Project
Brian Gold, Nikos Hardavellas, Jangwook Kim, Jared Smolens,
Stephen Somogyi, Thomas Wenisch, Babak Falsafi and James C. Hoe.
Simics Flexus simulator - Built as CMPFlex v1.0
2 <ComponentManager.cpp:80> {0}- Instantiating system with a width
factor of: 8
3 <InorderSimicsFeederImpl.cpp:290> (feeder[0]) {0}- Initializing
InorderSimicsFeeder.
3 <InorderSimicsFeederImpl.cpp:290> (feeder[0]) {0}- Initializing
InorderSimicsFeeder.
4 <InorderSimicsFeederImpl.cpp:338> (feeder[<undefined>]) {0}-
Connecting: cpu0
5 <InorderSimicsFeederImpl.cpp:338> (feeder[<undefined>]) {0}-
Connecting: cpu1
6 <InorderSimicsFeederImpl.cpp:338> (feeder[<undefined>]) {0}-
Connecting: cpu2
7 <InorderSimicsFeederImpl.cpp:338> (feeder[<undefined>]) {0}-
Connecting: cpu3
8 <InorderSimicsFeederImpl.cpp:338> (feeder[<undefined>]) {0}-
Connecting: cpu4
9 <InorderSimicsFeederImpl.cpp:338> (feeder[<undefined>]) {0}-
Connecting: cpu5
10 <InorderSimicsFeederImpl.cpp:338> (feeder[<undefined>]) {0}-
Connecting: cpu6
11 <InorderSimicsFeederImpl.cpp:338> (feeder[<undefined>]) {0}-
Connecting: cpu7
12 <CmpCache.hpp:78> {0}- L2 port BackSideOut_Snoop is not wired
13 <wiring.cpp:87> {0}- initializing Parameters...
Warning: The 'flexus-CMPFlex-v9-iface-gcc' module unexpectedly defined
the 'Flexus' class
Warning: The 'flexus-CMPFlex-v9-iface-gcc' module unexpectedly defined
the 'SimicsInterface' class
Warning: The 'flexus-CMPFlex-v9-iface-gcc' module unexpectedly defined
the 'InOrderFeeder' class
Opening debug output file: trace.out
DEBUG added target iterationtrace
Successfully parsed debug configurations from iteration.trace.cfg
type run to start simulation
simics>
###############
So, Simics seems to run fine if invoked in conjunction with Flexus.
However, if I try to run Simics on its own (firststeps), then it doesn't
start up, giving the same error that I had mentioned in my first mail
(libstdc++.so.5: version `CXXABI_1.2' not found)
Further, the simulation did complete, but at the end there was a problem
(apparently,some exception was not caught properly):
###############
137 <breakpoint_tracker.cpp:664> {2300096}- CPU[2] thread(148)
pc(v:000010da8) flexus-test-app.c:177 - do_work 9
138 <flexus.cpp:240> {2359296}- Timestamp: 2005-Aug-06 00:20:10
139 <CacheBuffers.hpp:256> {2419548}- When trying to allocate an evict
buffer entry for p:00b523c40 an existing entry with type 15 was found
140 <flexus.cpp:240> {2490368}- Timestamp: 2005-Aug-06 00:20:29
141 <breakpoint_tracker.cpp:382> {2538758}- End of parallel phase
breakpoint reached.
142 <flexus.cpp:569> {2538758}- Terminating simulation. Timestamp:
2005-Aug-06 00:20:36
143 <flexus.cpp:570> {2538758}- Saving final stats_db.
Simulation terminated by flexus.
terminate called after throwing an instance of
'Flexus::Core::FlexusException'
what(): Terminating
(*** Simics ***) Simics getting shaky, switching to 'safe' mode.
(*** Simics ***) Simics (main thread) received an abort signal, probably
an assertion.
<Simics is running in 'safe' mode>
simics>
###############
Is this a known error? Can I ignore this error?
Thanks, and sorry for the barrage of mails ! :-)
- Mrinal
Mrinal Nath wrote:
> Hi Tom,
> Thanks a lot for the quick response.
> I am actually using Ubuntu Linux (5.04) ('hoary hedgehog' release).
> I was unable to verify the exact versions of glibc and binutils. To
> the best of my knowledge, the versions are:
> binutils: 2.15-5ubuntu2
> glibc: 2.3.2
>
> I am not sure if you have tried Ubuntu, but I think that the base
> binutils and glibc should not be very different.
>
> You were right about the segmentation errors. By using the backup copy
> of 'libstdc++.so.5', I was able to install Solaris 8 on Simics. I was
> also able to "automatically collect checkpoints" for the test
> application provided with SimFlex. However, when i tried simulating
> the application by using the command "./interactive CMPFlex', Simics
> got a segfault.
> The output just after issuing the above command is shown below. Simics
> does initialize Flexus, but after that something goes wrong.
>
> ############
> Starting interactive run of flexus_test with CMPFlex in
> /project/zhai-project01/mrinal/flexus/flexus-test-app/runs/mrinal-CMPFlex-05Aug05-231003
>
>
> Launching job
> Initializing Flexus::Debugger...Opening debug output file: debug.out
> DEBUG added target debug-comp
> DEBUG added target debug-feeder
> DEBUG added target debug-noncomp
> Opening debug output file: stats.out
> DEBUG added target stats
> DEBUG added target assertions
> Successfully parsed debug configurations from debug.cfg
> done
> free(): invalid pointer 0x85e5fb8!
> (*** Simics ***) Simics getting shaky, switching to 'safe' mode.
> (*** Simics ***) Simics (main thread) received a segmentation fault.
> Will try to recuperate.
> ############
>
> Do you think that this problem is related to the incorrect library
> version issue? Or is it some other (perhaps known?) issue?
>
> In the meanwhile, since the backup copy has not helped finally, I will
> try to use the "original" copy of 'libstdc++.so.5', which is used by
> SimFlex (when 'make install' is used).
> However, I am skeptical that this will work (simics will most probably
> not start up).
>
> Do you think that ditching Ubuntu and shifting to Fedora Core 3 will
> help ?
>
> Thanks and regards
> - Mrinal
>
> Thomas Wenisch wrote:
>
>> Hi Mrinal,
>>
>> The CXX_ABI errors you saw are related to library versioning issues with
>> Simics, Flexus (more specifically, gcc 3.4.x), and new distributions of
>> Linux. Others have reported related problems with Fedora Core 3. We are
>> trying to get to the bottom of these issues, but do not have complete
>> answers yet.
>>
>> Can you let us know what Linux distribution you are using? Also, can
>> you
>> tell me what version of glibc and binutils are installed? You can
>> determine this on many systems by running "rpm -q glibc" and "rpm -q
>> binutils".
>>
>> The solution of putting back the backup file will fix Simics, but will
>> most likely result in segfaults when you try to run Flexus, because
>> Flexus
>> expects a newer version of the C++ standard library than Simics
>> provides.
>> You can also trying using the libstdc++ from /usr/lib, but this will
>> probably give the same CXXABI errors.
>>
>> The clock skew errors can generally be ignored - they come about when
>> the clocks of the various machines you are using are not perfectly
>> synchronized. Make conservatively rebuilds stuff when it sees clock
>> skew.
>>
>> I will try to work with you to resolve the library issues, but it may
>> take
>> a bit of trial and error.
>>
>> Regards,
>> -Tom Wenisch
>>
>> On Fri, 5 Aug 2005, Mrinal Nath wrote:
>>
>>
>>
>>> Hi,
>>> Initially I was able to run Simics (version 2.0.28) by following the
>>> 'first steps' in the simics user guide.
>>> Then I followed the instructions in the Flexus getting started
>>> manual to
>>> build Flexus.
>>> After typing the 'make install' command, which replaces some files in
>>> SIMICS_PATH/x86-linux/sys/lib, I was unable to run Simics (following
>>> the
>>> 'first steps' in the simics user guide).
>>> The error that Simics reported was:
>>>
>>> ******
>>> Failed to load module 'x86-p4'
>>> ('/project/zhai-project01/mrinal/simics-2.0.28/x86-linux/lib/x86-p4.so'):
>>>
>>> "/project/zhai-project01/mrinal/simics-2.0.28/x86-linux/sys/lib/libstdc++.so.5:
>>>
>>>
>>> version `CXXABI_1.2' not found (required by
>>> /project/zhai-project01/mrinal/simics-2.0.28/x86-linux/lib/x86-p4.so)"
>>> Failed to load module 'x86-p4-ma'
>>> ('/project/zhai-project01/mrinal/simics-2.0.28/x86-linux/lib/x86-p4-ma.so'):
>>>
>>>
>>> "/project/zhai-project01/mrinal/simics-2.0.28/x86-linux/sys/lib/libstdc++.so.5:
>>>
>>>
>>> version `CXXABI_1.2' not found (required by
>>> /project/zhai-project01/mrinal/simics-2.0.28/x86-linux/lib/x86-p4-ma.so)"
>>>
>>> Failed to load module 'x86-p4-stall'
>>> ('/project/zhai-project01/mrinal/simics-2.0.28/x86-linux/lib/x86-p4-stall.so'):
>>>
>>>
>>> "/project/zhai-project01/mrinal/simics-2.0.28/x86-linux/sys/lib/libstdc++.so.5:
>>>
>>>
>>> version `CXXABI_1.2' not found (required by
>>> /project/zhai-project01/mrinal/simics-2.0.28/x86-linux/lib/x86-p4-stall.so)"
>>>
>>>
>>>
>>> no such class: 'x86-p4'
>>>
>>> Failed loading the configuration in Simics. This is probably
>>> due to some misconfiguration, or that some required file is
>>> missing. Please check the above output for error messages
>>>
>>> [firststeps-common.simics:7] the command did not complete properly;
>>> interrupting script
>>> ******
>>>
>>> Can you please determine why I am getting this error?
>>>
>>> Temporarily, I have solved the problem by renaming the link
>>> 'libstdc++.so.5' in SIMICS_PATH/x86-linux/sys/lib to
>>> 'libstdc++.so.5.old' and pasting the 'libstdc++.so.5' from
>>> SIMICS_PATH/x86-linux/sys/lib/bak (the backup file) in
>>> SIMICS_PATH/x86-linux/sys/lib
>>>
>>> This still allows me to build a simulator (e.g by running 'make
>>> CMPFlex'). However, there are some warinings like
>>>
>>> ******
>>> make[11]: Warning: File `Makefile.depend.v9_iface_gcc' has modification
>>> time 0.01 s in the future
>>> ******
>>>
>>> and
>>>
>>> ******
>>> make[11]: warning: Clock skew detected. Your build may be incomplete.
>>> ******
>>>
>>> Are these warnings serious, or can I simply ignore them.
>>>
>>> Thanks
>>> - Mrinal Nath
>>> _______________________________________________
>>> SimFlex mailing list
>>> [email protected]
>>> https://sos.ece.cmu.edu/mailman/listinfo/simflex
>>> SimFlex web page: http://www.ece.cmu.edu/~simflex
>>>
>>>
>>
>> _______________________________________________
>> SimFlex mailing list
>> [email protected]
>> https://sos.ece.cmu.edu/mailman/listinfo/simflex
>> SimFlex web page: http://www.ece.cmu.edu/~simflex
>>
>>
> _______________________________________________
> SimFlex mailing list
> [email protected]
> https://sos.ece.cmu.edu/mailman/listinfo/simflex
> SimFlex web page: http://www.ece.cmu.edu/~simflex