parsa-epfl / qflex

Quick & Flexible Rack-Scale Computer Architecture Simulator
http://qflex.epfl.ch/
31 stars 10 forks source link

Unexpected segmentation fault with flexus enabled #9

Closed altostratous closed 4 years ago

altostratous commented 6 years ago

I'm not sure if it is the right place to report this issue but issues was disabled for qemu repository so I'm reporting this here.

Short description

When I configure and build qemu using the --enable-flexus option and then try to run data caching workload from cloudsutie on an image I get an unexpected segmentation fault.

Steps to reproduce and details

  1. Follow the instructions here to build qemu
  2. Use our Docker compatible image
  3. Run the image as a single instance.
  4. Now follow the instructions on how to run cloudsuite benchmark which is described here but use images built for ARM instead. We don't have those images officially released yet, you can find two images which I built and put on docker hub to reproduce this issue, you can find data caching client tagged as dc-client and and server tagged as dc-server here. (Just use aliasgarikh/test-cloudsuite:dc-server or aliasgarikh/test-cloudsuite:dc-client instead of what mentioned in the cloudsuite download page).
  5. It might not crash at the same point each time but you can reproduce this issue by giving it several tries. This was only the scenario that we care because cloudsuite is docker based. But I tested it with different setups to make sure the problem is with the --enable-flexus option. I tested with two different OS images, different qemu versions and configurations and different memcached versions and setups. You can see the details of tests below:
    
    | Qemu  |QemuImage|Docker| Memcached |ServerThreads|ServerCores| Status
    --------+---------+------+-----------+-------------+-----------+------------------------------------------------------------------------------------
    | v1.0  | debian  |      |   1.4.24  |      4      |     3     |Succeeded, Crash the whole Qemu!
    | v1.0  | debian  |      |   1.4.24  |      4      |     4     |5 x Succeeded, 2 x Crash the whole Qemu in the second warm up!
    |oldev* | debian  |      |   1.4.24  |      4      |     3     |Crashed on the second warm up!
    | dev   | debian  |      |   1.4.24  |      4      |     3     |Succeeded
    | dev   | debian  |      |   1.4.24  |      4      |     4     |Crashed on the first warm up!, 2 x Crashed on the second warm up!
    | v1.0  | debian  |      |   1.5.9   |      4      |     4     |2 x Succeeded
    | v1.0  | ubuntu  |      |   1.4.25  |      4      |     4     |2 x Succeeded
    | v1.0  | ubuntu  |   x  |   1.5.9   |      4      |     4     |Succeeded, Failure due to docker_servers.txt misconfiguration with a line in the end
    |devwos*| ubuntu  |   x  |   1.5.9   |      4      |     4     |Failed with "free(): invalid next size (normal) Aborted (core dumped)"
    |devwos*| ubuntu  |   x  |   1.5.9   |      4      |     4     |Failed with "Write error: -1 Write error: Connection reset by peer"
    |devwin*| ubuntu  |   x  |   1.5.9   |      4      |     4     |Succeeded
    |devwis*| ubuntu  |   x  |   1.5.9   |      4      |     4     |2 x Succeeded