After 3 hours of debugging I was able to track down the problem.....
During an install profile i'm writing, I was calling drupal_execute
and it would just white screen. So I started putting print statements everywhere in my code, then in form.inc to figure out what the problem was. I tracked it down to where form.inc starts calling form_alter for modules that implemented it:
foreach (module_implements('form_alter') as $module) {
//print 'module is: ' . $module . '<br>';
$function = $module .'_form_alter';
$function($form_id, $form);
}
if i uncommented that print statement I would see all the modules print out as their form_alter is called. They also happened to be in alphabetical order, but I noticed views modules form_alter wasn't being called and the last one being called was util. So i poked around util and found that it did some funky form_alter stuff. I deleted util module and everything worked as I expected.
I think an 'if' statement just needs to be thrown in somewhere to check to see if this form is #programmed == TRUE.
If you need more information, let me know
-Steve
| Comment | File | Size | Author |
|---|---|---|---|
| #4 | util.execute.patch | 898 bytes | sun |
| #3 | util_2.patch | 946 bytes | litwol |
Comments
Comment #1
litwol commentedfixed with dmitrig01's guidance
Comment #2
litwol commentedforgot the /fixed/ status.
Comment #3
litwol commentedadds the mentioned check. i dont have the proper setup nor experience to duplicate the error so some one else should.
however, the patch has been commited to the dev version
Comment #4
sunRe-rolled patch, which had not been committed. However, this does not work out, because
$form['#programmed']is also FALSE on normal view of admin/build/modules.Comment #5
sunComment #6
litwol commentedd5 branch is not supported anymore