Repro plan:

  • Extract breakpoints, jquery_update and navbar to file system.
  • All modules are disabled
  • Enable navbar (all others should be enabled as they are required)
  • Crash Warning: Invalid argument supplied for foreach() in element_children() (line 6370 of includes\common.inc).

Workaround:

  • Extract breakpoints, jquery_update and navbar to file system.
  • Enable breakpoints, jquery_update
  • Enable navbar

Comments

jessebeach’s picture

Status: Active » Postponed (maintainer needs more info)

I added module_exists() calls around the two calls to breakpoints functions in the navbar.install file. That'll at least prevent fatal errors.

Committed to 7.x-1.x (055eb10aca854f870675a8ace0d6e59eba7f8ab9).

The workaround you mention in the issue description seems like a valid enabling path. Can you explain in a little more details what went wrong in your first STR list? Were you using Drush or enabling the modules through the Modules page UI?

hass’s picture

How are the breakpoints settings now installed? The code you commited will not really help here and than the breakpoints are not installed what may cause more troubles than today.

Normally core should enable all modules a module depend on automaticall. I have not debugged why this is not working here or causing this issues. I just files this issue with the facts. Core should enable the dependencies first and than the module itself. This looks more like a core bug than.

jessebeach’s picture

Issue summary: View changes
Status: Postponed (maintainer needs more info) » Needs review
Issue tags: +rc-blocker
jessebeach’s picture

The code you commited will not really help here and than the breakpoints are not installed what may cause more troubles than today.

Agreed, it will just end up masking a problem rather than solving it.

I'm removing the if and testing a standard install.

jessebeach’s picture

Status: Needs review » Fixed

Ok, Navbar no longer has a dependency on jquery_update. I've remove the if condition around the breakpoint creation in navbar_install.

if (module_exists('breakpoints')) {
...
}

and breakpoints is declared as a dependency

dependencies[] = breakpoints

The Navbar module seems to be enabling and disabling without any problem.

I'm going to close this ticket barring any further evidence of error.

Addressed in 5db99b0f53f6db7265d75985fa2e8142bd76a559.

hass’s picture

Sound good.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.