{"action":"created","issue":{"url":"https://api.github.com/repos/mozilla/rr/issues/1773","repository_url":"https://api.github.com/repos/mozilla/rr","labels_url":"https://api.github.com/repos/mozilla/rr/issues/1773/labels{/name}","comments_url":"https://api.github.com/repos/mozilla/rr/issues/1773/comments","events_url":"https://api.github.com/repos/mozilla/rr/issues/1773/events","html_url":"https://github.com/mozilla/rr/issues/1773","id":171524652,"number":1773,"title":"Assertion in handle_desched_event while recording wine in chaos mode","user":{"login":"Keno","id":1291671,"avatar_url":"https://avatars.githubusercontent.com/u/1291671?v=3","gravatar_id":"","url":"https://api.github.com/users/Keno","html_url":"https://github.com/Keno","followers_url":"https://api.github.com/users/Keno/followers","following_url":"https://api.github.com/users/Keno/following{/other_user}","gists_url":"https://api.github.com/users/Keno/gists{/gist_id}","starred_url":"https://api.github.com/users/Keno/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Keno/subscriptions","organizations_url":"https://api.github.com/users/Keno/orgs","repos_url":"https://api.github.com/users/Keno/repos","events_url":"https://api.github.com/users/Keno/events{/privacy}","received_events_url":"https://api.github.com/users/Keno/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":11,"created_at":"2016-08-16T21:39:34Z","updated_at":"2016-08-17T21:20:13Z","closed_at":null,"body":"```\r\n[FATAL /root/rr/src/record_signal.cc:321:handle_desched_event() errno: SUCCESS]\r\n(task 29648 (rec:29648) at time 251880)\r\n-> Assertion `sig' failed to hold.\r\nLaunch gdb with gdb '-l' '-1' '-ex' 'target extended-remote :29648' /usr/local/bin/wine64-preloader\r\n```\r\nNon-chaos mode works fine, but is not chaotic enough.\r\n\r\nWine backtrace:\r\n```\r\n#0  0x000000007000000e in ?? ()\r\n#1  0x000000007c008458 in _raw_syscall ()\r\n    at /root/rr/src/preload/raw_syscall.S:120\r\n#2  0x000000007c005225 in untraced_syscall_base (syscallno=syscallno@entry=0,\r\n    a0=a0@entry=14, a1=a1@entry=139930735661104, a2=a2@entry=8192,\r\n    a3=a3@entry=0, a4=a4@entry=0, a5=0, syscall_instruction=0x7000000c)\r\n    at /root/rr/src/preload/preload.c:381\r\n#3  0x000000007c00702b in sys_read (call=0xc6bc28)\r\n    at /root/rr/src/preload/preload.c:1902\r\n#4  syscall_hook_internal (call=0xc6bc28)\r\n    at /root/rr/src/preload/preload.c:2354\r\n#5  syscall_hook (call=0xc6bc28) at /root/rr/src/preload/preload.c:2406\r\n#6  0x000000007c00848a in _syscall_hook_trampoline ()\r\n    at /root/rr/src/preload/syscall_hook.S:170\r\n#7  0x000000007c00849b in _syscall_hook_trampoline_48_3d_01_f0_ff_ff ()\r\n    at /root/rr/src/preload/syscall_hook.S:221\r\n#8  0x000078955db8c546 in __read_nocancel ()\r\n    at ../sysdeps/unix/syscall-template.S:84\r\n#9  0x00007f6d466a7457 in calc_crc32 (fd=14)\r\n    at ../../../wine/dlls/dbghelp/crc32.c:143\r\n#10 0x00007f6d466b6c88 in elf_load_file_from_fmap (pcs=0x1ba00,\r\n    filename=0xc6e250, fmap=0xc6de60, load_offset=43664774500352,\r\n    dyn_addr=43664776752752, elf_info=0xc6edd8)\r\n    at ../../../wine/dlls/dbghelp/elf_module.c:1249\r\n---Type <return> to continue, or q <return> to quit---\r\n#11 0x00007f6d466b7005 in elf_load_file (pcs=0x1ba00, filename=0xc6e250, load_offset=43664774500352, dyn_addr=43664776752752,\r\n    elf_info=0xc6edd8) at ../../../wine/dlls/dbghelp/elf_module.c:1326\r\n#12 0x00007f6d466b744c in elf_search_and_load_file (pcs=0x1ba00, filename=0xc6e250, load_offset=43664774500352,\r\n    dyn_addr=43664776752752, elf_info=0xc6edd8) at ../../../wine/dlls/dbghelp/elf_module.c:1484\r\n#13 0x00007f6d466b7739 in elf_load_cb (name=0xc6e250, load_addr=43664774500352, dyn_addr=43664776752752,\r\n    is_system=<optimized out>, user=0xc6edd0) at ../../../wine/dlls/dbghelp/elf_module.c:1679\r\n#14 0x00007f6d466b4982 in elf_enum_modules_internal (pcs=0x1ba00, main_name=0x0, cb=0x7f6d466b7670 <elf_load_cb>, user=0xc6edd0)\r\n    at ../../../wine/dlls/dbghelp/elf_module.c:1539\r\n#15 0x00007f6d466b7c11 in elf_synchronize_module_list (pcs=0x1ba00) at ../../../wine/dlls/dbghelp/elf_module.c:1749\r\n#16 0x00007f6d466ba5f9 in refresh_module_list (pcs=0x1ba00) at ../../../wine/dlls/dbghelp/module.c:512\r\n#17 0x00007f6d466bb6b8 in SymLoadModuleExW (hProcess=<optimized out>, hFile=0x0, wImageName=0xc6efb0, wModuleName=0xc6f510,\r\n    BaseOfDll=4194304, SizeOfDll=430080, Data=0x0, Flags=0) at ../../../wine/dlls/dbghelp/module.c:597\r\n#18 0x00007f6d466a7781 in process_invade_cb (name=0xc6f510, base=4194304, size=430080, user=0xffffffffffffffff)\r\n    at ../../../wine/dlls/dbghelp/dbghelp.c:252\r\n#19 0x00007f6d466bc5f3 in EnumerateLoadedModulesW64 (hProcess=0xffffffffffffffff,\r\n    EnumLoadedModulesCallback=0x7f6d466a7690 <process_invade_cb>, UserContext=0xffffffffffffffff)\r\n    at ../../../wine/dlls/dbghelp/module.c:915\r\n#20 0x00007f6d466a80fe in SymInitializeW (hProcess=0xffffffffffffffff, UserSearchPath=<optimized out>, fInvadeProcess=1)\r\n    at ../../../wine/dlls/dbghelp/dbghelp.c:358\r\n#21 0x00007f6d466a830f in SymInitialize (hProcess=0xffffffffffffffff, UserSearchPath=<optimized out>, fInvadeProcess=1)\r\n    at ../../../wine/dlls/dbghelp/dbghelp.c:391\r\n#22 0x0000000064f335c3 in ?? ()\r\n#23 0x0000000000000016 in ?? ()\r\n#24 0x0000000000000044 in ?? ()\r\n#25 0x2000202000000001 in ?? ()\r\n#26 0x000000000015cd90 in ?? ()\r\n#27 0x000000006506f4c1 in ?? ()\r\n#28 0x0064006e00690077 in ?? ()\r\n#29 0x003b00730077006f in ?? ()\r\n```\r\nrr backtrace:\r\n```\r\n#10 0x00007feddf450d11 in rr::handle_desched_event (t=0x6a5e00, si=0x7ffe2d87e2e0) at /root/rr/src/record_signal.cc:321\r\n#11 0x00007feddf4519d1 in rr::handle_signal (t=0x6a5e00, si=0x7ffe2d87e2e0, deterministic=rr::NONDETERMINISTIC_SIG)\r\n    at /root/rr/src/record_signal.cc:437\r\n#12 0x00007feddf445cba in rr::RecordSession::handle_signal_event (this=0x62b960, t=0x6a5e00, step_state=0x7ffe2d87e3b0)\r\n    at /root/rr/src/RecordSession.cc:1206\r\n#13 0x00007feddf4486cd in rr::RecordSession::record_step (this=0x62b960) at /root/rr/src/RecordSession.cc:1695\r\n#14 0x00007feddf43fad5 in rr::record (args=std::vector of length 2, capacity 4 = {...}, flags=...) at /root/rr/src/RecordCommand.cc:296\r\n#15 0x00007feddf43ff9f in rr::RecordCommand::run (this=0x60b200 <rr::RecordCommand::singleton>, args=std::vector of length 2, capacity 4 = {...})\r\n    at /root/rr/src/RecordCommand.cc:363\r\n#16 0x00000000004064e6 in main (argc=5, argv=0x7ffe2d87e708) at /root/rr/src/main.cc:270\r\n```\r\nRelevant variables:\r\n```\r\n(gdb) p sig\r\n$1 = 0\r\n(gdb) p t->status\r\n$2 = {rr::WaitStatus (const rr::Task * const)} 0x7feddf449dfe <rr::Task::status() const>\r\n(gdb) p t->status()\r\n$3 = {status = 8390015}\r\n```"},"comment":{"url":"https://api.github.com/repos/mozilla/rr/issues/comments/240552284","html_url":"https://github.com/mozilla/rr/issues/1773#issuecomment-240552284","issue_url":"https://api.github.com/repos/mozilla/rr/issues/1773","id":240552284,"user":{"login":"rocallahan","id":296135,"avatar_url":"https://avatars.githubusercontent.com/u/296135?v=3","gravatar_id":"","url":"https://api.github.com/users/rocallahan","html_url":"https://github.com/rocallahan","followers_url":"https://api.github.com/users/rocallahan/followers","following_url":"https://api.github.com/users/rocallahan/following{/other_user}","gists_url":"https://api.github.com/users/rocallahan/gists{/gist_id}","starred_url":"https://api.github.com/users/rocallahan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rocallahan/subscriptions","organizations_url":"https://api.github.com/users/rocallahan/orgs","repos_url":"https://api.github.com/users/rocallahan/repos","events_url":"https://api.github.com/users/rocallahan/events{/privacy}","received_events_url":"https://api.github.com/users/rocallahan/received_events","type":"User","site_admin":false},"created_at":"2016-08-17T21:20:13Z","updated_at":"2016-08-17T21:20:13Z","body":"I agree with your diagnosis and I agree we can ignore this stop-signal.\r\n\r\nYes, I think it would be a good idea to have a flag on Task to indicate that we're expecting a group-stop-signal response to a PTRACE_INTERRUPT. And I think the logic in wait() that converts that signal into a TIME_SLICE_SIGNAL should probably be moved to did_waitpid() so that if we get a group-stop signal that we were expecting, we automatically convert it. That should fix this bug.\r\n\r\nAlso I think wait() should not allow more than one outstanding PTRACE_INTERRUPT."}}
{"actor":{"display_login":"rocallahan"}}