HDF5 1.8.4 H5detect bus error on some archs.

Hi folks

recently we found some problems in building 1.8.4 on Debian sid for three
different archs (sparc64, mips and mipsel). Relevant bug:

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=567256

I guess the ALIGN macro is failing in installing the SIGBUS handler
and does not catch the aniligned access. Is this a correct guess?
Any hints about dealing with this problem?

···

--
Francesco P. Lovergine

Ok, I found that the following change (???) in 1.8.3 -> 1.8.4 causes
the uncatched SIGBUS signal. Reverting the change solves the issue.

--- hdf5-1.8.3/src/H5detect.c 2009-06-19 12:59:55.000000000 +0200
+++ hdf5-1.8.4/src/H5detect.c 2009-11-10 22:12:02.000000000 +0100
@@ -469,12 +470,6 @@
static void
sigsegv_handler(int UNUSED signo)
{
- sigset_t set;

···

On Thu, Jan 28, 2010 at 06:21:41PM +0100, Francesco P. Lovergine wrote:

Hi folks

recently we found some problems in building 1.8.4 on Debian sid for three
different archs (sparc64, mips and mipsel). Relevant bug:

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=567256

I guess the ALIGN macro is failing in installing the SIGBUS handler
and does not catch the aniligned access. Is this a correct guess?
Any hints about dealing with this problem?

-
- sigemptyset(&set);
- sigaddset(&set,SIGSEGV);
- sigprocmask(SIG_UNBLOCK,&set,NULL);
-
     signal(SIGSEGV, sigsegv_handler);
     longjmp(jbuf_g, 1);
}
@@ -500,12 +495,6 @@
static void
sigbus_handler(int UNUSED signo)
{
- sigset_t set;
-
- sigemptyset(&set);
- sigaddset(&set,SIGBUS);
- sigprocmask(SIG_UNBLOCK,&set,NULL);
-
     signal(SIGBUS, sigbus_handler);
     longjmp(jbuf_g, 1);
#ifdef H5_HAVE_SIGLONGJMP

--
Francesco P. Lovergine

Francesco,

Thank you for the report. We will take a look.

Elena

···

On Jan 29, 2010, at 5:16 AM, Francesco P. Lovergine wrote:

On Thu, Jan 28, 2010 at 06:21:41PM +0100, Francesco P. Lovergine wrote:

Hi folks

recently we found some problems in building 1.8.4 on Debian sid for three
different archs (sparc64, mips and mipsel). Relevant bug:

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=567256

I guess the ALIGN macro is failing in installing the SIGBUS handler
and does not catch the aniligned access. Is this a correct guess?
Any hints about dealing with this problem?

Ok, I found that the following change (???) in 1.8.3 -> 1.8.4 causes
the uncatched SIGBUS signal. Reverting the change solves the issue.

--- hdf5-1.8.3/src/H5detect.c 2009-06-19 12:59:55.000000000 +0200
+++ hdf5-1.8.4/src/H5detect.c 2009-11-10 22:12:02.000000000 +0100
@@ -469,12 +470,6 @@
static void
sigsegv_handler(int UNUSED signo)
{
- sigset_t set;
-
- sigemptyset(&set);
- sigaddset(&set,SIGSEGV);
- sigprocmask(SIG_UNBLOCK,&set,NULL);
-
    signal(SIGSEGV, sigsegv_handler);
    longjmp(jbuf_g, 1);
}
@@ -500,12 +495,6 @@
static void
sigbus_handler(int UNUSED signo)
{
- sigset_t set;
-
- sigemptyset(&set);
- sigaddset(&set,SIGBUS);
- sigprocmask(SIG_UNBLOCK,&set,NULL);
-
    signal(SIGBUS, sigbus_handler);
    longjmp(jbuf_g, 1);
#ifdef H5_HAVE_SIGLONGJMP

--
Francesco P. Lovergine

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@hdfgroup.org
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org

FYI,

I entered the issue into our database.

Elena

···

On Jan 29, 2010, at 10:22 AM, Elena Pourmal wrote:

Francesco,

Thank you for the report. We will take a look.

Elena
On Jan 29, 2010, at 5:16 AM, Francesco P. Lovergine wrote:

On Thu, Jan 28, 2010 at 06:21:41PM +0100, Francesco P. Lovergine wrote:

Hi folks

recently we found some problems in building 1.8.4 on Debian sid for three
different archs (sparc64, mips and mipsel). Relevant bug:

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=567256

I guess the ALIGN macro is failing in installing the SIGBUS handler
and does not catch the aniligned access. Is this a correct guess?
Any hints about dealing with this problem?

Ok, I found that the following change (???) in 1.8.3 -> 1.8.4 causes
the uncatched SIGBUS signal. Reverting the change solves the issue.

--- hdf5-1.8.3/src/H5detect.c 2009-06-19 12:59:55.000000000 +0200
+++ hdf5-1.8.4/src/H5detect.c 2009-11-10 22:12:02.000000000 +0100
@@ -469,12 +470,6 @@
static void
sigsegv_handler(int UNUSED signo)
{
- sigset_t set;
-
- sigemptyset(&set);
- sigaddset(&set,SIGSEGV);
- sigprocmask(SIG_UNBLOCK,&set,NULL);
-
   signal(SIGSEGV, sigsegv_handler);
   longjmp(jbuf_g, 1);
}
@@ -500,12 +495,6 @@
static void
sigbus_handler(int UNUSED signo)
{
- sigset_t set;
-
- sigemptyset(&set);
- sigaddset(&set,SIGBUS);
- sigprocmask(SIG_UNBLOCK,&set,NULL);
-
   signal(SIGBUS, sigbus_handler);
   longjmp(jbuf_g, 1);
#ifdef H5_HAVE_SIGLONGJMP

--
Francesco P. Lovergine

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@hdfgroup.org
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@hdfgroup.org
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org