Pass caller names to __pthread_internal_find for better errors.
On http://b/122082295 we had this abort:
12-27 15:29:31.237 10222 10814 10848 F libc : invalid pthread_t 0xb1907960 passed to libc
This wasn't super helpful. We can do better. Now you get something like
this instead:
03-27 02:34:58.754 25329 25329 W libc : invalid pthread_t (0) passed to pthread_join
Test: adb shell crasher
Bug: http://b/123255692
Change-Id: I1d545665a233308480cc3747ec3120e2b6de0453
diff --git a/tests/pthread_test.cpp b/tests/pthread_test.cpp
index 9c6b975..e6bd1ef 100644
--- a/tests/pthread_test.cpp
+++ b/tests/pthread_test.cpp
@@ -495,7 +495,8 @@
pthread_t dead_thread;
MakeDeadThread(dead_thread);
- EXPECT_DEATH(pthread_setname_np(dead_thread, "short 3"), "invalid pthread_t");
+ EXPECT_DEATH(pthread_setname_np(dead_thread, "short 3"),
+ "invalid pthread_t (.*) passed to pthread_setname_np");
}
TEST_F(pthread_DeathTest, pthread_setname_np__null_thread) {
@@ -508,7 +509,8 @@
MakeDeadThread(dead_thread);
char name[64];
- EXPECT_DEATH(pthread_getname_np(dead_thread, name, sizeof(name)), "invalid pthread_t");
+ EXPECT_DEATH(pthread_getname_np(dead_thread, name, sizeof(name)),
+ "invalid pthread_t (.*) passed to pthread_getname_np");
}
TEST_F(pthread_DeathTest, pthread_getname_np__null_thread) {
@@ -564,7 +566,8 @@
pthread_t dead_thread;
MakeDeadThread(dead_thread);
- EXPECT_DEATH(pthread_detach(dead_thread), "invalid pthread_t");
+ EXPECT_DEATH(pthread_detach(dead_thread),
+ "invalid pthread_t (.*) passed to pthread_detach");
}
TEST_F(pthread_DeathTest, pthread_detach__null_thread) {
@@ -591,7 +594,8 @@
MakeDeadThread(dead_thread);
clockid_t c;
- EXPECT_DEATH(pthread_getcpuclockid(dead_thread, &c), "invalid pthread_t");
+ EXPECT_DEATH(pthread_getcpuclockid(dead_thread, &c),
+ "invalid pthread_t (.*) passed to pthread_getcpuclockid");
}
TEST_F(pthread_DeathTest, pthread_getcpuclockid__null_thread) {
@@ -606,7 +610,8 @@
int policy;
sched_param param;
- EXPECT_DEATH(pthread_getschedparam(dead_thread, &policy, ¶m), "invalid pthread_t");
+ EXPECT_DEATH(pthread_getschedparam(dead_thread, &policy, ¶m),
+ "invalid pthread_t (.*) passed to pthread_getschedparam");
}
TEST_F(pthread_DeathTest, pthread_getschedparam__null_thread) {
@@ -622,7 +627,8 @@
int policy = 0;
sched_param param;
- EXPECT_DEATH(pthread_setschedparam(dead_thread, policy, ¶m), "invalid pthread_t");
+ EXPECT_DEATH(pthread_setschedparam(dead_thread, policy, ¶m),
+ "invalid pthread_t (.*) passed to pthread_setschedparam");
}
TEST_F(pthread_DeathTest, pthread_setschedparam__null_thread) {
@@ -636,7 +642,8 @@
pthread_t dead_thread;
MakeDeadThread(dead_thread);
- EXPECT_DEATH(pthread_setschedprio(dead_thread, 123), "invalid pthread_t");
+ EXPECT_DEATH(pthread_setschedprio(dead_thread, 123),
+ "invalid pthread_t (.*) passed to pthread_setschedprio");
}
TEST_F(pthread_DeathTest, pthread_setschedprio__null_thread) {
@@ -648,7 +655,8 @@
pthread_t dead_thread;
MakeDeadThread(dead_thread);
- EXPECT_DEATH(pthread_join(dead_thread, nullptr), "invalid pthread_t");
+ EXPECT_DEATH(pthread_join(dead_thread, nullptr),
+ "invalid pthread_t (.*) passed to pthread_join");
}
TEST_F(pthread_DeathTest, pthread_join__null_thread) {
@@ -660,7 +668,8 @@
pthread_t dead_thread;
MakeDeadThread(dead_thread);
- EXPECT_DEATH(pthread_kill(dead_thread, 0), "invalid pthread_t");
+ EXPECT_DEATH(pthread_kill(dead_thread, 0),
+ "invalid pthread_t (.*) passed to pthread_kill");
}
TEST_F(pthread_DeathTest, pthread_kill__null_thread) {