Uploaded image for project: 'FreePBX'
  1. FreePBX
  2. FREEPBX-19926

PHP max exec timeout in [...]/dashboard/classes/Netmon.class.php if Dashboard left open for a too long

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Minor
    • Resolution: Won't Do
    • Affects Version/s: 14
    • Fix Version/s: None
    • Component/s: System Dashboard
    • Labels:
      None
    • ToDo:
    • Asterisk Version:
      13.22.0
    • Distro Version:
      12.7.6-1904-1.sng7
    • Distro:
      FreePBX Distro

      Description

      core 14.0.25.4
      dashboard 14.0.6.2
      framework 14.0.11

      If you leave the Dashboard page up for hours at a time (Chrome Browser, not that it should matter), eventually the dreaded PHP max exec timeout happens in Dashboard's Netmon, completely locking up the GUI (including UCP). It takes pkill-ing all httpd processes and restarting the service to get the GUI back. Even with full apache debug, the only message generated indicating any issue is:

      
      PHP Fatal error: Maximum execution time of 30 seconds exceeded in /var/www/html/admin/modules/dashboard/classes/Netmon.class.php on line 22, referer: http://###.###.###.##/admin/config.php?display=index
      

      Otherwise, surrounding messages look clean:

      
      [Mon May 06 00:39:26.339643 2019] [authz_core:debug] [pid 3037] mod_authz_core.c(809): [client ##.##.###.###:53120] AH01626: authorization result of Require all granted: granted
      [Mon May 06 00:39:26.339650 2019] [authz_core:debug] [pid 3037] mod_authz_core.c(809): [client ##.##.###.###:53120] AH01626: authorization result of <RequireAny>: granted
      [Mon May 06 00:39:26.339688 2019] [authz_core:debug] [pid 3037] mod_authz_core.c(809): [client ##.##.###.###:53120] AH01626: authorization result of Require all granted: granted
      [Mon May 06 00:39:26.339695 2019] [authz_core:debug] [pid 3037] mod_authz_core.c(809): [client ##.##.###.###:53120] AH01626: authorization result of <RequireAny>: granted
      [Mon May 06 00:40:26.808132 2019] [authz_core:debug] [pid 3034] mod_authz_core.c(809): [client ###.###.##.###:60215] AH01626: authorization result of Require all granted: granted, referer: http://###.###.###.##/admin/config.php?display=index
      [Mon May 06 00:40:26.808200 2019] [authz_core:debug] [pid 3034] mod_authz_core.c(809): [client ###.###.##.###:60215] AH01626: authorization result of <RequireAny>: granted, referer: http://###.###.###.##/admin/config.php?display=index
      [Mon May 06 00:42:38.807330 2019] [authz_core:debug] [pid 3035] mod_authz_core.c(809): [client ###.###.##.###:61124] AH01626: authorization result of Require all granted: granted, referer: http://###.###.###.##/admin/config.php?display=index
      [Mon May 06 00:42:38.807397 2019] [authz_core:debug] [pid 3035] mod_authz_core.c(809): [client ###.###.##.###:61124] AH01626: authorization result of <RequireAny>: granted, referer: http://###.###.###.##/admin/config.php?display=index
      [Mon May 06 00:44:49.808198 2019] [authz_core:debug] [pid 4385] mod_authz_core.c(809): [client ###.###.##.###:62197] AH01626: authorization result of Require all granted: granted, referer: http://###.###.###.##/admin/config.php?display=index
      [Mon May 06 00:44:49.808266 2019] [authz_core:debug] [pid 4385] mod_authz_core.c(809): [client ###.###.##.###:62197] AH01626: authorization result of <RequireAny>: granted, referer: http://###.###.###.##/admin/config.php?display=index
      [Mon May 06 00:47:04.807612 2019] [authz_core:debug] [pid 7512] mod_authz_core.c(809): [client ###.###.##.###:63369] AH01626: authorization result of Require all granted: granted, referer: http://###.###.###.##/admin/config.php?display=index
      [Mon May 06 00:47:04.807674 2019] [authz_core:debug] [pid 7512] mod_authz_core.c(809): [client ###.###.##.###:63369] AH01626: authorization result of <RequireAny>: granted, referer: http://###.###.###.##/admin/config.php?display=index
      [Mon May 06 00:48:07.475330 2019] [:error] [pid 3036] [client ###.###.##.###:61187] PHP Fatal error:  Maximum execution time of 30 seconds exceeded in /var/www/html/admin/modules/dashboard/classes/Netmon.class.php on line 22, referer: http://###.###.###.##/admin/config.php?display=index
      [Mon May 06 00:48:08.525487 2019] [authz_core:debug] [pid 3036] mod_authz_core.c(809): [client ###.###.##.###:61187] AH01626: authorization result of Require all granted: granted, referer: http://###.###.###.##/admin/config.php?display=index
      [Mon May 06 00:48:08.525525 2019] [authz_core:debug] [pid 3036] mod_authz_core.c(809): [client ###.###.##.###:61187] AH01626: authorization result of <RequireAny>: granted, referer: http://###.###.###.##/admin/config.php?display=index
      [Mon May 06 00:49:16.809639 2019] [authz_core:debug] [pid 7515] mod_authz_core.c(809): [client ###.###.##.###:64194] AH01626: authorization result of Require all granted: granted, referer: http://###.###.###.##/admin/config.php?display=index
      [Mon May 06 00:49:16.809708 2019] [authz_core:debug] [pid 7515] mod_authz_core.c(809): [client ###.###.##.###:64194] AH01626: authorization result of <RequireAny>: granted, referer: http://###.###.###.##/admin/config.php?display=index
      [Mon May 06 00:51:48.809707 2019] [authz_core:debug] [pid 7517] mod_authz_core.c(809): [client ###.###.##.###:65378] AH01626: authorization result of Require all granted: granted, referer: http://###.###.###.##/admin/config.php?display=index
      [Mon May 06 00:51:48.809769 2019] [authz_core:debug] [pid 7517] mod_authz_core.c(809): [client ###.###.##.###:65378] AH01626: authorization result of <RequireAny>: granted, referer: http://###.###.###.##/admin/config.php?display=index
      [Mon May 06 00:54:00.810726 2019] [authz_core:debug] [pid 7516] mod_authz_core.c(809): [client ###.###.##.###:50024] AH01626: authorization result of Require all granted: granted, referer: http://###.###.###.##/admin/config.php?display=index
      

      I have ensured all modules are up to date as of this submission and have freshly rebooted the server. I have reliably "allowed it" to happen 3 times now over the course of about 12 hours...so it only takes about 4 hours of the Dashboard page sitting idle before it happens.

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                TheWebMachine TheWebMachine
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  NextupJiraPlusStatus

                  Error rendering 'slack.nextup.jira:nextup-jira-plus-status'. Please contact your Jira administrators.