Anonymous wrote:
David Xu <[email protected]> writes:

Author: davidxu
Date: Mon Oct 25 09:16:04 2010
New Revision: 214334
URL: http://svn.freebsd.org/changeset/base/214334

Log:
  Get cpuset in pthread_attr_get_np() and free it in pthread_attr_destroy().

  MFC after:    7 days

After this change firefox 4.0b8pre built from mozilla trunk crashes with
SIGBUS while starting, on /h...@r214363m amd64. It may be related to

  $ js
  Assertion failure: stackBase, at jsnativestack.cpp:217

and the calls preceding it

  pthread_attr_get_np(thread, &sattr);
  pthread_attr_getstack(&sattr, &stackBase, &stackSize);

java/openjdk6 doesn't start, too

  $ java
  #
  # A fatal error has been detected by the Java Runtime Environment:
  #
  #  Internal Error (os_bsd_x86.cpp:876), pid=10495, tid=34389128704
  #  Error: pthread_attr_get_np failed with err = 34

It is difficult to know which cpuset size kernel is using,
for example, cpuset_getaffinity has following code:

if (uap->cpusetsize < sizeof(cpuset_t) ||
      uap->cpusetsize > CPU_MAXSIZE / NBBY)
               return (ERANGE);

So if I provide a buffer, who can tell me what size I should use?
too large or too small ? where can I get the size ?

Regards,
David Xu

_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"

Reply via email to