Skip to content

Fibers appear to be broken on FreeBSD i386 #9566

Closed
@arnaud-lb

Description

@arnaud-lb

Description

Not sure that this is a supported platform, but fibers appear to be broken on FreeBSD i386.

The following code:

<?php

$fiber = new Fiber(function() {
});

$fiber->start();

Resulted in this output:

Segmentation fault (core dumped)

But I expected this output instead:

gdb:

gdb --args sapi/cli/php test.php
(gdb) r
Starting program: sapi/cli/php test.php

Program received signal SIGSEGV, Segmentation fault.
Address not mapped to object.
jump_fcontext () at Zend/asm/jump_i386_sysv_elf_gas.S:60
60	    movl  %ecx, (%eax)
(gdb) list
55	    movl  %eax, %esp
56	
57	    /* address of returned transport_t */
58	    movl 0x1c(%esp), %eax
59	    /* return parent fcontext_t */
60	    movl  %ecx, (%eax)
61	    /* return data */
62	    movl %edx, 0x4(%eax)
63	
64	    movl  0x18(%esp), %ecx  /* restore EIP */
(gdb) bt
#0  jump_fcontext () at Zend/asm/jump_i386_sysv_elf_gas.S:60
#1  0x21059000 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

PHP Version

master 17b0e49

Operating System

FreeBSD 13.0 i386

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions