Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
05888 Misc. Minor Always Mar 24, 2015, 10:00 May 5, 2016, 09:21
Tester Firewave View Status Public Platform SDLMAME
Assigned To Resolution Won't fix OS Linux
Status [?] Closed Driver
Version 0.159 Fixed in Version Build Debug
Fixed in Git Commit Github Pull Request #
Summary 05888: ThreadSanitizer: data race in src/osd/modules/render/drawsdl.c with -mt
Description Only happens on start-up.

WARNING: ThreadSanitizer: data race (pid=8623)
  Write of size 4 at 0x7d140000ce28 by thread T10:
    #0 sdl_info::draw(int) /home/notroot/trunk/src/osd/modules/render/drawsdl.c:690:2 (mess64d+0x000002740be4)
    #1 sdl_window_info::draw_video_contents_wt(void*, int) /home/notroot/trunk/src/osd/sdl/window.c:1373:4 (mess64d+0x000002738220)
    #2 worker_thread_process(osd_work_queue*, work_thread_info*) /home/notroot/trunk/src/osd/modules/sync/work_osd.c:744:21 (mess64d+0x00000460960b)
    #3 worker_thread_entry(void*) /home/notroot/trunk/src/osd/modules/sync/work_osd.c:668:4 (mess64d+0x000004608f7b)

  Previous read of size 4 at 0x7d140000ce28 by main thread:
    #0 sdl_info::xy_to_render_target(int, int, int*, int*) /home/notroot/trunk/src/osd/modules/render/drawsdl.c:522:12 (mess64d+0x0000027407ed)
    #1 sdl_window_info::xy_to_render_target(int, int, int*, int*) /home/notroot/trunk/src/osd/sdl/window.c:707:9 (mess64d+0x000002737135)
    #2 sdlinput_poll(running_machine&) /home/notroot/trunk/src/osd/sdl/input.c:1913:27 (mess64d+0x0000027308d4)
    #3 sdl_osd_interface::update(bool) /home/notroot/trunk/src/osd/sdl/video.c:322:2 (mess64d+0x00000273468b)
    #4 video_manager::frame_update(bool) /home/notroot/trunk/src/emu/video.c:228:2 (mess64d+0x0000040ca45f)
    #5 ui_manager::set_startup_text(char const*, bool) /home/notroot/trunk/src/emu/ui/ui.c:408:3 (mess64d+0x000004094d79)
    #6 display_loading_rom_message(romload_private*, char const*, bool) /home/notroot/trunk/src/emu/romload.c:545:3 (mess64d+0x00000405ab3a)
    #7 open_rom_file(romload_private*, char const*, rom_entry const*, astring&, bool) /home/notroot/trunk/src/emu/romload.c:632:2 (mess64d+0x0000040555a1)
    #8 process_rom_entries(romload_private*, char const*, rom_entry const*, rom_entry const*, device_t*, bool) /home/notroot/trunk/src/emu/romload.c:970 (mess64d+0x0000040555a1)
    #9 process_region_list(romload_private*) /home/notroot/trunk/src/emu/romload.c:1498:5 (mess64d+0x000004059ed9)
    #10 rom_init(running_machine&) /home/notroot/trunk/src/emu/romload.c:1565 (mess64d+0x000004059ed9)
    #11 running_machine::start() /home/notroot/trunk/src/emu/machine.c:255:2 (mess64d+0x000003fc4f63)
    #12 running_machine::run(bool) /home/notroot/trunk/src/emu/machine.c:351:3 (mess64d+0x000003fc73d9)
    #13 machine_manager::execute() /home/notroot/trunk/src/emu/mame.c:222:11 (mess64d+0x000003fc2092)
    #14 cli_frontend::execute(int, char**) /home/notroot/trunk/src/emu/clifront.c:220:15 (mess64d+0x000003ec4d90)
    #15 main /home/notroot/trunk/src/osd/sdl/sdlmain.c:290:9 (mess64d+0x00000272caa0)

  Location is heap block of size 80 at 0x7d140000cdf0 allocated by main thread:
    #0 malloc /home/development/llvm/3.6.0/final/llvm.src/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:495:5 (mess64d+0x00000121ecdd)
    #1 osd_malloc(unsigned long) /home/notroot/trunk/src/osd/modules/lib/osdlib_unix.c:75:9 (mess64d+0x0000046076d9)
    #2 malloc_file_line(unsigned long, char const*, int, bool, bool, bool) /home/notroot/trunk/src/lib/util/corealloc.c:112:50 (mess64d+0x00000420e0b1)
    #3 operator new(unsigned long, char const*, int) /home/notroot/trunk/src/lib/util/corealloc.h:71:123 (mess64d+0x00000273fe06)
    #4 drawsdl_create(osd_window*) /home/notroot/trunk/src/osd/modules/render/drawsdl.c:229 (mess64d+0x00000273fe06)
    #5 sdl_window_info::window_init() /home/notroot/trunk/src/osd/sdl/window.c:731:15 (mess64d+0x00000273725d)
    #6 sdl_osd_interface::video_init() /home/notroot/trunk/src/osd/sdl/video.c:116:7 (mess64d+0x000002732edd)
    #7 osd_common_t::init_subsystems() /home/notroot/trunk/src/osd/modules/lib/osdobj_common.c:513:7 (mess64d+0x00000273b0d3)
    #8 sdl_osd_interface::init(running_machine&) /home/notroot/trunk/src/osd/sdl/sdlmain.c:611:2 (mess64d+0x00000272d64c)
    #9 running_machine::start() /home/notroot/trunk/src/emu/machine.c:231:2 (mess64d+0x000003fc4e04)
    #10 running_machine::run(bool) /home/notroot/trunk/src/emu/machine.c:351:3 (mess64d+0x000003fc73d9)
    #11 machine_manager::execute() /home/notroot/trunk/src/emu/mame.c:222:11 (mess64d+0x000003fc2092)
    #12 cli_frontend::execute(int, char**) /home/notroot/trunk/src/emu/clifront.c:220:15 (mess64d+0x000003ec4d90)
    #13 main /home/notroot/trunk/src/osd/sdl/sdlmain.c:290:9 (mess64d+0x00000272caa0)

  Thread T10 (tid=8635, running) created by main thread at:
    #0 pthread_create /home/development/llvm/3.6.0/final/llvm.src/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:896:3 (mess64d+0x000001222b91)
    #1 osd_thread_create(void* (*)(void*), void*) /home/notroot/trunk/src/osd/modules/sync/sync_tc.c:320:7 (mess64d+0x000004607efd)
    #2 osd_work_queue_alloc(int) /home/notroot/trunk/src/osd/modules/sync/work_osd.c:241:20 (mess64d+0x000004608d5a)
    #3 sdl_osd_interface::window_init() /home/notroot/trunk/src/osd/sdl/window.c:218:16 (mess64d+0x000002734b99)
    #4 sdl_osd_interface::video_init() /home/notroot/trunk/src/osd/sdl/video.c:103:7 (mess64d+0x000002732b6f)
    #5 osd_common_t::init_subsystems() /home/notroot/trunk/src/osd/modules/lib/osdobj_common.c:513:7 (mess64d+0x00000273b0d3)
    #6 sdl_osd_interface::init(running_machine&) /home/notroot/trunk/src/osd/sdl/sdlmain.c:611:2 (mess64d+0x00000272d64c)
    #7 running_machine::start() /home/notroot/trunk/src/emu/machine.c:231:2 (mess64d+0x000003fc4e04)
    #8 running_machine::run(bool) /home/notroot/trunk/src/emu/machine.c:351:3 (mess64d+0x000003fc73d9)
    #9 machine_manager::execute() /home/notroot/trunk/src/emu/mame.c:222:11 (mess64d+0x000003fc2092)
    #10 cli_frontend::execute(int, char**) /home/notroot/trunk/src/emu/clifront.c:220:15 (mess64d+0x000003ec4d90)
    #11 main /home/notroot/trunk/src/osd/sdl/sdlmain.c:290:9 (mess64d+0x00000272caa0)

SUMMARY: ThreadSanitizer: data race /home/notroot/trunk/src/osd/modules/render/drawsdl.c:690 sdl_info::draw(int)
Steps To Reproduce
Additional Information
Github Commit
Flags
Regression Version
Affected Sets / Systems
Attached Files
 
Relationships
There are no relationship linked to this issue.
Notes
2
User avatar
No.11560
Firewave
Senior Tester
Apr 1, 2015, 16:01
This happens when I move the mouse during the initialization screens.
User avatar
No.12607
Osso
Moderator
May 5, 2016, 09:21
-mt functionality has been removed.