Whoops! There was an error.
UnexpectedValueException
The stream or file "/web/wordpress/lppi-old/wp-content/themes/latino/storage/logs/acorn.log" could not be opened in append mode: failed to open stream: Permission denied UnexpectedValueException thrown with message "The stream or file "/web/wordpress/lppi-old/wp-content/themes/latino/storage/logs/acorn.log" could not be opened in append mode: failed to open stream: Permission denied" Stacktrace: #9 UnexpectedValueException in /web/wordpress/lppi-old/wp-content/themes/latino/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:111 #8 Monolog\Handler\StreamHandler:write in /web/wordpress/lppi-old/wp-content/themes/latino/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php:42 #7 Monolog\Handler\AbstractProcessingHandler:handle in /web/wordpress/lppi-old/wp-content/themes/latino/vendor/monolog/monolog/src/Monolog/Logger.php:317 #6 Monolog\Logger:addRecord in /web/wordpress/lppi-old/wp-content/themes/latino/vendor/monolog/monolog/src/Monolog/Logger.php:539 #5 Monolog\Logger:error in /web/wordpress/lppi-old/wp-content/themes/latino/vendor/illuminate/log/Logger.php:174 #4 Illuminate\Log\Logger:writeLog in /web/wordpress/lppi-old/wp-content/themes/latino/vendor/illuminate/log/Logger.php:87 #3 Illuminate\Log\Logger:error in /web/wordpress/lppi-old/wp-content/themes/latino/vendor/illuminate/log/LogManager.php:551 #2 Illuminate\Log\LogManager:error in /web/wordpress/lppi-old/wp-content/themes/latino/vendor/roots/acorn/src/Illuminate/Foundation/Exceptions/Handler.php:241 #1 Illuminate\Foundation\Exceptions\Handler:report in /web/wordpress/lppi-old/wp-content/themes/latino/vendor/roots/acorn/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php:88 #0 Illuminate\Foundation\Bootstrap\HandleExceptions:handleException in [internal]:0
9
UnexpectedValueException
/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php111
8
Monolog\Handler\StreamHandler write
/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php42
7
Monolog\Handler\AbstractProcessingHandler handle
/vendor/monolog/monolog/src/Monolog/Logger.php317
6
Monolog\Logger addRecord
/vendor/monolog/monolog/src/Monolog/Logger.php539
5
Monolog\Logger error
/vendor/illuminate/log/Logger.php174
4
Illuminate\Log\Logger writeLog
/vendor/illuminate/log/Logger.php87
3
Illuminate\Log\Logger error
/vendor/illuminate/log/LogManager.php551
2
Illuminate\Log\LogManager error
/vendor/roots/acorn/src/Illuminate/Foundation/Exceptions/Handler.php241
1
Illuminate\Foundation\Exceptions\Handler report
/vendor/roots/acorn/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php88
0
Illuminate\Foundation\Bootstrap\HandleExceptions handleException
[internal]0
/web/wordpress/lppi-old/wp-content/themes/latino/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php
     * {@inheritdoc}
     */
    protected function write(array $record): void
    {
        if (!is_resource($this->stream)) {
            if (null === $this->url || '' === $this->url) {
                throw new \LogicException('Missing stream url, the stream can not be opened. This may be caused by a premature call to close().');
            }
            $this->createDir();
            $this->errorMessage = null;
            set_error_handler([$this, 'customErrorHandler']);
            $this->stream = fopen($this->url, 'a');
            if ($this->filePermission !== null) {
                @chmod($this->url, $this->filePermission);
            }
            restore_error_handler();
            if (!is_resource($this->stream)) {
                $this->stream = null;
 
                throw new \UnexpectedValueException(sprintf('The stream or file "%s" could not be opened in append mode: '.$this->errorMessage, $this->url));
            }
        }
 
        if ($this->useLocking) {
            // ignoring errors here, there's not much we can do about them
            flock($this->stream, LOCK_EX);
        }
 
        $this->streamWrite($this->stream, $record);
 
        if ($this->useLocking) {
            flock($this->stream, LOCK_UN);
        }
    }
 
    /**
     * Write to stream
     * @param resource $stream
     * @param array    $record
     */
Arguments
  1. "The stream or file "/web/wordpress/lppi-old/wp-content/themes/latino/storage/logs/acorn.log" could not be opened in append mode: failed to open stream: Permission denied"
    
