[dev.icinga.com #2248] PHP Error mkdir() Uncaught AppKitPHPError #649

Closed
icinga-migration opened this Issue Jan 4, 2012 · 7 comments

Projects

None yet

1 participant

@icinga-migration
Member

This issue has been migrated from Redmine: https://dev.icinga.com/issues/2248

Created by mopp on 2012-01-04 20:01:13 +00:00

Assignee: mhein
Status: Resolved (closed on 2012-01-31 09:40:56 +00:00)
Target Version: 1.6.2
Last Update: 2014-08-30 08:04:49 +00:00 (in Redmine)

Icinga Version: 1.0.0
Icinga Web Version: 1.0.0
IDO Version: 1.0.0
OS Version: ---
DB Type: UNKNOWN
DB Version: ---
Browser Version: ---

Icinga Web 1.6.1
Icinga Reports 1.6.0 tried to mkdir /usr/share/icinga-web/app/modules/Reporting/data/tmp. Unfortunately the directory had no write permissions.

I got the following error:
[fatal] Uncaught AppKitPHPError: PHP Error mkdir(): Permission denied (/usr/share/icinga-web/app/modules/Reporting/models/ReportUserFileModel.class.php:61) (/usr/share/icinga-web/app/modules/AppKit/lib/logging/AppKitExceptionHandler.class.php:37)

The "mkdir($this->__dir);" caused the error. If mkdir fails the program interrupts without an useful error message.

Changesets

2012-01-31 09:39:56 +00:00 by mhein becb8fe

* Fixed error handling reporting module (fixes #2248, ref #2277)

2012-01-31 12:31:03 +00:00 by mhein ca46fab

* Fixed error handling reporting module (fixes #2248, ref #2277)

Conflicts:

	Makefile.in
	app/modules/Reporting/config/cronks.xml
@icinga-migration
Member

Updated by mhein on 2012-01-20 10:51:05 +00:00

  • Assigned to set to mhein
  • Target Version changed from 1.6.2 to 1.7
@icinga-migration
Member

Updated by mhein on 2012-01-30 16:50:07 +00:00

  • Status changed from New to Feedback

I tested and tried to reproduce:

$ tail app/Makefile.in | grep data
    -and ! -path "*Reporting/data*"`; \
    $(INSTALL) -m 755 $(INSTALL_OPTS_WEB) -d $(DESTDIR)$(prefix)/app/data/tmp
    $(INSTALL) -m 755 $(INSTALL_OPTS_WEB) -d $(DESTDIR)$(prefix)/app/modules/Reporting/data

The r1.6 and current master sets the web server user as owner for the reporting temp directories.

Are there any errors for your install?

Otherwise I would close that bug.

Kind regards,
Marius.

@icinga-migration
Member

Updated by mopp on 2012-01-30 20:52:29 +00:00

Sorry for the missunderstanding, the error is not related to the "make install".

The intention of the bug report was to report an error in the error handling of the php script.
The following code from ReportUserFileModel.class.php should catch problems with the "mkdir($this->__dir);", but unfortunately it doesn't work.
To test it do the following: Remove tmp in app/modules/Reporting/data and modify the permissions of app/modules/Reporting/ to prohibit write access. You will get the error message I mentioned.
If the code below would have worked a message like "Could not create dir: /usr/share/icinga-web/app/modules/Reporting/data/tmp" should have be shown instead of the "Uncaught AppKitPHPError: PHP Error mkdir(): Permission denied"

$this->__dir = AgaviConfig::get('modules.reporting.dir.download');

if (!is_dir($this->__dir)) {
    mkdir($this->__dir);
}

if (!is_dir($this->__dir)) {
    throw new AppKitModelException('Could not create dir: '. $this->__dir);
} else {
    $this->fileGarbageCollector();
}
@icinga-migration
Member

Updated by mhein on 2012-01-31 09:40:56 +00:00

  • Status changed from Feedback to Resolved
  • Done % changed from 0 to 100

Applied in changeset becb8fe.

@icinga-migration
Member

Updated by mhein on 2012-02-14 16:40:40 +00:00

  • Target Version changed from 1.7 to 1.6.2
@icinga-migration
Member

Updated by mfriedrich on 2012-12-17 19:38:50 +00:00

  • Project changed from Web to 29
@icinga-migration
Member

Updated by mfriedrich on 2014-08-30 08:04:49 +00:00

  • Project changed from 29 to Web
  • Category set to Reporting
  • Icinga Version set to 1
  • Icinga Web Version set to 1
  • IDO Version set to 1
  • OS Version set to ---
  • DB Type set to UNKNOWN
  • DB Version set to ---
  • Browser Version set to ---
@icinga-migration icinga-migration added this to the 1.6.2 milestone Jan 17, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment