[bug #30766] Serious problems on hppa -- all programs abort with malloc assertion failure

2010-08-19 Thread Richard Frith-Macdonald

Follow-up Comment #12, bug #30766 (project gnustep):

I'm afraid there's little that those of us without hppa systems (like myself)
can do other than offer a bit of advice.

The fact that very different stacktraces are showing crashes in malloc
suggests that the problem is memory corruption which occurred elsewhere (and
there are probably no real clue to the original cause in the stacktraces). 
This suggests that using gdb is unlikely to be helpful initially.

In which case, the only approach which really offers any reasonable prospect
of success would be to check out base from svn trunk on various dates, and see
at what point the test program starts crashing.  That will narrow things down
to the code change at which crashing started ... at which point we can examine
the source to see if we can spot anything, and also run under gdb setting
breakpoints at any changed section of code, and stepping through to see what's
going on.  

___

Reply to this item at:

  http://savannah.gnu.org/bugs/?30766

___
  Message sent via/by Savannah
  http://savannah.gnu.org/


___
Bug-gnustep mailing list
Bug-gnustep@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-gnustep


[bug #30766] Serious problems on hppa -- all programs abort with malloc assertion failure

2010-08-19 Thread Yavor Doganov

Follow-up Comment #13, bug #30766 (project gnustep):

I asked the bug reporter to commence the bisection procedure, starting from
the tip (just in case), then narrowing between the last good r28586 (1.19.3)
and bad r30325 (1.20.0).

I'll followup here with the results as soon as I have them.

___

Reply to this item at:

  http://savannah.gnu.org/bugs/?30766

___
  Message sent via/by Savannah
  http://savannah.gnu.org/


___
Bug-gnustep mailing list
Bug-gnustep@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-gnustep


[bug #30766] Serious problems on hppa -- all programs abort with malloc assertion failure

2010-08-19 Thread Yavor Doganov

Follow-up Comment #15, bug #30766 (project gnustep):

Further narrowed down to -r28600:r28625 (continuing).

I asked on debian-hppa about some information for the switch from
Linuxthreads to NPTL on hppa -- I remember it was very hard, and there were
some odd details.  It may turn out to be a glibc bug (which explains why I
can't reproduce with glibc 2.7, which is using the old Linuxthreads).  Or
maybe not, so please try to investigate.

___

Reply to this item at:

  http://savannah.gnu.org/bugs/?30766

___
  Message sent via/by Savannah
  http://savannah.gnu.org/


___
Bug-gnustep mailing list
Bug-gnustep@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-gnustep


[bug #30766] Serious problems on hppa -- all programs abort with malloc assertion failure

2010-08-19 Thread Yavor Doganov

Follow-up Comment #16, bug #30766 (project gnustep):

Final results:

- r28611 is ok
- r28612 didn't compile [1]
- r28613 exposes the bug

[1]
NSLock.m: In function ‘-[NSCondition lockBeforeDate:]’:
NSLock.m:247: warning: passing argument 1 of ‘pthread_mutex_trylock’
from
incompatible pointer type
/usr/include/pthread.h:732: note: expected ‘union pthread_mutex_t *’ but
argument is of type ‘struct pthread_mutex_t *’
NSLock.m: At top level:
NSLock.m:344: warning: cast increases required alignment of target type
NSLock.m:344: warning: cast increases required alignment of target type
NSLock.m:344: warning: cast increases required alignment of target type
NSLock.m:344: warning: cast increases required alignment of target type
NSLock.m:344: warning: cast increases required alignment of target type
NSLock.m:344: warning: cast increases required alignment of target type
NSLock.m:344: warning: cast increases required alignment of target type
NSLock.m:344: warning: cast increases required alignment of target type
make[4]: *** [obj/libgnustep-base.obj/NSLock.m.o] Error 1
make[3]: *** [internal-library-all_] Error 2
make[2]: *** [libgnustep-base.all.library.variables] Error 2
make[1]: *** [internal-all] Error 2
make: *** [internal-all] Error 2

___

Reply to this item at:

  http://savannah.gnu.org/bugs/?30766

___
  Message sent via/by Savannah
  http://savannah.gnu.org/


___
Bug-gnustep mailing list
Bug-gnustep@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-gnustep


[bug #30766] Serious problems on hppa -- all programs abort with malloc assertion failure

2010-08-19 Thread Yavor Doganov

Follow-up Comment #17, bug #30766 (project gnustep):

Looking at the diff, the only thing that comes to (my) mind is some oddity
with hiding the pthread stuff (hppa has the largest size of pthread_mutex_t --
48 -- but this shouldn't be a problem AFAICS), or the NSRunLoop change. 
Should I ask to revert either of them and repeat the test?

___

Reply to this item at:

  http://savannah.gnu.org/bugs/?30766

___
  Message sent via/by Savannah
  http://savannah.gnu.org/


___
Bug-gnustep mailing list
Bug-gnustep@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-gnustep


[bug #30766] Serious problems on hppa -- all programs abort with malloc assertion failure

2010-08-19 Thread Yavor Doganov

Follow-up Comment #18, bug #30766 (project gnustep):

FWIW, link to the discussion that lead to this particular change:
http://thread.gmane.org/gmane.comp.lib.gnustep.general/33167

___

Reply to this item at:

  http://savannah.gnu.org/bugs/?30766

___
  Message sent via/by Savannah
  http://savannah.gnu.org/


___
Bug-gnustep mailing list
Bug-gnustep@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-gnustep


[bug #30766] Serious problems on hppa -- all programs abort with malloc assertion failure

2010-08-19 Thread Yavor Doganov

Follow-up Comment #19, bug #30766 (project gnustep):

I asked Carlos O'Donnel, the author of the glibc NPTL code for hppa if
there's something wrong in the approach of hiding pthread internals with
opaque types of the same size.  He said:

Yes, you don't take into account the alignment requirement of the
structure.

The pthread_mutex_t and pthread_cond_t on hppa are __attribute__
((aligned(16))), which means if you embedded them into another
structure they need to be padded out to that alignment. The dummy
structure you use here doesn't match the alignment and may break ABI.

___

Reply to this item at:

  http://savannah.gnu.org/bugs/?30766

___
  Message sent via/by Savannah
  http://savannah.gnu.org/


___
Bug-gnustep mailing list
Bug-gnustep@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-gnustep


[bug #30766] Serious problems on hppa -- all programs abort with malloc assertion failure

2010-08-19 Thread Richard Frith-Macdonald

Follow-up Comment #20, bug #30766 (project gnustep):

I added a tiny fix to svn trunk to set the alignment.  You could see if this
fixes things.

___

Reply to this item at:

  http://savannah.gnu.org/bugs/?30766

___
  Message sent via/by Savannah
  http://savannah.gnu.org/


___
Bug-gnustep mailing list
Bug-gnustep@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-gnustep