/web/wordpress/lppi-old/wp-content/themes/latino/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php
{
    use ProcessableHandlerTrait;
    use FormattableHandlerTrait;
 
    /**
     * {@inheritdoc}
     */
    public function handle(array $record): bool
    {
        if (!$this->isHandling($record)) {
            return false;
        }
 
        if ($this->processors) {
            $record = $this->processRecord($record);
        }
 
        $record['formatted'] = $this->getFormatter()->format($record);
 
        $this->write($record);
 
        return false === $this->bubble;
    }
 
    /**
     * Writes the record down to the log of the implementing handler
     */
    abstract protected function write(array $record): void;
 
    public function reset()
    {
        parent::reset();
 
        $this->resetProcessors();
    }
}
 
/web/wordpress/lppi-old/wp-content/themes/latino/vendor/monolog/monolog/src/Monolog/Logger.php
                    'level_name' => $levelName,
                    'channel' => $this->name,
                    'datetime' => new DateTimeImmutable($this->microsecondTimestamps, $this->timezone),
                    'extra' => [],
                ];
 
                try {
                    foreach ($this->processors as $processor) {
                        $record = $processor($record);
                    }
                } catch (Throwable $e) {
                    $this->handleException($e, $record);
 
                    return true;
                }
            }
 
            // once the record exists, send it to all handlers as long as the bubbling chain is not interrupted
            try {
                if (true === $handler->handle($record)) {
                    break;
                }
            } catch (Throwable $e) {
                $this->handleException($e, $record);
 
                return true;
            }
        }
 
        return null !== $record;
    }
 
    /**
     * Ends a log cycle and frees all resources used by handlers.
     *
     * Closing a Handler means flushing all buffers and freeing any open resources/handles.
     * Handlers that have been closed should be able to accept log records again and re-open
     * themselves on demand, but this may not always be possible depending on implementation.
     *
     * This is useful at the end of a request and will be called automatically on every handler
/web/wordpress/lppi-old/wp-content/themes/latino/vendor/monolog/monolog/src/Monolog/Logger.php
     *
     * @param string  $message The log message
     * @param mixed[] $context The log context
     */
    public function warning($message, array $context = []): void
    {
        $this->addRecord(static::WARNING, (string) $message, $context);
    }
 
    /**
     * Adds a log record at the ERROR level.
     *
     * This method allows for compatibility with common interfaces.
     *
     * @param string  $message The log message
     * @param mixed[] $context The log context
     */
    public function error($message, array $context = []): void
    {
        $this->addRecord(static::ERROR, (string) $message, $context);
    }
 
    /**
     * Adds a log record at the CRITICAL level.
     *
     * This method allows for compatibility with common interfaces.
     *
     * @param string  $message The log message
     * @param mixed[] $context The log context
     */
    public function critical($message, array $context = []): void
    {
        $this->addRecord(static::CRITICAL, (string) $message, $context);
    }
 
    /**
     * Adds a log record at the ALERT level.
     *
     * This method allows for compatibility with common interfaces.
     *
/web/wordpress/lppi-old/wp-content/themes/latino/vendor/illuminate/log/Logger.php
     * @param  string  $message
     * @param  array  $context
     * @return void
     */
    public function write($level, $message, array $context = [])
    {
        $this->writeLog($level, $message, $context);
    }
 
    /**
     * Write a message to the log.
     *
     * @param  string  $level
     * @param  string  $message
     * @param  array  $context
     * @return void
     */
    protected function writeLog($level, $message, $context)
    {
        $this->logger->{$level}($message = $this->formatMessage($message), $context);
 
        $this->fireLogEvent($level, $message, $context);
    }
 
    /**
     * Register a new callback handler for when a log event is triggered.
     *
     * @param  \Closure  $callback
     * @return void
     *
     * @throws \RuntimeException
     */
    public function listen(Closure $callback)
    {
        if (! isset($this->dispatcher)) {
            throw new RuntimeException('Events dispatcher has not been set.');
        }
 
        $this->dispatcher->listen(MessageLogged::class, $callback);
    }
