[development] Seg fault in PHP (FormsAPI)? Can you reproduce?

Tadej Baša tadej.basa at gmail.com
Thu Apr 27 06:52:37 UTC 2006


On XAMPP - Apache + PHP 5.1 only this error occurs when I uncomment the 
faulty line...

Fatal error: Cannot create references to/from string offsets nor 
overloaded objects in D:\htdocs\drupal7\includes\form.inc on line 341

cheers,
tadej

Sammy Spets pravi:
> Hi everyone,
> 
> I've just run into a segfault situation during development of a form 
> element. Basically, all I changed from a working system was add a new 
> form element and accidentally left something off one of the child 
> element definitions. Here is a code snippet you can drop into a module 
> and see if you can reproduce it.
> 
> PHP Version: 4.3.10-16
> System: Debian Sarge
> Kernel: 2.6.8-3-k7
> 
> function maillist_elements() {
>   $type['listadmin'] = array('#input' => TRUE, '#process' => 
> array('expand_listadmin' => array()));
>   return $type;
> }
> 
> function expand_listadmin($element) {
>   $options = array('blah' => 'blah');
>   $element['list'] = array('#type' => 'select', '#options' => $options, 
> '#value' => $element['#value']['list']);
> //  $element['or'] = array('#type' => 'markup', '<span style="padding: 0 
> 20px; text-weight: bold;">OR</span>');
>   $element['or'] = array('#type' => 'markup', '#value' => '<span 
> style="padding: 0 20px; text-weight: bold;">OR</span>');
>   $element['text'] = array('#type' => 'textfield', '#size' => 50, 
> '#maxlength' => 256, '#value' => $element['#value']['text']);
>   $element['#tree'] = TRUE;
>   return $element;
> }
> 
> function theme_listadmin($element) {
>   $output = '<div class="container-inline">' . $element['#children'] . 
> '</div>';
>   return theme('form_element', $element['#title'], $output, 
> $element['#description'], $element['#id'], $element['#required'], 
> form_get_error($element));
> }
> 
> The commented out line is the one that is causing the segfault. The line 
> below is the working line.
> 
> It could be the forms API code ends up in an infinite loop over this 
> little fella and, if so, i'm happy to fix it. Just need someone to 
> reconfirm this happens (especially in another version of PHP).
> 
> Cheers,
> 



More information about the development mailing list