Skip to content
VuFind
  • Login
    • English
    • Deutsch
    • Español
    • Français
    • Italiano
Advanced
  • Cite this
  • Text this
  • Email this
  • Print
  • Export Record
    • Export to RefWorks
    • Export to EndNoteWeb
    • Export to EndNote
  • Save to List
  • Permanent link
Cover Image

Saved in:
Bibliographic Details
Main Authors: Sanchez, Noelia, Interval Studio, United Kingdom
Format: Recurso digital
Language:English
Published: Zenodo 2026
Subjects:
recoverability-constrained systems, dependency calculus, dependency topology, propagation geometry, recursive dependency, continuity coupling, irreversibility, admissibility, systems theory, infrastructure continuity, dependency propagation, synchronization continuity, governance systems, operational continuity, recursive governance, formal systems, continuity architecture, propagation containment, dependency governance, recoverability
Online Access:https://doi.org/10.5281/zenodo.20090263
Tags: Add Tag
No Tags, Be the first to tag this record!
  • Holdings
  • Description
  • Table of Contents
  • Comments
  • Similar Items
  • Staff View

Internet

https://doi.org/10.5281/zenodo.20090263

Similar Items

  • Recoverability Science — Execution and Runtime Systems
    by: Sanchez, Noelia, et al.
    Published: (2026)
  • RCS-PPP-001 — Publication and Protocol Partitioning Framework: A Recoverability-Governed Boundary Framework for Public Disclosure, Restricted Operational Separation, Canonical Publication Control, and Non-Executable Knowledge Continuity Under Irreversibility Constraints
    by: Sanchez, Noelia, et al.
    Published: (2026)
  • Recoverability-Constrained Reality, Authenticity, and Epistemic Continuity Framework (RCRAECF-001) A Unified Framework for Reality Correspondence, Synthetic-State Admissibility, Provenance Preservation, and Epistemic Continuity Under Irreversibility Constraints
    by: Sanchez, Noelia, et al.
    Published: (2026)
  • RCS-SF-001 — Systemic Failure Under Recoverability Constraints: Cross-Domain Collapse and Unified Failure Pattern
    by: Sanchez, Noelia, et al.
    Published: (2026)
  • RLM: Memory Topology in Human-Adjacent Systems: Structural Continuity, Legitimacy Decay, and Stability Across Long-Lived AI Architectures
    by: Richards, Misty Michele
    Published: (2026)

Search Options

  • Search History
  • Advanced Search

Find More

  • Browse the Catalog
  • Browse Alphabetically
  • Explore Channels
  • Course Reserves
  • New Items

Need Help?

  • Search Tips
  • Ask a Librarian
  • FAQs
