# IDA 7.7sp1

**IDA 7.7.220118 (SP1)** ***January 18, 2022***

**Improvements:**

* \+ decompiler: improve handling of volatile reads (some were incorrectly propagated)
* \+ golang: apply reflection function prototypes to methods when available
* \+ golang: create function types from reflection metadata
* \+ PDB: support SP-relative local variables
* \+ UI: speed up Home/End/Digits navigation in sorted choosers

**Bugfixes**

* BUGFIX: debugger: IDA could lock up if the remote debug server stopped responding
* BUGFIX: decompiler: fix interrs when decompiling functions with >64 arguments
* BUGFIX: decompiler: fixed infinite loop while analyzing some golang binaries
* BUGFIX: decompiler: fixed multiple interrs
* BUGFIX: disassembly: parentheses could be missing in complex offset expressions like "target-(base+N)"
* BUGFIX: golang: fixed an interr caused by slice types with circular dependencies
* BUGFIX: golang: remove unnecessary BUILTIN\_SLICE type
* BUGFIX: idaclang would fail to store mangled symbols in the TIL, which means the prototypes would not be detected when loading the TIL with the "Load type library" action)
* BUGFIX: idapython: IDA could crash if None was passed to some API calls
* BUGFIX: kernel: fixed interr 1007 that could occur when processing types with bitfields
* BUGFIX: kernel: get\_item\_size(BADADDR) could return huge values in some situations (should be 1)
* BUGFIX: UI: on Windows, IDA could produce a fatal error "CreateDIBSection failed" when trying to display a very wide hint
* BUGFIX: UI: Options>Compiler>Arguments setting was not saved in the database

***

\\

**IDA 7.7.220125 (7.7 SP1 hotfix, floating only)**

**Bugfixes**

* BUGFIX: floating license IDA could crash on start if there was an error during connection to the server or if working offline (with borrowed license)

***

\\

**IDA 7.7.220118 (7.7 SP1)**

This Service Pack of IDA 7.7 is primarily a bugfix release.

**Complete changelist:**

Decompiler:

* improve return value recognition in golang functions

PPC:

* improved the analysis speed of arrays filled with 0xFF bytes

**Bugfixes**

* BUGFIX: ARM Mac debugger could fail to launch a universal binary when run in instant debugging mode
* BUGFIX: decompiler: fix decompilation of switches when the switch register is reused between range check and indirect jump
* BUGFIX: decompiler: fixed multiple interrs
* BUGFIX: decompiler: fixed wrong warning about lvar allocation failure for functions with scattered return value
* BUGFIX: golang: fix annotation of rtype methods in 64 bit binaries
* BUGFIX: launching the Mac debugger with an empty database could cause the debugged application to behave erratically
* BUGFIX: Local ARM Mac OS debugger was missing from the Run/Attach menus when starting IDA with an empty idb
* BUGFIX: MACHO: IDA would fail to properly load modules from some iOS15 dyldcaches (iPhone X and earlier)
* BUGFIX: PC: movdir64b with wrong operands would be erroneously decoded and cause a crash
* BUGFIX: the Debugger menu could disappear when using IDA Home
* BUGFIX: ui/qt: IDA could fail to display certain unicode codepoints correctly
* BUGFIX: UI: filter dropdown in "Modify filters" dialog could grow too wide if long filter strings were added
* BUGFIX: Windbg: breakpoints were not restored correctly in databases created from DMP files
* BUGFIX: windbg: IDA could loop infinitely when debugging Windows startup on machine with multiple processors
* BUGFIX: XTENSA: label operands for loop instructions were decoded as immediates


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.hex-rays.com/9.0sp1/release-notes/7_7sp1.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
