[bug #30766] Serious problems on hppa -- all programs abort with malloc assertion failure
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
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
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
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
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
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
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
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