Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

sh coredump



On a box running yesterday's -current/amd64, sh dumps core at the install
stage of building gobject-introspection. The pbulk install.log shows

 build-aux/install-sh -c -d '/tmp/pkgsrc/devel/gobject-introspection/work/.destdir/usr/pkg/lib/gobject-introspection'
[1]   Done                    for p in ${list}... |
      Done                    sed "s| ${srcdir... |
      Done                    /usr/bin/awk "BE... |
      Segmentation fault (core dumped) while read dir f...
gmake[3]: *** [Makefile:2960: install-nobase_dist_templateDATA] Error 139

I can reproduce it within the sandbox, and:

Core was generated by `sh'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007139c64b9795 in ?? () from /lib/libc.so.12
(gdb) bt
#0  0x00007139c64b9795 in ?? () from /lib/libc.so.12
#1  0x00007139c64bae5b in free () from /lib/libc.so.12
#2  0x000000011a014a14 in popstackmark ()
#3  0x000000011a008462 in evaltree ()
#4  0x000000011a008867 in evalloop ()
#5  0x000000011a008409 in evaltree ()
#6  0x000000011a008108 in evalpipe ()
#7  0x000000011a008537 in evaltree ()
#8  0x000000011a0086dc in evalstring ()
#9  0x000000011a020ef9 in main ()

The occurence of "while read dir" is in this bit of Makefile:

install-nobase_dist_templateDATA: $(nobase_dist_template_DATA)
        @$(NORMAL_INSTALL)
        @list='$(nobase_dist_template_DATA)'; test -n "$(templatedir)" || list=; \
        if test -n "$$list"; then \
          echo " $(MKDIR_P) '$(DESTDIR)$(templatedir)'"; \
          $(MKDIR_P) "$(DESTDIR)$(templatedir)" || exit 1; \
        fi; \
        $(am__nobase_list) | while read dir files; do \
          xfiles=; for file in $$files; do \
            if test -f "$$file"; then xfiles="$$xfiles $$file"; \
            else xfiles="$$xfiles $(srcdir)/$$file"; fi; done; \
          test -z "$$xfiles" || { \
            test "x$$dir" = x. || { \
              echo " $(MKDIR_P) '$(DESTDIR)$(templatedir)/$$dir'"; \
              $(MKDIR_P) "$(DESTDIR)$(templatedir)/$$dir"; }; \
            echo " $(INSTALL_DATA) $$xfiles '$(DESTDIR)$(templatedir)/$$dir'"; \
            $(INSTALL_DATA) $$xfiles "$(DESTDIR)$(templatedir)/$$dir" || exit $$?; }; \
        done

Thing is: I successfully ran "make replace" (no pbulk sandboxes involved)
on another few-days-old current/amd64, and both have

RMD160 (/bin/sh) = 8b3a2315655d25ce84e1b741f8b3b29491e83b06
RMD160 (/lib/libc.so.12.211) = 7fdde49bfe03a016e45d69e3478c842988da400d

So I have a reprocible core dump on one, which I can't reproduce on another.

Thoughts?

Cheers,

Patrick


Home | Main Index | Thread Index | Old Index