You can try using debug flags. SyscallVerbose seems useful.

It's possible that you'll need to update the implementation of the clock
syscall.

Jason

On Tue, May 15, 2018 at 6:50 AM Øyvind Harboe <[email protected]>
wrote:

> I've tried with "-static" as well. Same result.
>
> When trying on a different machine, there result was slightly different. I
> guess memory corruption could pan out slightly differently and that this
> difference is not of any particular interest.
>
> $ ../gem5/build/X86/gem5.opt --listener-mode=off
> ../gem5/configs/example/se.py -c a.out
> gem5 Simulator System.  http://gem5.org
> gem5 is copyrighted software; use the --copyright option for details.
>
> gem5 compiled May 15 2018 06:42:21
> gem5 started May 15 2018 06:48:33
> gem5 executing on Mega-Minion, pid 10006
> command line: ../gem5/build/X86/gem5.opt --listener-mode=off
> ../gem5/configs/example/se.py -c a.out
>
> Global frequency set at 1000000000000 ticks per second
> warn: DRAM device capacity (8192 Mbytes) does not match the address range
> assigned (512 Mbytes)
> warn: Sockets disabled, not accepting gdb connections
> **** REAL SIMULATION ****
> info: Entering event queue @ 0.  Starting simulation...
> info: Increasing stack size by one page.
> warn: readlink() called on '/proc/self/exe' may yield unexpected results
> in various settings.
>       Returning '/home/jenkins/ascenium/a.out'
> warn: ignoring syscall access(...)
> fatal: readBlob(0x4080ae651, ...) failed
> Memory Usage: 97236700 KBytes
>
>
>
>
> On Mon, May 14, 2018 at 6:25 PM, Jason Lowe-Power <[email protected]>
> wrote:
>
>> Hello,
>>
>> Have you compiled your binary statically? I believe dynamically linked
>> executables will only work if the host and the guest are *exactly* the same
>> (e.g., both x86-64 in this case).
>>
>> Jason
>>
>> On Mon, May 14, 2018 at 7:10 AM Øyvind Harboe <[email protected]>
>> wrote:
>>
>>> I'm getting a "bad_alloc" from the config/examples/se.py script when I
>>> try to run the small C application below that calls clock().
>>>
>>> Any pointers on what's going on would be most welcome.
>>>
>>> Please find a transcript of how I've tested:
>>>
>>> I first test with 64 bit, then with 32 bit x86. 64 bit x86 works fine.
>>>
>>> $ cd gem5
>>> $ git describe --tags
>>> copyright_update-7291-gce00e6042
>>> $ cat test.c
>>> #include <time.h>
>>>
>>> int main(int argc, char **argv)
>>> {
>>>   clock();
>>>   return 0;
>>> }
>>> $ gcc ./test.c
>>> $ build/X86/gem5.opt configs/example/se.py -c ./a.out
>>> gem5 Simulator System.  http://gem5.org
>>> gem5 is copyrighted software; use the --copyright option for details.
>>>
>>> gem5 compiled May 14 2018 14:59:03
>>> gem5 started May 14 2018 16:00:16
>>> gem5 executing on davos, pid 31640
>>> command line: build/X86/gem5.opt configs/example/se.py -c ./a.out
>>>
>>> Global frequency set at 1000000000000 ticks per second
>>> warn: DRAM device capacity (8192 Mbytes) does not match the address
>>> range assigned (512 Mbytes)
>>> 0: system.remote_gdb: listening for remote gdb on port 7000
>>> **** REAL SIMULATION ****
>>> info: Entering event queue @ 0.  Starting simulation...
>>> warn: ignoring syscall access(...)
>>> warn: ignoring syscall access(...)
>>> warn: ignoring syscall access(...)
>>> warn: ignoring syscall mprotect(...)
>>> warn: ignoring syscall mprotect(...)
>>> warn: ignoring syscall mprotect(...)
>>> warn: ignoring syscall mprotect(...)
>>> Exiting @ tick 91225000 because exiting with last active thread context
>>>
>>>
>>> $ gcc -m32 ./test.c
>>> $ build/X86/gem5.opt configs/example/se.py -c ./a.out
>>> gem5 Simulator System.  http://gem5.org
>>> gem5 is copyrighted software; use the --copyright option for details.
>>>
>>> gem5 compiled May 14 2018 14:59:03
>>> gem5 started May 14 2018 16:00:23
>>> gem5 executing on davos, pid 31648
>>> command line: build/X86/gem5.opt configs/example/se.py -c ./a.out
>>>
>>> Global frequency set at 1000000000000 ticks per second
>>> warn: DRAM device capacity (8192 Mbytes) does not match the address
>>> range assigned (512 Mbytes)
>>> 0: system.remote_gdb: listening for remote gdb on port 7000
>>> **** REAL SIMULATION ****
>>> info: Entering event queue @ 0.  Starting simulation...
>>> warn: ignoring syscall access(...)
>>> warn: ignoring syscall access(...)
>>> warn: ignoring syscall access(...)
>>> warn: ignoring syscall mprotect(...)
>>> warn: ignoring syscall mprotect(...)
>>> warn: ignoring syscall mprotect(...)
>>> warn: ignoring syscall mprotect(...)
>>> Traceback (most recent call last):
>>>   File "<string>", line 1, in <module>
>>>   File "/home/oyvind/gem5/src/python/m5/main.py", line 435, in main
>>>     exec filecode in scope
>>>   File "configs/example/se.py", line 286, in <module>
>>>     Simulation.run(options, root, system, FutureClass)
>>>   File "/home/oyvind/gem5/configs/common/Simulation.py", line 712, in run
>>>     exit_event = benchCheckpoints(options, maxtick, cptdir)
>>>   File "/home/oyvind/gem5/configs/common/Simulation.py", line 268, in
>>> benchCheckpoints
>>>     exit_event = m5.simulate(maxtick - m5.curTick())
>>>   File "/home/oyvind/gem5/src/python/m5/simulate.py", line 176, in
>>> simulate
>>>     return _m5.event.simulate(*args, **kwargs)
>>> MemoryError: std::bad_alloc
>>>
>>>
>>>
>>> --
>>> Øyvind Harboe, General Manager, Zylin AS, +47 917 86 146
>>> _______________________________________________
>>> gem5-users mailing list
>>> [email protected]
>>> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
>>
>>
>> _______________________________________________
>> gem5-users mailing list
>> [email protected]
>> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
>>
>
>
>
> --
> Øyvind Harboe, General Manager, Zylin AS, +47 917 86 146
> _______________________________________________
> gem5-users mailing list
> [email protected]
> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to