Re: Problem with s390x koji builder

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

 



* Juan Orti Alcaine:

> I also got the same error:
>
> https://koji.fedoraproject.org/koji/taskinfo?taskID=60083125

I can reproduce it locally.  It's a crash in rpmbuild:

Thread 1 "rpmbuild" received signal SIGSEGV, Segmentation fault.
0x000003fffde89e60 in packageBinaries._omp_fn.0 () at pack.c:780
780             if (rc)
(gdb) bt
#0  0x000003fffde89e60 in packageBinaries._omp_fn.0 () at pack.c:780
#1  0x000003fffca94806 in GOMP_parallel (
    fn=0x3fffde89d80 <packageBinaries._omp_fn.0>, data=0x3fffffff478, 
    num_threads=2, flags=<optimized out>) at ../../../libgomp/parallel.c:178
#2  0x000003fffde953fa in packageBinaries (cheating=0, cookie=0x0, 
    spec=0x2aa00065570) at pack.c:765
#3  buildSpec (ts=<optimized out>, buildArgs=<optimized out>, 
    spec=0x2aa00065570, what=<optimized out>) at build.c:411
#4  0x000003fffde98074 in rpmSpecBuild (ts=<optimized out>, 
    spec=<optimized out>, buildArgs=<optimized out>) at build.c:452
#5  0x000002aa00003e74 in buildForTarget (ts=0x2aa00069a80, 
    arg=<optimized out>, ba=0x2aa00007990 <rpmBTArgs>) at rpmbuild.c:500
#6  0x000002aa0000409a in build (ts=0x2aa00069a80, 
    arg=0x3fffffffe3a "/builddir/build/SPECS/compsize.spec", rcfile=0x0, 
    ba=0x2aa00007990 <rpmBTArgs>) at rpmbuild.c:552
#7  0x000002aa00002f84 in main (argc=<optimized out>, argv=<optimized out>)
    at rpmbuild.c:690
(gdb) print rc
No symbol "rc" in current context.

As you can see, something is broken with debugging information.


(gdb) disassemble 
Dump of assembler code for function packageBinaries._omp_fn.0:
   0x000003fffde89d80 <+0>:     stmg    %r6,%r15,48(%r15)
   0x000003fffde89d86 <+6>:     ear     %r1,%a0
   0x000003fffde89d8a <+10>:    lgr     %r14,%r15
   0x000003fffde89d8e <+14>:    lay     %r15,-280(%r15)
   0x000003fffde89d94 <+20>:    aghi    %r14,-24
   0x000003fffde89d98 <+24>:    std     %f8,0(%r14)
   0x000003fffde89d9c <+28>:    std     %f10,8(%r14)
   0x000003fffde89da0 <+32>:    std     %f14,16(%r14)
   0x000003fffde89da4 <+36>:    sllg    %r1,%r1,32
   0x000003fffde89daa <+42>:    ear     %r1,%a1
   0x000003fffde89dae <+46>:    l       %r11,32(%r2)
   0x000003fffde89db2 <+50>:    stg     %r1,200(%r15)
   0x000003fffde89db8 <+56>:    lg      %r10,16(%r2)
   0x000003fffde89dbe <+62>:    l       %r13,24(%r2)
   0x000003fffde89dc2 <+66>:    mvc     248(8,%r15),40(%r1)
   0x000003fffde89dc8 <+72>:    ld      %f8,8(%r2)
   0x000003fffde89dcc <+76>:    ld      %f10,0(%r2)
   0x000003fffde89dd0 <+80>:    lgr     %r8,%r2
   0x000003fffde89dd4 <+84>:    brasl   %r14,0x3fffde87530 <GOMP_single_start@plt>
   0x000003fffde89dda <+90>:    cije    %r2,0,0x3fffde89e76 <packageBinaries._omp_fn.0+246>
   0x000003fffde89de0 <+96>:    cijnh   %r11,0,0x3fffde89e76 <packageBinaries._omp_fn.0+246>
   0x000003fffde89de6 <+102>:   stg     %r8,192(%r15)
   0x000003fffde89dec <+108>:   la      %r7,208(%r15)
   0x000003fffde89df0 <+112>:   la      %r1,28(%r8)
   0x000003fffde89df4 <+116>:   lgr     %r8,%r7
   0x000003fffde89df8 <+120>:   lgdr    %r7,%f8
   0x000003fffde89dfc <+124>:   ldgr    %f14,%r1
   0x000003fffde89e00 <+128>:   lhi     %r9,0
   0x000003fffde89e04 <+132>:   lg      %r1,0(%r10)
   0x000003fffde89e0a <+138>:   std     %f10,208(%r15)
   0x000003fffde89e0e <+142>:   std     %f14,224(%r15)
   0x000003fffde89e12 <+146>:   stg     %r1,232(%r15)
   0x000003fffde89e18 <+152>:   st      %r13,240(%r15)
   0x000003fffde89e1c <+156>:   stg     %r7,216(%r15)
   0x000003fffde89e22 <+162>:   lgfr    %r1,%r9
   0x000003fffde89e26 <+166>:   stg     %r1,184(%r15)
   0x000003fffde89e2c <+172>:   mvghi   176(%r15),0
   0x000003fffde89e32 <+178>:   mvghi   168(%r15),17
   0x000003fffde89e38 <+184>:   mvghi   160(%r15),1
   0x000003fffde89e3e <+190>:   lgr     %r3,%r8
   0x000003fffde89e42 <+194>:   lghi    %r6,8
   0x000003fffde89e46 <+198>:   lghi    %r5,40
   0x000003fffde89e4a <+202>:   lghi    %r4,0
   0x000003fffde89e4e <+206>:   larl    %r2,0x3fffde910c0 <packageBinaries._omp_fn.1>
   0x000003fffde89e54 <+212>:   brasl   %r14,0x3fffde87c70 <GOMP_task@plt>
   0x000003fffde89e5a <+218>:   lg      %r1,192(%r15)