Whoops! There was an error.
Whoops \ Exception \ ErrorException (E_WARNING)
fopen(/tmp/vufind_sessions/sess_d7372e37f0b64a4ae60609e2e18e6b4e): Failed to open stream: No space left on device
Whoops\Exception\ErrorException thrown with message "fopen(/tmp/vufind_sessions/sess_d7372e37f0b64a4ae60609e2e18e6b4e): Failed to open stream: No space left on device" Stacktrace: #5 Whoops\Exception\ErrorException in /usr/local/vufind/module/VuFind/src/VuFind/Session/File.php:159 #4 fopen in /usr/local/vufind/module/VuFind/src/VuFind/Session/File.php:159 #3 VuFind\Session\File:saveSession in /usr/local/vufind/module/VuFind/src/VuFind/Session/AbstractBase.php:192 #2 VuFind\Session\AbstractBase:write in [internal]:0 #1 session_write_close in /usr/local/vufind/vendor/laminas/laminas-session/src/SessionManager.php:242 #0 Laminas\Session\SessionManager:writeClose in [internal]:0
Application frames (0) All frames (6)
5
Whoops\Exception\ErrorException
…/module/VuFind/src/VuFind/Session/File.php159
4
fopen
…/module/VuFind/src/VuFind/Session/File.php159
3
VuFind\Session\File saveSession
…/module/VuFind/src/VuFind/Session/AbstractBase.php192
2
VuFind\Session\AbstractBase write
[internal]0
1
session_write_close
…/vendor/laminas/laminas-session/src/SessionManager.php242
0
Laminas\Session\SessionManager writeClose
[internal]0
Open: /usr/local/vufind/module/VuFind/src/VuFind/Session/File.php
            if (filemtime($filename) + $maxlifetime < time()) {
                unlink($filename);
                $count++;
            }
        }
        return $count;
    }
 
    /**
     * A function that is called internally when session data is to be saved.
     *
     * @param string $sessId The current session ID
     * @param string $data   The session data to write
     *
     * @return bool
     */
    protected function saveSession($sessId, $data): bool
    {
        $sessFile = $this->path . '/sess_' . $sessId;
        if ($handle = fopen($sessFile, 'w')) {
            $return = false;
            // Lock the file for exclusive access to avoid issues with multiple
            // processes writing session simultaneously:
            if (flock($handle, LOCK_EX)) {
                $return = fwrite($handle, $data);
                // Make sure that there's no trailing data by truncating the file to
                // the correct length:
                ftruncate($handle, strlen($data));
                fflush($handle);
                flock($handle, LOCK_UN);
            }
            fclose($handle);
            if ($return !== false) {
                return true;
            }
        }
        // If we got this far, something went wrong with the file output...
        // It is tempting to throw an exception here, but this code is called
        // outside of the context of exception handling, so all we can do is
        // echo a message.
Arguments
  1. "fopen(/tmp/vufind_sessions/sess_d7372e37f0b64a4ae60609e2e18e6b4e): Failed to open stream: No space left on device"
    
Open: /usr/local/vufind/module/VuFind/src/VuFind/Session/File.php
            if (filemtime($filename) + $maxlifetime < time()) {
                unlink($filename);
                $count++;
            }
        }
        return $count;
    }
 
    /**
     * A function that is called internally when session data is to be saved.
     *
     * @param string $sessId The current session ID
     * @param string $data   The session data to write
     *
     * @return bool
     */
    protected function saveSession($sessId, $data): bool
    {
        $sessFile = $this->path . '/sess_' . $sessId;
        if ($handle = fopen($sessFile, 'w')) {
            $return = false;
            // Lock the file for exclusive access to avoid issues with multiple
            // processes writing session simultaneously:
            if (flock($handle, LOCK_EX)) {
                $return = fwrite($handle, $data);
                // Make sure that there's no trailing data by truncating the file to
                // the correct length:
                ftruncate($handle, strlen($data));
                fflush($handle);
                flock($handle, LOCK_UN);
            }
            fclose($handle);
            if ($return !== false) {
                return true;
            }
        }
        // If we got this far, something went wrong with the file output...
        // It is tempting to throw an exception here, but this code is called
        // outside of the context of exception handling, so all we can do is
        // echo a message.
Open: /usr/local/vufind/module/VuFind/src/VuFind/Session/AbstractBase.php
        // Anecdotal testing Today and Yesterday seems to indicate destroy()
        //   is called by the garbage collector and everything is good.
        // Something to keep in mind though.
        return 0;
    }
 
    /**
     * Write function that is called when session data is to be saved.
     *
     * @param string $sessId The current session ID
     * @param string $data   The session data to write
     *
     * @return bool
     */
    public function write($sessId, $data): bool
    {
        if ($this->writesDisabled) {
            return true;
        }
        return $this->saveSession($sessId, $data);
    }
 
    /**
     * A function that is called internally when session data is to be saved.
     *
     * @param string $sessId The current session ID
     * @param string $data   The session data to write
     *
     * @return bool
     */
    abstract protected function saveSession($sessId, $data): bool;
}
 
