This happened when running: ./TestRunner -r 1000 frysk.util.TestFStack testSingleThreadedDetached(frysk.util.TestFStack)junit.framework.AssertionFailedError: #5 0x0 in null () did not match: ^#5 0x[\da-f]+ in _start \(\) at frysk.util.TestFStack.singleThreaded(TestRunner) at frysk.util.TestFStack.testSingleThreadedDetached(TestRunner) at frysk.junit.Runner.runCases(TestRunner) at frysk.junit.Runner.runArchCases(TestRunner) at frysk.junit.Runner.runArchCases(TestRunner) at TestRunner.main(TestRunner)
happens intermittently with any test, testClone gets it the most often. There was 1 failure: 1) testClone(frysk.util.TestFStack)junit.framework.AssertionFailedError: Task #19878 #0 0x970402 in __kernel_vsyscall () #1 0xa18f0c in __nanosleep_nocancel () #2 0xa18d3b in sleep () #3 0x8048d5d in main (): line #177 #4 0x0 in null () #5 0x0 in null () Task #19882 #0 0x0 in null () #1 0x0 in null () #2 0x0 in null () #3 0x0 in null () Task #19884 #0 0x0 in null () #1 0x0 in null () #2 0x0 in null () #3 0x0 in null () Task #19885 #0 0x0 in null () #1 0x0 in null () #2 0x0 in null () #3 0x0 in null () Task #19886 #0 0x0 in null () #1 0x0 in null () #2 0x0 in null () #3 0x0 in null () did not match: (Task #\d+\n#0 0x[\da-f]+ in __kernel_vsyscall \(\)\n#1 0x[\da-f]+ in __nanosleep_nocancel \(\)\n#2 0x[\da-f]+ in sleep \(\)\n#3 0x[\da-f]+ in main \(\): line #177\n#4 0x[\da-f]+ in __libc_start_main \(\)\n#5 0x[\da-f]+ in _start \(\)\n|Task #\d+\n#0 0x[\da-f]+ in __kernel_vsyscall \(\)\n#1 0x[\da-f]+ in kill \(\)\n#2 0x[\da-f]+ in main \(\): line #175\n#3 0x[\da-f]+ in __libc_start_main \(\)\n#4 0x[\da-f]+ in _start \(\)\n|Task #\d+\n#0 0x[\da-f]+ in sleep \(\)\n#1 0x[\da-f]+ in __libc_start_main \(\)\n#2 0x[\da-f]+ in _start \(\)\n)(Task #\d+\n#0 0x[\da-f]+ in (__)?clone \(\)\n#1 0x[\da-f]+ in op_clone \(\): line #105\n#2 0x[\da-f]+ in start_thread \(\)\n#3 0x[\da-f]+ in (__)?clone \(\)\n|Task #\d+\n#0 0x[\da-f]+ in memset \(\)\n#1 0x[\da-f]+ in op_clone \(\): line #105\n#2 0x[\da-f]+ in start_thread \(\)\n#3 0x[\da-f]+ in (__)?clone \(\)\n|Task #\d+\n#0 0x[\da-f]+ in (__)?clone \(\)\n#1 0x[\da-f]+ in main \(\): line #177\n#2 0x[\da-f]+ in __libc_start_main \(\)\n#3 0x[\da-f]+ in _start \(\)\n|Task #\d+\n#0 0x[\da-f]+ in __kernel_vsyscall \(\)\n#1 0x[\da-f]+ in pthread_join \(\)\n#2 0x[\da-f]+ in op_clone \(\): line #100\n#3 0x[\da-f]+ in start_thread \(\)\n#4 0x[\da-f]+ in (__)?clone \(\)\n|Task #\d+\n#0 0x[\da-f]+ in start_thread \(\)\n#1 0x[\da-f]+ in (__)?clone \(\)\n)* at frysk.util.TestFStack.testClone(TestRunner) at frysk.junit.Runner.runCases(TestRunner) at frysk.junit.Runner.runArchCases(TestRunner) at frysk.junit.Runner.runTestCases(TestRunner) at TestRunner.main(TestRunner)
This seems to be a libunwind bug rather than an fstack bug, the fstack test suite was modified to ignore most nulls but will still look for certain lines, such as the ... _start () line shown here.