Package: check
Version: 0.9.10-2
Severity: grave
Justification: renders package unusable

check currently does not work on kfreebsd-amd64. Consider the following
example:

$ cat check.c
#include <check.h>

START_TEST(test) {
} END_TEST
START_TEST(test2) {
} END_TEST
START_TEST(test3) {
} END_TEST

int main()
{
  Suite* s = suite_create("test");
  TCase* tc_core = tcase_create("test");
  tcase_add_test(tc_core, test);
  tcase_add_test(tc_core, test2);
  tcase_add_test(tc_core, test3);
  suite_add_tcase(s, tc_core);
  SRunner* sr = srunner_create(s);
  srunner_run_all(sr, CK_NORMAL);
  srunner_free(sr);
  return 0;
}

Now compile and run it:

$ gcc check.c $(pkg-config --cflags check) $(pkg-config --libs check) -pthread
$ ./a.out
Running suite(s): test
Segmentation fault

gdb gives me the following back trace:

#0  __pthread_fork (b=0x801239a60 <__fork_block>) at ptfork.c:72
#1  0x0000000000403dfd in srunner_run ()
#2  0x0000000000401981 in main ()

One test case is not enough to trigger the segfault. Setting CK_FORK=no makes
the segfault disappear. Since the default is broken and, according to the
documentation, CK_FORK=no is there for debugging purposes, I consider
check unusable and thus the severity.

Regards
-- 
Sebastian Ramacher

Attachment: signature.asc
Description: Digital signature

Reply via email to