Open: [internal]
Open: /usr/local/vufind/vendor/laminas/laminas-session/src/SessionManager.php
     *
     * @return void
     */
    public function writeClose()
    {
        // The assumption is that we're using PHP's ext/session.
        // session_write_close() will actually overwrite $_SESSION with an
        // empty array on completion -- which leads to a mismatch between what
        // is in the storage object and $_SESSION. To get around this, we
        // temporarily reset $_SESSION to an array, and then re-link it to
        // the storage object.
        //
        // Additionally, while you _can_ write to $_SESSION following a
        // session_write_close() operation, no changes made to it will be
        // flushed to the session handler. As such, we now mark the storage
        // object isImmutable.
        $storage = $this->getStorage();
        if (! $storage->isImmutable()) {
            $_SESSION = $storage->toArray(true);
            session_write_close();
            $storage->fromArray($_SESSION);
            $storage->markImmutable();
        }
    }
 
    /**
     * Attempt to set the session name
     *
     * If the session has already been started, or if the name provided fails
     * validation, an exception will be raised.
     *
     * @param  string $name
     * @return SessionManager
     * @throws Exception\InvalidArgumentException
     */
    public function setName($name)
    {
        if ($this->sessionExists()) {
            throw new Exception\InvalidArgumentException(
                'Cannot set session name after a session has already started'
Open: [internal]

Environment & details:

empty
empty
empty
Key Value
language
"en"
ui
"standard"
VUFIND_SESSION
"d7372e37f0b64a4ae60609e2e18e6b4e"
Key Value
__Laminas
array:2 [
  "_REQUEST_ACCESS_TIME" => 1785053416.035
  "_VALID" => array:1 [
    "Laminas\Session\Validator\Id" => "d7372e37f0b64a4ae60609e2e18e6b4e"
  ]
]
SessionState
Laminas\Stdlib\ArrayObject {#938}
FlashMessenger
Laminas\Stdlib\ArrayObject {#1578}
SessionHelper
Laminas\Stdlib\ArrayObject {#1774}
Key Value
REDIRECT_VUFIND_LOCAL_DIR
"/usr/local/vufind/local"
REDIRECT_HTTPS
"on"
REDIRECT_SSL_TLS_SNI
"info.umar.mx"
REDIRECT_STATUS
"200"
VUFIND_LOCAL_DIR
"/usr/local/vufind/local"
HTTPS
"on"
SSL_TLS_SNI
"info.umar.mx"
HTTP_ACCEPT
"*/*"
HTTP_USER_AGENT
"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"
HTTP_COOKIE
"language=en; ui=standard; VUFIND_SESSION=d7372e37f0b64a4ae60609e2e18e6b4e"
HTTP_ACCEPT_ENCODING
"gzip, br, zstd, deflate"
HTTP_HOST
"info.umar.mx"
PATH
"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/snap/bin"
SERVER_SIGNATURE
"<address>Apache/2.4.66 (Ubuntu) Server at info.umar.mx Port 443</address>\n"
SERVER_SOFTWARE
"Apache/2.4.66 (Ubuntu)"
SERVER_NAME
"info.umar.mx"
SERVER_ADDR
"200.23.222.19"
SERVER_PORT
"443"
REMOTE_ADDR
"216.73.216.131"
DOCUMENT_ROOT
"/usr/local/vufind/public"
REQUEST_SCHEME
"https"
CONTEXT_PREFIX
""
CONTEXT_DOCUMENT_ROOT
"/usr/local/vufind/public"
SERVER_ADMIN
"admin@localhost"
SCRIPT_FILENAME
"/usr/local/vufind/public/index.php"
REMOTE_PORT
"5765"
REDIRECT_URL
"/Record/zenodo_https___doi_org_10_5281_zenodo_20090263"
GATEWAY_INTERFACE
"CGI/1.1"
SERVER_PROTOCOL
"HTTP/1.1"
REQUEST_METHOD
"GET"
QUERY_STRING
""
REQUEST_URI
"/Record/zenodo_https___doi_org_10_5281_zenodo_20090263"
SCRIPT_NAME
"/index.php"
PHP_SELF
"/index.php"
REQUEST_TIME_FLOAT
1785053416.031
REQUEST_TIME
1785053416
empty
0. Whoops\Handler\PrettyPageHandler
Cannot write session to /tmp/vufind_sessions/sess_d7372e37f0b64a4ae60609e2e18e6b4e Whoops! There was an error.
Whoops \ Exception \ ErrorException (E_WARNING)
session_write_close(): Failed to write session data using user defined save handler. (session.save_path: /var/lib/php/sessions, handler: VuFind\Session\File::write)
Whoops\Exception\ErrorException thrown with message "session_write_close(): Failed to write session data using user defined save handler. (session.save_path: /var/lib/php/sessions, handler: VuFind\Session\File::write)" Stacktrace: #2 Whoops\Exception\ErrorException in /usr/local/vufind/vendor/laminas/laminas-session/src/SessionManager.php:242 #1 session_write_close in /usr/local/vufind/vendor/laminas/laminas-session/src/SessionManager.php:242 #0 Laminas\Session\SessionManager:writeClose in [internal]:0
Application frames (0) All frames (3)
2
Whoops\Exception\ErrorException
…/vendor/laminas/laminas-session/src/SessionManager.php242
1
session_write_close
…/vendor/laminas/laminas-session/src/SessionManager.php242
0
Laminas\Session\SessionManager writeClose
[internal]0
Open: /usr/local/vufind/vendor/laminas/laminas-session/src/SessionManager.php
     *
     * @return void
     */
    public function writeClose()
    {
        // The assumption is that we're using PHP's ext/session.
        // session_write_close() will actually overwrite $_SESSION with an
        // empty array on completion -- which leads to a mismatch between what
        // is in the storage object and $_SESSION. To get around this, we
        // temporarily reset $_SESSION to an array, and then re-link it to
        // the storage object.
        //
        // Additionally, while you _can_ write to $_SESSION following a
        // session_write_close() operation, no changes made to it will be
        // flushed to the session handler. As such, we now mark the storage
        // object isImmutable.
        $storage = $this->getStorage();
        if (! $storage->isImmutable()) {
            $_SESSION = $storage->toArray(true);
            session_write_close();
            $storage->fromArray($_SESSION);
            $storage->markImmutable();
        }
    }
 
    /**
     * Attempt to set the session name
     *
     * If the session has already been started, or if the name provided fails
     * validation, an exception will be raised.
     *
     * @param  string $name
     * @return SessionManager
     * @throws Exception\InvalidArgumentException
     */
    public function setName($name)
    {
        if ($this->sessionExists()) {
            throw new Exception\InvalidArgumentException(
                'Cannot set session name after a session has already started'
Arguments
  1. "session_write_close(): Failed to write session data using user defined save handler. (session.save_path: /var/lib/php/sessions, handler: VuFind\Session\File::write)"
    
Open: /usr/local/vufind/vendor/laminas/laminas-session/src/SessionManager.php
     *
     * @return void
     */
    public function writeClose()
    {
        // The assumption is that we're using PHP's ext/session.
        // session_write_close() will actually overwrite $_SESSION with an
        // empty array on completion -- which leads to a mismatch between what
        // is in the storage object and $_SESSION. To get around this, we
        // temporarily reset $_SESSION to an array, and then re-link it to
        // the storage object.
        //
        // Additionally, while you _can_ write to $_SESSION following a
        // session_write_close() operation, no changes made to it will be
        // flushed to the session handler. As such, we now mark the storage
        // object isImmutable.
        $storage = $this->getStorage();
        if (! $storage->isImmutable()) {
            $_SESSION = $storage->toArray(true);
            session_write_close();
            $storage->fromArray($_SESSION);
            $storage->markImmutable();
        }
    }
 
    /**
     * Attempt to set the session name
     *
     * If the session has already been started, or if the name provided fails
     * validation, an exception will be raised.
     *
     * @param  string $name
     * @return SessionManager
     * @throws Exception\InvalidArgumentException
     */
    public function setName($name)
    {
        if ($this->sessionExists()) {
            throw new Exception\InvalidArgumentException(
                'Cannot set session name after a session has already started'
Open: [internal]

Environment & details:

empty
empty
empty
Key Value
language
"en"
ui
"standard"
VUFIND_SESSION
"d7372e37f0b64a4ae60609e2e18e6b4e"
Key Value
__Laminas
array:2 [
  "_REQUEST_ACCESS_TIME" => 1785053416.035
  "_VALID" => array:1 [
    "Laminas\Session\Validator\Id" => "d7372e37f0b64a4ae60609e2e18e6b4e"
  ]
]
SessionState
Laminas\Stdlib\ArrayObject {#938}
FlashMessenger
Laminas\Stdlib\ArrayObject {#1578}
SessionHelper
Laminas\Stdlib\ArrayObject {#1774}
Key Value
REDIRECT_VUFIND_LOCAL_DIR
"/usr/local/vufind/local"
REDIRECT_HTTPS
"on"
REDIRECT_SSL_TLS_SNI
"info.umar.mx"
REDIRECT_STATUS
"200"
VUFIND_LOCAL_DIR
"/usr/local/vufind/local"
HTTPS
"on"
SSL_TLS_SNI
"info.umar.mx"
HTTP_ACCEPT
"*/*"
HTTP_USER_AGENT
"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"
HTTP_COOKIE
"language=en; ui=standard; VUFIND_SESSION=d7372e37f0b64a4ae60609e2e18e6b4e"
HTTP_ACCEPT_ENCODING
"gzip, br, zstd, deflate"
HTTP_HOST
"info.umar.mx"
PATH
"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/snap/bin"
SERVER_SIGNATURE
"<address>Apache/2.4.66 (Ubuntu) Server at info.umar.mx Port 443</address>\n"
SERVER_SOFTWARE
"Apache/2.4.66 (Ubuntu)"
SERVER_NAME
"info.umar.mx"
SERVER_ADDR
"200.23.222.19"
SERVER_PORT
"443"
REMOTE_ADDR
"216.73.216.131"
DOCUMENT_ROOT
"/usr/local/vufind/public"
REQUEST_SCHEME
"https"
CONTEXT_PREFIX
""
CONTEXT_DOCUMENT_ROOT
"/usr/local/vufind/public"
SERVER_ADMIN
"admin@localhost"
SCRIPT_FILENAME
"/usr/local/vufind/public/index.php"
REMOTE_PORT
"5765"
REDIRECT_URL
"/Record/zenodo_https___doi_org_10_5281_zenodo_20090263"
GATEWAY_INTERFACE
"CGI/1.1"
SERVER_PROTOCOL
"HTTP/1.1"
REQUEST_METHOD
"GET"
QUERY_STRING
""
REQUEST_URI
"/Record/zenodo_https___doi_org_10_5281_zenodo_20090263"
SCRIPT_NAME
"/index.php"
PHP_SELF
"/index.php"
REQUEST_TIME_FLOAT
1785053416.031
REQUEST_TIME
1785053416
empty
0. Whoops\Handler\PrettyPageHandler