[gstreamer-bugs] [Bug 322441] New: getcontext() in common/m4/gst-mcsc.m4 uses incorrect stack size, wrong # argc arguments to makecontext()

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Fri Nov 25 07:16:11 PST 2005


Do not reply to this via email (we are currently unable to handle email
responses and they get discarded).  You can add comments to this bug at
http://bugzilla.gnome.org/show_bug.cgi?id=322441
 GStreamer | gstreamer (core) | Ver: 0.8.11

           Summary: getcontext() in common/m4/gst-mcsc.m4 uses incorrect
                    stack size, wrong # argc arguments to makecontext()
           Product: GStreamer
           Version: 0.8.11
          Platform: Other
        OS/Version: HP-UX
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gstreamer (core)
        AssignedTo: gstreamer-bugs at lists.sourceforge.net
        ReportedBy: bugzilla-gnome at thewrittenword.com
         QAContact: gstreamer-bugs at lists.sourceforge.net
                CC: all-bugs at bugzilla.gnome.org


Version details: 0.8.11
Distribution/Version: 11.23/IA-64

The AC_CHECK_MCSC test in common/m4/gst-mcsc.m4 loops forevery on
ia64-hp-hpux11.23 because the stack size is incorrect. According to
sigaltstack(2) on this platform:

      The value SIGSTKSZ is a system default specifying the number of bytes
      that would be used to cover the usual case when manually allocating an
      alternate stack area. The value MINSIGSTKSZ is defined to be the
      minimum stack size for a signal handler.  In computing an alternate
      stack size, a program should add that amount to its stack requirements
      to allow for the system implementation overhead.

      ...

      The following code fragment illustrates a method for allocating memory
      for an alternate stack:

           if ((sigstk.ss_sp = malloc(SIGSTKSZ)) == NULL)
                /* error return */
           sigstk.ss_size = SIGSTKSZ;
           sigstk.ss_flags = 0;
           if (sigaltstack(&sigstk,(stack_t *)0) < 0)
                perror("sigaltstack");

SIGSTKSZ is defined to 262144 on this platform.

Also, the 3rd arg of makecontext is the number of arguments to the function
defined in the 2nd argument. As child() takes 1 argument, the 3rd arg should be
1, not 2.

Does the common/m4/gst-mcsc.m4 change require any source code changes in gstreamer?

------- You are receiving this mail because: -------
You are the assignee for the bug.
You are the QA contact for the bug.




More information about the Gstreamer-bugs mailing list