[issue12181] SIGBUS error on OpenBSD (sparc64)

STINNER Victor report at bugs.python.org
Wed May 25 23:15:07 CEST 2011


STINNER Victor <victor.stinner at haypocalc.com> added the comment:

> Don't hesitate to ask me if you need information.

It looks like the crash occurs on r[0].data in testPair() of test_kqueue. Can you confirm this? Comment the line in test_kqueue.py to check if it works around the crash.

What is the size of intptr_t and "long long" types on your host? You can find this information in config.log if you compiled Python manually. Otherwise, use a dummy C script like:
--------------
int main() { return sizeof(long long); }
--------------
and
--------------
#include <stdint.h>
int main() { return sizeof(intptr_t); }
--------------
Compile the script, run it, and read the exitcode (e.g.g echo $? using bash).

Can you try to get the definition of the kevent structure? It should be in /usr/include/sys/event.h. And/or the offset of each field using the following C script (not tested):
-------------
#include <stdio.h>
#include <sys/event.h>
#include <stddef.h> /* For offsetof */

#ifndef offsetof
#define offsetof(type, member) ( (int) & ((type*)0) -> member )
#endif

struct kevent ev;

#define DUMP(field) printf("offset of " #field ": %u\n", offsetof(ev, field))

int main()
{
   DUMP(ident);
   DUMP(filter);
   DUMP(flags);
   DUMP(fflags);
   DUMP(data);
   DUMP(udata);
   return 0;
}
-------------

----------
nosy: +haypo

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue12181>
_______________________________________


More information about the Python-bugs-list mailing list