=> 0x000003fffde89e60 <+224>:   lt      %r1,28(%r1)
   0x000003fffde89e66 <+230>:   jne     0x3fffde89e76 <packageBinaries._omp_fn.0+246>
   0x000003fffde89e6a <+234>:   ahi     %r9,1
   0x000003fffde89e6e <+238>:   aghi    %r10,8
   0x000003fffde89e72 <+242>:   brct    %r11,0x3fffde89e04 <packageBinaries._omp_fn.0+132>
   0x000003fffde89e76 <+246>:   lg      %r1,200(%r15)
   0x000003fffde89e7c <+252>:   clc     248(8,%r15),40(%r1)
   0x000003fffde89e82 <+258>:   jne     0x3fffde89e9e <packageBinaries._omp_fn.0+286>
   0x000003fffde89e86 <+262>:   ld      %f8,256(%r15)
   0x000003fffde89e8a <+266>:   ld      %f10,264(%r15)
   0x000003fffde89e8e <+270>:   ld      %f14,272(%r15)
   0x000003fffde89e92 <+274>:   lmg     %r6,%r15,328(%r15)
   0x000003fffde89e98 <+280>:   jg      0x3fffde895f0 <GOMP_barrier@plt>
   0x000003fffde89e9e <+286>:   brasl   %r14,0x3fffde88810 <__stack_chk_fail@plt>
(gdb) print/x $r1
$1 = 0x0

So it's a null pointer dereference.


745      * (largest first) to help achieve an optimal load distribution.
746      */
747     rpmRC packageBinaries(rpmSpec spec, const char *cookie, int cheating)
748     {
749         rpmRC rc = RPMRC_OK;
750         Package pkg;
751         Package *tasks;
752         int npkgs = 0;
753
754         for (pkg = spec->packages; pkg != NULL; pkg = pkg->next)
755             npkgs++;
756         tasks = xcalloc(npkgs, sizeof(Package));
757
758         pkg = spec->packages;
759         for (int i = 0; i < npkgs; i++) {
760             tasks[i] = pkg;
761             pkg = pkg->next;
762         }
763         qsort(tasks, npkgs, sizeof(Package), compareBinaries);
764
765         #pragma omp parallel
766         #pragma omp single
767         for (int i = 0; i < npkgs; i++) {
768             Package pkg = tasks[i];
769             #pragma omp task untied priority(i)
770             {
771             pkg->rc = packageBinary(spec, pkg, cookie, cheating, &pkg->filename);
772             rpmlog(RPMLOG_DEBUG,
773                     _("Finished binary package job, result %d, filename %s\n"),
774                     pkg->rc, pkg->filename);
775             if (pkg->rc) {
776                 #pragma omp critical
777                 rc = pkg->rc;
778             }
779             } /* omp task */
780             if (rc)
781                 break;
782         }
783
784         /* Now check the package set if enabled */
785         if (rc == RPMRC_OK)
786             rc = checkPackageSet(spec->packages);
787
788         free(tasks);
789
790         return rc;
791     }

I don't know anything about OpenMP, so I can't tell if this is a source
code issue or a GCC bug.

Thanks,
Florian
-- 
Red Hat GmbH, https://de.redhat.com/ , Registered seat: Grasbrunn,
Commercial register: Amtsgericht Muenchen, HRB 153243,
Managing Directors: Charles Cachera, Brian Klemm, Laurie Krebs, Michael O'Neill
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux