ports/60508: Wine failes at runtime due to the new rfork semantics

David Beck dbeck at beckground.hu
Mon Dec 22 14:20:19 UTC 2003


>Number:         60508
>Category:       ports
>Synopsis:       Wine failes at runtime due to the new rfork semantics
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Dec 22 06:20:14 PST 2003
>Closed-Date:
>Last-Modified:
>Originator:     David Beck
>Release:        5.1
>Organization:
>Environment:
FreeBSD nb2.beckground.hu 5.1-RELEASE-p2 FreeBSD 5.1-RELEASE-p2 #1: Mon Aug 25 15:23:06 CEST 2003     dbeck at nb2.beckground.hu:/usr2/obj/usr2/src/sys/k5.1c  i386
>Description:
The new rfork semantics require that the RFTHREAD flag given with RFPROC and RFMEM. This syscall fails otherwise, which causes several timeout and "thread" creation problems in wine during runtime. This may not be a problem on 4.x but definitely is on 5.x.
>How-To-Repeat:
I tried to install and run Microsoft VSS 6.0, and that didn't work. Then I started debugging.... 
>Fix:
*** ./work/wine-20031118/loader/kthread.c.old   Mon Dec 22 15:10:02 2003
--- ./work/wine-20031118/loader/kthread.c       Mon Dec 22 15:11:11 2003
*************** int wine_pthread_create_thread( struct w
*** 300,306 ****
              "ret;\n"
              "1:\n\t"                    /* parent -> caller thread */
              "addl $8,%%esp" :
!             : "r" (sp), "g" (SYS_rfork), "g" (RFPROC | RFMEM)
              : "eax", "edx");
          return 0;
      }
--- 300,306 ----
              "ret;\n"
              "1:\n\t"                    /* parent -> caller thread */
              "addl $8,%%esp" :
!                       : "r" (sp), "g" (SYS_rfork), "g" (RFPROC | RFMEM | RFTHREAD)
              : "eax", "edx");
          return 0;
      }

>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list