/web/wordpress/lppi-old/wp-content/themes/latino/vendor/illuminate/log/Logger.php
     *
     * @param  string  $message
     * @param  array  $context
     * @return void
     */
    public function critical($message, array $context = [])
    {
        $this->writeLog(__FUNCTION__, $message, $context);
    }
 
    /**
     * Log an error message to the logs.
     *
     * @param  string  $message
     * @param  array  $context
     * @return void
     */
    public function error($message, array $context = [])
    {
        $this->writeLog(__FUNCTION__, $message, $context);
    }
 
    /**
     * Log a warning message to the logs.
     *
     * @param  string  $message
     * @param  array  $context
     * @return void
     */
    public function warning($message, array $context = [])
    {
        $this->writeLog(__FUNCTION__, $message, $context);
    }
 
    /**
     * Log a notice to the logs.
     *
     * @param  string  $message
     * @param  array  $context
     * @return void
/web/wordpress/lppi-old/wp-content/themes/latino/vendor/illuminate/log/LogManager.php
     *
     * @return void
     */
    public function critical($message, array $context = [])
    {
        $this->driver()->critical($message, $context);
    }
 
    /**
     * Runtime errors that do not require immediate action but should typically
     * be logged and monitored.
     *
     * @param  string  $message
     * @param  array  $context
     *
     * @return void
     */
    public function error($message, array $context = [])
    {
        $this->driver()->error($message, $context);
    }
 
    /**
     * Exceptional occurrences that are not errors.
     *
     * Example: Use of deprecated APIs, poor use of an API, undesirable things
     * that are not necessarily wrong.
     *
     * @param  string  $message
     * @param  array  $context
     *
     * @return void
     */
    public function warning($message, array $context = [])
    {
        $this->driver()->warning($message, $context);
    }
 
    /**
     * Normal but significant events.
/web/wordpress/lppi-old/wp-content/themes/latino/vendor/roots/acorn/src/Illuminate/Foundation/Exceptions/Handler.php
        foreach ($this->reportCallbacks as $reportCallback) {
            if ($reportCallback->handles($e)) {
                if ($reportCallback($e) === false) {
                    return;
                }
            }
        }
 
        try {
            $logger = $this->container->make(LoggerInterface::class);
        } catch (Exception $ex) {
            throw $e;
        }
 
        $logger->error(
            $e->getMessage(),
            array_merge(
                $this->exceptionContext($e),
                $this->context(),
                ['exception' => $e]
            )
        );
    }
 
    /**
     * Determine if the exception should be reported.
     *
     * @param  \Throwable  $e
     * @return bool
     */
    public function shouldReport(Throwable $e)
    {
        return ! $this->shouldntReport($e);
    }
 
    /**
     * Determine if the exception is in the "do not report" list.
     *
     * @param  \Throwable  $e
     * @return bool
/web/wordpress/lppi-old/wp-content/themes/latino/vendor/roots/acorn/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php
            throw new ErrorException($message, 0, $level, $file, $line);
        }
    }
 
    /**
     * Handle an uncaught exception from the application.
     *
     * Note: Most exceptions can be handled via the try / catch block in
     * the HTTP and Console kernels. But, fatal error exceptions must
     * be handled differently since they are not normal exceptions.
     *
     * @param  \Throwable  $e
     * @return void
     */
    public function handleException(Throwable $e)
    {
        try {
            self::$reservedMemory = null;
 
            $this->getExceptionHandler()->report($e);
        } catch (Exception $e) {
            //
        }
 
        if ($this->app->runningInConsole()) {
            $this->renderForConsole($e);
        } else {
            $this->renderHttpResponse($e);
        }
    }
 
    /**
     * Render an exception to the console.
     *
     * @param  \Throwable  $e
     * @return void
     */
    protected function renderForConsole(Throwable $e)
    {
        $this->getExceptionHandler()->renderForConsole(new ConsoleOutput, $e);
[internal]

Environment & details:

empty
empty
empty
empty
empty
Key Value
SERVER_SOFTWARE
"nginx/1.18.0"
REQUEST_URI
"/votingrights/"
USER
"www-data"
HOME
"/var/www"
HTTP_CONNECTION
"Keep-Alive"
HTTP_HOST
"lppi.sites.luskin.ucla.edu"
HTTP_ACCEPT_ENCODING
"br,gzip"
HTTP_ACCEPT_LANGUAGE
"en-US,en;q=0.5"
HTTP_ACCEPT
"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
HTTP_USER_AGENT
"CCBot/2.0 (https://commoncrawl.org/faq/)"
REDIRECT_STATUS
"200"
SERVER_NAME
"lppi.sites.luskin.ucla.edu"
SERVER_PORT
"443"
SERVER_ADDR
"164.67.121.101"
REMOTE_PORT
"40354"
REMOTE_ADDR
"18.206.92.240"
GATEWAY_INTERFACE
"CGI/1.1"
HTTPS
"on"
REQUEST_SCHEME
"https"
SERVER_PROTOCOL
"HTTP/1.1"
DOCUMENT_ROOT
"/web/wordpress/lppi-old"
DOCUMENT_URI
"/index.php"
SCRIPT_NAME
"/index.php"
CONTENT_LENGTH
""
CONTENT_TYPE
""
REQUEST_METHOD
"GET"
QUERY_STRING
""
SCRIPT_FILENAME
"/web/wordpress/lppi-old/index.php"
FCGI_ROLE
"RESPONDER"
PHP_SELF
"/index.php"
REQUEST_TIME_FLOAT
1679912578.785
REQUEST_TIME
1679912578
empty
0. Whoops\Handler\PrettyPageHandler