[Bug 229676] New: GNU Make 3.81 is too buggy for real life
https://bugzilla.novell.com/show_bug.cgi?id=229676 Summary: GNU Make 3.81 is too buggy for real life Product: openSUSE 10.2 Version: Final Platform: x86-64 OS/Version: Other Status: NEW Severity: Major Priority: P5 - None Component: Development AssignedTo: pth@novell.com ReportedBy: sergstesh@yahoo.com QAContact: qa@suse.de I am compiling a lot of targets in the framework of my http://appsfromscratch.berlios.de/ project, and until recently I was working on Mandriva 2006. After switching to SUSE 10.2 I've discovered that for at least two targets stock 'make' which is GNU Make 3.81 is not good. 'make' just got stuck in 'make test' for Gnome2 target (Perl module) and 'make' couldn't complete building autogen-5.8.7 - in this case there was a screen looking like register dump for a fraction of second, so I'm not sure what it was. Anyway, I reverted to GNU Make 3.80 using my tool, and I was able to complete both Gnome2 and autogen-5.8.7. If you are interested, I can upload the most up to date yet unreleased version of my tool, so you'll be able to reproduce the failures. The tool is easy to use, for example, autogen was built using ~/AppsFromScratch/20061104/bin/build.pl -make_like -check_with_ldd -targets_to_build autogen > & ! build.log & command line. In any case, my tool builds and installs everything locally, not requiring root permissions, so even when 'make' is built, local copy is used. Info on my system: Linux amdam2 2.6.18.2-34-default #1 SMP Mon Nov 27 11:46:27 UTC 2006 i686 athlon i386 GNU/Linux - it's an AMD AM2 x 2 box. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=229676 mhopf@novell.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |aj@novell.com Severity|Major |Normal Status|NEW |ASSIGNED Priority|P5 - None |P4 - Low ------- Comment #1 from mhopf@novell.com 2007-01-08 08:50 MST ------- I'd rather love if you would file a bug report at gnu.org. We do not really develop make in-house, and as far as our build environment is concerned, after some initial hassles (due to stricter posix compatibility) it seems to work well. Unless someone further up in the command chain decides to drop back to 3.80 (adding aj for this), we'll probably stick at 3.81. Could you still attach the tool to this bug report for verification? This is low priority, though. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=229676 ------- Comment #2 from sergstesh@yahoo.com 2007-01-13 04:53 MST ------- Before attaching the tool - I finally managed to catch that looking like register dump screen: " *** glibc detected *** /maxtor5/sergei/AppsFromScratchWD/build/autogen-5.8.7/agen5/.libs/lt-autogen: corrupted double-linked list: 0x080b0898 *** ======= Backtrace: ========= /lib/libc.so.6[0x4023e6e1] /lib/libc.so.6[0x4023e78b] /lib/libc.so.6[0x402406a0] /lib/libc.so.6(__libc_malloc+0x85)[0x402420c5] /maxtor5/sergei/AppsFromScratchWD/build/autogen-5.8.7/agen5/.libs/lt-autogen(ao_malloc+0x12)[0x804ef52] /maxtor5/sergei/AppsFromScratchWD/build/autogen-5.8.7/agen5/.libs/lt-autogen(getEntry+0x38)[0x804f3e8] /maxtor5/sergei/AppsFromScratchWD/build/autogen-5.8.7/agen5/.libs/lt-autogen(findPlace+0x11)[0x804f441] /maxtor5/sergei/AppsFromScratchWD/build/autogen-5.8.7/agen5/.libs/lt-autogen[0x804f73b] /maxtor5/sergei/AppsFromScratchWD/build/autogen-5.8.7/agen5/.libs/lt-autogen(dp_run_fsm+0x4f)[0x805c27f] /maxtor5/sergei/AppsFromScratchWD/build/autogen-5.8.7/agen5/.libs/lt-autogen(readDefines+0x296)[0x805dd16] /maxtor5/sergei/AppsFromScratchWD/build/autogen-5.8.7/agen5/.libs/lt-autogen[0x805dead] /maxtor5/sergei/AppsFromScratchWD/install/guile-1.8.1/lib/libguile.so.17[0x4007df32] /maxtor5/sergei/AppsFromScratchWD/install/guile-1.8.1/lib/libguile.so.17[0x4008a306] /maxtor5/sergei/AppsFromScratchWD/install/guile-1.8.1/lib/libguile.so.17[0x4005c542] /maxtor5/sergei/AppsFromScratchWD/install/guile-1.8.1/lib/libguile.so.17(scm_c_catch+0x2a6)[0x400cf5a6] /maxtor5/sergei/AppsFromScratchWD/install/guile-1.8.1/lib/libguile.so.17(scm_i_with_continuation_barrier+0xa2)[0x4005caa2] /maxtor5/sergei/AppsFromScratchWD/install/guile-1.8.1/lib/libguile.so.17(scm_c_with_continuation_barrier+0x53)[0x4005cb83] /maxtor5/sergei/AppsFromScratchWD/install/guile-1.8.1/lib/libguile.so.17(scm_i_with_guile_and_parent+0x39)[0x400ce6c9] /maxtor5/sergei/AppsFromScratchWD/install/guile-1.8.1/lib/libguile.so.17(scm_with_guile+0x2e)[0x400ce7be] /maxtor5/sergei/AppsFromScratchWD/install/guile-1.8.1/lib/libguile.so.17(scm_boot_guile+0x3f)[0x4008a29f] /maxtor5/sergei/AppsFromScratchWD/install/guile-1.8.1/lib/libguile.so.17(gh_enter+0x35)[0x4007df05] /maxtor5/sergei/AppsFromScratchWD/build/autogen-5.8.7/agen5/.libs/lt-autogen(main+0x159)[0x805e119] /lib/libc.so.6(__libc_start_main+0xdc)[0x401eff9c] /maxtor5/sergei/AppsFromScratchWD/build/autogen-5.8.7/agen5/.libs/lt-autogen(optionLoadOpt+0xd9)[0x804d731] ======= Memory map: ======== 08048000-0806b000 r-xp 00000000 03:45 3572164 /maxtor5/sergei/AppsFromScratchWD/build/autogen-5.8.7/agen5/.libs/lt-autogen 0806b000-0806c000 r--p 00023000 03:45 3572164 /maxtor5/sergei/AppsFromScratchWD/build/autogen-5.8.7/agen5/.libs/lt-autogen 0806c000-0806e000 rw-p 00024000 03:45 3572164 /maxtor5/sergei/AppsFromScratchWD/build/autogen-5.8.7/agen5/.libs/lt-autogen 0806e000-080d4000 rw-p 0806e000 00:00 0 [heap] 40000000-4001b000 r-xp 00000000 03:05 256012 /lib/ld-2.5.so 4001b000-4001d000 rw-p 0001a000 03:05 256012 /lib/ld-2.5.so 4001d000-4001e000 r-xp 4001d000 00:00 0 [vdso] 4001e000-4001f000 rw-p 4001e000 00:00 0 4001f000-4002e000 r-xp 00000000 03:45 4178032 /maxtor5/sergei/AppsFromScratchWD/build/autogen-5.8.7/autoopts/.libs/libopts.so.24.3.5 4002e000-4002f000 r--p 0000e000 03:45 4178032 /maxtor5/sergei/AppsFromScratchWD/build/autogen-5.8.7/autoopts/.libs/libopts.so.24.3.5 4002f000-40030000 rw-p 0000f000 03:45 4178032 /maxtor5/sergei/AppsFromScratchWD/build/autogen-5.8.7/autoopts/.libs/libopts.so.24.3.5 40030000-400f7000 r-xp 00000000 03:45 5324808 /maxtor5/sergei/AppsFromScratchWD/install/guile-1.8.1/lib/libguile.so.17.0.1 400f7000-400f9000 r--p 000c6000 03:45 5324808 /maxtor5/sergei/AppsFromScratchWD/install/guile-1.8.1/lib/libguile.so.17.0.1 400f9000-400fb000 rw-p 000c8000 03:45 5324808 /maxtor5/sergei/AppsFromScratchWD/install/guile-1.8.1/lib/libguile.so.17.0.1 400fb000-40106000 rw-p 400fb000 00:00 0 40106000-4013b000 r-xp 00000000 03:45 4751626 /maxtor5/sergei/AppsFromScratchWD/install/gmp-4.2.1/lib/libgmp.so.3.4.1 4013b000-4013c000 r--p 00034000 03:45 4751626 /maxtor5/sergei/AppsFromScratchWD/install/gmp-4.2.1/lib/libgmp.so.3.4.1 4013c000-4013d000 rw-p 00035000 03:45 4751626 /maxtor5/sergei/AppsFromScratchWD/install/gmp-4.2.1/lib/libgmp.so.3.4.1 4015d000-40166000 r-xp 00000000 03:05 256023 /lib/libcrypt-2.5.so 40166000-40169000 rw-p 00008000 03:05 256023 /lib/libcrypt-2.5.so 40169000-40190000 rw-p 40169000 00:00 0 40190000-40195000 r-xp 00000000 03:45 5226768 /maxtor5/sergei/AppsFromScratchWD/install/libtool-1.5.22/lib/libltdl.so.3.1.4 40195000-40196000 r--p 00004000 03:45 5226768 /maxtor5/sergei/AppsFromScratchWD/install/libtool-1.5.22/lib/libltdl.so.3.1.4 40196000-40197000 rw-p 00005000 03:45 5226768 /maxtor5/sergei/AppsFromScratchWD/install/libtool-1.5.22/lib/libltdl.so.3.1.4 40197000-401bb000 r-xp 00000000 03:05 256027 /lib/libm-2.5.so 401bb000-401bd000 rw-p 00023000 03:05 256027 /lib/libm-2.5.so 401bd000-401bf000 r-xp 00000000 03:05 256025 /lib/libdl-2.5.so 401bf000-401c1000 rw-p 00001000 03:05 256025 /lib/libdl-2.5.so 401c1000-401c2000 rw-p 401c1000 00:00 0 401c2000-401d6000 r-xp 00000000 03:05 256045 /lib/libpthread-2.5.so 401d6000-401d8000 rw-p 00013000 03:05 256045 /lib/libpthread-2.5.so 401d8000-401da000 rw-p 401d8000 00:0 ". -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=229676 ------- Comment #3 from sergstesh@yahoo.com 2007-01-13 05:01 MST ------- Created an attachment (id=112856) --> (https://bugzilla.novell.com/attachment.cgi?id=112856&action=view) tarball of my AppsFromScratch using which I discovered the bug -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=229676 ------- Comment #4 from andreas.hanke@gmx-topmail.de 2007-01-13 05:48 MST ------- Can you try to reduce the testcase? Take the Makefile where make hangs, and delete as much stuff from it as possible so that it still shows the bug. And verify that it's really make's fault. The stacktrace in comment 2 doesn't look related, it's the program you're trying to build and not make which crashes here. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=229676 ------- Comment #5 from sergstesh@yahoo.com 2007-01-13 06:25 MST ------- One should hopefully be able to reproduce the bug this way 1) unpackage the https://bugzilla.novell.com/attachment.cgi?id=112856&action=view tarball; 2) choose a work directory and 'cd' to it 3) assuming the tarball was unpackaged in home directory run ~/AppsFromScratch/20061104/bin/build.pl -make_like -check_with_ldd -targets_to_build autogen 1>build.log 2>&1 & In my case work directory was /maxtor5/sergei/AppsFromScratchWD , correspondingly, the failing 'make' log file was /maxtor5/sergei/AppsFromScratchWD/build/autogen-5.8.7/make.log . .. Taking into account " *** glibc detected *** /maxtor5/sergei/AppsFromScratchWD/build/autogen-5.8.7/agen5/.libs/lt-autogen: corrupted double-linked list: 0x080b0898 *** .. " does it look like a 'make' bug or rather 'make' triggered a bug in 'glibc' ? .. If one want to successfully build 'autogen', he/she should locate in AppsFromScratch/20061104/include/perl/project_specific/default_build_data_sub.prl file this piece of code: autogen => # https://bugzilla.novell.com/show_bug.cgi?id=229676 do{ my $major_ver = '5'; my $minor_ver = '8'; my $micro_ver = '7'; $target_hash_refs{autogen} = { major_ver => $major_ver, minor_ver => $minor_ver, micro_ver => $micro_ver, base_urls => \@_sf_autogen_mirrors, pre_configure_sub => # see https://sourceforge.net/tracker/?func=detail&atid=103593&aid=1591697&group_id=3593 sub { my %this_sub_args = @_; &{$_edit_file_sub} ( $info_marker, $error_marker, $system_wrapper_sub, "$this_sub_args{target_build_dir}/autoopts/test/Makefile.in", sub { my ($line) = @_; $line =~ s/(^.*\s+CPPFLAGS\s*=\s*)\$\(CPPFLAGS\)(.*)/$1'\$\(CPPFLAGS)'$2/; # $1 $2 $line; } ); }, # sub # pre_configure_sub depends_on => { targets => { #make => $target_hash_refs{make}, # https://bugzilla.novell.com/show_bug.cgi?id=229676 guile => $target_hash_refs{guile}, } # targets } # depends_on } # $target_hash_refs{autogen} }, # do # autogen and uncomment the #make => $target_hash_refs{make}, # https://bugzilla.novell.com/show_bug.cgi?id=229676 line - then 'make' v3.80 will be built first and 'autogen' will be built using it. The same applies to Gnome2. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=229676 ------- Comment #6 from sergstesh@yahoo.com 2007-01-13 06:27 MST ------- (In reply to comment #4)
Can you try to reduce the testcase? Take the Makefile where make hangs, and delete as much stuff from it as possible so that it still shows the bug.
And verify that it's really make's fault. The stacktrace in comment 2 doesn't look related, it's the program you're trying to build and not make which crashes here.
Why is it so that if I build 'autogen' with 'make' v. 3.80 nothing of the above happens ? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=229676 mhopf@novell.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution| |WORKSFORME ------- Comment #7 from mhopf@novell.com 2007-01-15 08:54 MST ------- Well, autogen-5.8.7 builds fine here at SUSE, unpatched. Specifically, it's build with %build /configure CFLAGS="$RPM_OPT_FLAGS" --prefix=/usr --libdir=%{_libdir} \ --infodir=%{_infodir} --mandir=%{_mandir} make %install make install DESTDIR=$RPM_BUILD_ROOT However, this bug really looks strange for me. The crash is definitvely not inside make, but inside autogen-5.8.7/agen5/.libs/lt-autogen as indicated in the backtrace, so the only difference must be how make calls the tool. Thus this *could* be a bug in the autogen (build tools?), or even, though doubtful, in glibc, which is only triggered by make 3.81. As this doesn't happen here when building autogen, I can only close this as WORKSFORME. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
participants (1)
-
bugzilla_noreply@novell.com