Error map
Unsupported operand types Fatal error: Uncaught TypeError: Unsupported operand types: string + int
PHP · layer 4, Application & API
Centre: this error. First ring: errors it is linked with (12). Outer ring: what those are linked with. Colours show the layer of a request each error belongs to. Click any dot to re-centre the map on it; hover to follow its connections. The centre dot opens the error page.
Directly related (12)
System.InvalidCastException: Unable to cast object of type 'X' to type 'Y'
An explicit cast failed because the object’s runtime type isn’t the target type.
Fatal error: Uncaught TypeError: foo(): Argument #1 ($x) must be of type int, string given
A function received a value of the wrong type for a typed parameter.
java.lang.ClassCastException: class A cannot be cast to class B
An object was cast to a type it isn’t.
WordPress on PHP 8: Fatal error: Uncaught Error: Call to undefined function create_function() / each()
An old plugin/theme uses functions removed in PHP 8 (create_function, each), so the site breaks after a PHP upgrade.
Deprecated: Implicit conversion from float 2.5 to int loses precision
PHP 8.1+ warns when a float with a fractional part is silently converted to int (array keys, % operator, int parameters).
Warning: Array to string conversion
An array was used where a string is expected — echoing it, concatenating it, or passing it to a string function.
Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated
PHP 8.1+ warns when null is passed to a built-in function that expects a string/int.
Fatal error: Uncaught Error: Cannot use object of type stdClass as array
Code used array syntax (`$x['key']`) on an object.
Swift: Cannot convert value of type 'X' to expected argument type 'Y'
The value’s type doesn’t match what the function or property expects.
Rust: error[E0308]: mismatched types — expected `X`, found `Y`
A value’s type doesn’t match what the context expects — common with &str vs String, Option/Result vs plain values, and integer ty…
Deprecated: Creation of dynamic property Foo::$bar is deprecated
PHP 8.2+ deprecates creating properties that aren’t declared in the class.
TS2322: Type 'X' is not assignable to type 'Y'
You assigned a value whose type doesn’t match the declared type of the variable, property or return value.
Two steps away (34)
AttributeError: 'X' object has no attribute 'y'
You accessed an attribute or method that doesn’t exist on that object type.
java.lang.IllegalArgumentException
A method rejected an argument value as invalid.
java.lang.IllegalStateException
A method was called when the object wasn’t in the right state for it.
PHP Fatal error: Allowed memory size of X bytes exhausted
The script tried to use more memory than PHP’s `memory_limit` allows.
PHP Fatal error: Uncaught Error: Call to undefined function
PHP can’t find the function you called — usually a missing extension, missing include, or namespace issue.
Fatal error: Cannot redeclare function foo() (previously declared in …)
The same function (or class) was defined twice — usually a file included more than once.
java.lang.StringIndexOutOfBoundsException: begin 0, end 10, length 5
substring()/charAt() used an index outside the string.
java.lang.UnsupportedOperationException (List.of / Arrays.asList is immutable)
Code tried to modify an immutable or fixed-size collection.
java.io.IOException: Stream closed
Code read or wrote a stream after it was closed — often by a try-with-resources block or a wrapper closing the underlying stream.
WordPress: There Has Been a Critical Error on This Website
A PHP fatal error (usually from a plugin or theme) stopped WordPress; the real error is in the debug log or recovery-mode email.
WordPress: Installation failed: Could not create directory (plugin/theme install or update)
WordPress can’t write to wp-content/plugins, themes or upgrade — ownership/permissions or disk space.
To perform the requested action, WordPress needs to access your web server. Please enter your FTP credentials to proceed
WordPress can’t write directly to its files (ownership differs from the PHP user), so it falls back to asking for FTP details.
DeprecationWarning: Buffer() is deprecated due to security and usability issues (DEP0005)
Code (yours or a dependency) uses the deprecated new Buffer() constructor.
WARN: the attribute `version` is obsolete, it will be ignored
A harmless Compose v2 warning: the top-level version: line in docker-compose.yml is no longer used.
TS2564: Property 'x' has no initializer and is not definitely assigned in the constructor
With strictPropertyInitialization on, a class property declared without ? or a default isn’t set in the constructor.
TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received undefined
A Node API got an argument of the wrong type — usually undefined because an env var or config value is missing.
Warning: Undefined variable $x
PHP read a variable that was never assigned in the current scope.
Composer: PHP Fatal error: Allowed memory size of 1610612736 bytes exhausted
Composer ran out of memory while resolving or installing dependencies.
DeprecationWarning: The `punycode` module is deprecated (DEP0040)
A dependency imports Node’s built-in punycode module, deprecated since Node 21.
npm WARN deprecated package@1.2.3: This package is no longer supported.
A dependency (often a transitive one) is deprecated by its author.
npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.
A deprecation warning printed by npm 8.11–8.12 for the --global flag.
Fatal error: Uncaught Error: Call to a member function x() on null
Code called a method on a variable that is null instead of an object.
Fatal error: Uncaught ArgumentCountError: Too few arguments to function foo(), 1 passed and exactly 2 expected
A function was called with fewer arguments than it requires.
Fatal error: Uncaught DivisionByZeroError: Division by zero
Code divided by zero (or used modulo by zero) — PHP 8 throws instead of warning.
TS7016: Could not find a declaration file for module 'x'. 'x.js' implicitly has an 'any' type.
The JavaScript package has no TypeScript types bundled and no @types package installed.
TS2304: Cannot find name 'x'.
TypeScript doesn’t know an identifier — a missing import, missing type definitions (e.g. for Node or Jest globals), or a typo.
TS2339: Property 'x' does not exist on type 'Y'.
TypeScript’s type for the object doesn’t include that property.
TS2345: Argument of type 'string | undefined' is not assignable to parameter of type 'string'.
A value’s type doesn’t match the function parameter — commonly a possibly-undefined value passed where a definite one is required.
TypeError: unsupported operand type(s) for +: 'int' and 'str'
An operator was used between two incompatible types, such as adding a number to a string.
TypeError: can only concatenate str (not "int") to str
You joined a string and a non-string with +.
Warning: componentWillMount has been renamed, and is not recommended for use.
A class component uses legacy lifecycle methods (componentWillMount/WillReceiveProps/WillUpdate).
TS18048: 'x' is possibly 'undefined'. (TS2532: Object is possibly 'undefined'.)
TypeScript requires you to handle the case where a value may be undefined before using it.
TypeError: 'str' object is not callable
You used parentheses on something that isn’t a function — often a variable shadowing a built-in.
TypeError: unhashable type: 'list'
A mutable object (list, dict, set) was used as a dict key or set member.
Map another error
Popular: 4035004000xC000007BTypeErrorCritical error404NullPointerException