{"action":"created","issue":{"url":"https://api.github.com/repos/dotnet/coreclr/issues/4617","repository_url":"https://api.github.com/repos/dotnet/coreclr","labels_url":"https://api.github.com/repos/dotnet/coreclr/issues/4617/labels{/name}","comments_url":"https://api.github.com/repos/dotnet/coreclr/issues/4617/comments","events_url":"https://api.github.com/repos/dotnet/coreclr/issues/4617/events","html_url":"https://github.com/dotnet/coreclr/issues/4617","id":151304646,"number":4617,"title":"[ARM32] tailcall test fails ","user":{"login":"chunseoklee","id":4862887,"avatar_url":"https://avatars.githubusercontent.com/u/4862887?v=3","gravatar_id":"","url":"https://api.github.com/users/chunseoklee","html_url":"https://github.com/chunseoklee","followers_url":"https://api.github.com/users/chunseoklee/followers","following_url":"https://api.github.com/users/chunseoklee/following{/other_user}","gists_url":"https://api.github.com/users/chunseoklee/gists{/gist_id}","starred_url":"https://api.github.com/users/chunseoklee/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chunseoklee/subscriptions","organizations_url":"https://api.github.com/users/chunseoklee/orgs","repos_url":"https://api.github.com/users/chunseoklee/repos","events_url":"https://api.github.com/users/chunseoklee/events{/privacy}","received_events_url":"https://api.github.com/users/chunseoklee/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2016-04-27T05:51:03Z","updated_at":"2016-04-27T05:56:53Z","closed_at":null,"body":"test \"JIT.Directed.tailcall.tailcall.tailcall\" fails with the following gdb bt.\r\n\r\n```\r\nTest Start\r\nProgram received signal SIGSEGV, Segmentation fault.\r\n0x766fa180 in WKS::heap_segment_mem (\r\n    inst=<error reading variable: Cannot access memory at address 0x7e7ffff4>)\r\n    at /home/twoflower/dev/coreclr/src/gc/gcpriv.h:4266\r\n4266    {\r\n(gdb) bt\r\n#0  0x766fa180 in WKS::heap_segment_mem (\r\n    inst=<error reading variable: Cannot access memory at address 0x7e7ffff4>)\r\n    at /home/twoflower/dev/coreclr/src/gc/gcpriv.h:4266\r\n#1  0x766fa144 in WKS::in_range_for_segment (add=0x6efd0764 \"0\\247\\334q\",\r\n    seg=0x6efca000) at /home/twoflower/dev/coreclr/src/gc/gc.cpp:3121\r\n#2  0x7668a9bc in WKS::seg_mapping_table_segment_of (o=0x6efd0764 \"0\\247\\334q\")\r\n    at /home/twoflower/dev/coreclr/src/gc/gc.cpp:3666\r\n#3  0x766c4dbc in WKS::gc_heap::find_segment (\r\n    interior=0x6efd0764 \"0\\247\\334q\", small_segment_only_p=1)\r\n    at /home/twoflower/dev/coreclr/src/gc/gc.cpp:16796\r\n#4  0x766f5760 in WKS::GCHeap::IsHeapPointer (this=0x4c400,\r\n    vpObject=0x6efd0764, small_heap_only=1)\r\n    at /home/twoflower/dev/coreclr/src/gc/gc.cpp:33945\r\n#5  0x7638ec32 in Object::ValidateInner (this=0x6efd0764, bDeep=1,\r\n    bVerifyNextHeader=1, bVerifySyncBlock=1)\r\n    at /home/twoflower/dev/coreclr/src/vm/object.cpp:1742\r\n#6  0x7638e14e in Object::Validate (this=0x6efd0764, bDeep=1,\r\n    bVerifyNextHeader=1, bVerifySyncBlock=1)\r\n    at /home/twoflower/dev/coreclr/src/vm/object.cpp:1709\r\n#7  0x7639072a in OBJECTREF::OBJECTREF (this=0x7e800494, pObject=0x6efd0764)\r\n    at /home/twoflower/dev/coreclr/src/vm/object.cpp:2701\r\n#8  0x7645f3b8 in AllocateObject (pMT=0x71dca730)\r\n    at /home/twoflower/dev/coreclr/src/vm/gchelpers.cpp:1042\r\n---Type <return> to continue, or q <return> to quit---\r\n#9  0x76476f82 in JIT_New (typeHnd_=0x71dca730)\r\n    at /home/twoflower/dev/coreclr/src/vm/jithelpers.cpp:2928\r\n#10 0x71c508f0 in ?? ()\r\nBacktrace stopped: previous frame identical to this frame (corrupt stack?)\r\n```\r\nI have ran the test on Linux/ARM emulator(issue #3805) with commit 13b84669db75083bcd120a292. To resolve some unwind issues in ARM, I have also applied several patches such as 4392a21, 8a7a877, f5d3fa8, 7dc148d by @parjong. Refer to https://github.com/chunseoklee/coreclr/commits/tailcall-fix for the status.\r\nAnyone has a clue for this issue ?\r\n\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/dotnet/coreclr/issues/comments/214978825","html_url":"https://github.com/dotnet/coreclr/issues/4617#issuecomment-214978825","issue_url":"https://api.github.com/repos/dotnet/coreclr/issues/4617","id":214978825,"user":{"login":"chunseoklee","id":4862887,"avatar_url":"https://avatars.githubusercontent.com/u/4862887?v=3","gravatar_id":"","url":"https://api.github.com/users/chunseoklee","html_url":"https://github.com/chunseoklee","followers_url":"https://api.github.com/users/chunseoklee/followers","following_url":"https://api.github.com/users/chunseoklee/following{/other_user}","gists_url":"https://api.github.com/users/chunseoklee/gists{/gist_id}","starred_url":"https://api.github.com/users/chunseoklee/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chunseoklee/subscriptions","organizations_url":"https://api.github.com/users/chunseoklee/orgs","repos_url":"https://api.github.com/users/chunseoklee/repos","events_url":"https://api.github.com/users/chunseoklee/events{/privacy}","received_events_url":"https://api.github.com/users/chunseoklee/received_events","type":"User","site_admin":false},"created_at":"2016-04-27T05:56:53Z","updated_at":"2016-04-27T05:56:53Z","body":"With smaller Class1::MaxDepth, tailcall test exited normally although test result is fail.\r\n```\r\n# tailcall.il\r\nIL_0000:  ldc.i4     0x001000               # original value is 0x100000\r\nIL_0005:  stsfld     int32 Class1::MaxDepth\r\n\r\nroot@(none):/home/twoflower/dev/coreclr/bin/Product/Linux.arm.Debug# time ./corerun tailcall.exe\r\nTest Start\r\nExpected result: 1 Actual result: 10496000\r\nTest Failed\r\n\r\nreal\t2m25.827s\r\nuser\t2m19.940s\r\nsys\t0m5.500s\r\n\r\n```\r\n\r\nIt seems that original test takes 800 minutes. "}}