Forum

IDA: ERROR: Failed ...
 
Powiadomienia
Wyczyść wszystko

IDA: ERROR: Failed to init Explain tab: cannot import name 'QObject' from 'src.qt_compat'

1 Wpisy
1 Użytkownicy
0 Reactions
6 Widoki
0
Rozpoczynający temat

IDA and IDAssist error, how to fix this error and crash:

IDA is analysing the input file...
You may start to explore the input file right now.
PySide has not been widely tested on Python >= 3.14; IDA cannot guarantee that it will function as expected.
[IDAssist] INFO: provider_type column already exists, skipping migration
[IDAssist] DEBUG: reasoning_effort column already exists, skipping migration
[IDAssist] INFO: LiteLLM columns already exist, skipping migration
[IDAssist] DEBUG: timeout column already exists, skipping migration
[IDAssist] DEBUG: command column already exists on mcp_providers
[IDAssist] DEBUG: args column already exists on mcp_providers
[IDAssist] DEBUG: env column already exists on mcp_providers
[IDAssist] DEBUG: cwd column already exists on mcp_providers
[IDAssist] INFO: Successfully created oauth_credentials table
[IDAssist] INFO: Provider type name migration: no providers needed updating
[IDAssist] INFO: bypass_proxy column already exists, skipping migration
[IDAssist] ERROR: Failed to init Explain tab: cannot import name 'QObject' from 'src.qt_compat' (C:\Users\Administrator\AppData\Roaming\Hex-Rays\IDA Pro\plugins\IDAssist\src\qt_compat.py)
[IDAssist] ERROR: Failed to init Query tab: cannot import name 'QDateTime' from 'src.qt_compat' (C:\Users\Administrator\AppData\Roaming\Hex-Rays\IDA Pro\plugins\IDAssist\src\qt_compat.py)
[IDAssist] ERROR: Failed to init Actions tab: cannot import name 'QObject' from 'src.qt_compat' (C:\Users\Administrator\AppData\Roaming\Hex-Rays\IDA Pro\plugins\IDAssist\src\qt_compat.py)
[IDAssist] ERROR: Failed to init Semantic Graph tab: cannot import name 'QPointF' from 'src.qt_compat' (C:\Users\Administrator\AppData\Roaming\Hex-Rays\IDA Pro\plugins\IDAssist\src\qt_compat.py)
[IDAssist] ERROR: Failed to init SymGraph tab: cannot import name 'QObject' from 'src.qt_compat' (C:\Users\Administrator\AppData\Roaming\Hex-Rays\IDA Pro\plugins\IDAssist\src\qt_compat.py)
[IDAssist] ERROR: Failed to init RAG tab: cannot import name 'QObject' from 'src.qt_compat' (C:\Users\Administrator\AppData\Roaming\Hex-Rays\IDA Pro\plugins\IDAssist\src\qt_compat.py)
[IDAssist] ERROR: Failed to init Settings tab: cannot import name 'QObject' from 'src.qt_compat' (C:\Users\Administrator\AppData\Roaming\Hex-Rays\IDA Pro\plugins\IDAssist\src\qt_compat.py)
[IDAssist] DEBUG: Resolved binary hash from stored IDB input SHA-256
[IDAssist] INFO: Binary context initialized (hash: cf7a6211902596c9...)
[IDAssist] INFO: IDAssist panel created with all tabs

1 odpowiedź
0
Rozpoczynający temat

replace header of qt_compat.py with this code

try:
    # PySide6 6.8.0 contains a known crash bug (spyder-ide/qtpy#494).
    # Read the version from package metadata (no import needed) and skip
    # the broken release so the PyQt5 fallback is used instead.
    try:
        from importlib.metadata import version as _pkg_version
        if _pkg_version("PySide6") == "6.8.0":
            raise ImportError("PySide6 6.8.0 is known to crash IDA Pro; falling back to PyQt5")
    except Exception as _e:
        if "6.8.0" in str(_e):
            raise
        from PySide6.QtCore import *      # noqa: F401,F403
        from PySide6.QtGui import *       # noqa: F401,F403
        from PySide6.QtWidgets import *   # noqa: F401,F403

        # Explicit exports required by IDAssist modules.
        from PySide6.QtCore import (
            QObject,
            QDateTime,
            QPointF,
            QTimeZone,
            Qt,
            QTimer,
            QThread,
            QSize,
            QRect,
            Signal,
            Slot,
        )
        from PySide6.QtGui import (
            QAction,
            QIcon,
            QColor,
            QBrush,
            QPen,
            QFont,
            QTextCursor,
        )
        from PySide6.QtWidgets import (
            QWidget,
            QApplication,
            QDialog,
            QVBoxLayout,
            QHBoxLayout,
            QLabel,
            QPushButton,
            QLineEdit,
            QTextEdit,
            QPlainTextEdit,
            QComboBox,
            QCheckBox,
            QSpinBox,
            QTabWidget,
            QTableWidget,
            QTableWidgetItem,
            QTreeWidget,
            QTreeWidgetItem,
            QGraphicsView,
            QGraphicsScene,
            QGraphicsItem,
            QGraphicsEllipseItem,
            QGraphicsLineItem,
            QGraphicsTextItem,
            QMessageBox,
            QFileDialog,
            QMenu,
        )

        QT_BINDING = "PySide6"
except ImportError:
    from PyQt5.QtCore import *        # noqa: F401,F403
    from PyQt5.QtGui import *         # noqa: F401,F403
    from PyQt5.QtWidgets import *     # noqa: F401,F403
    from PyQt5.QtCore import pyqtSignal as Signal  # noqa: F401
    from PyQt5.QtWidgets import QAction  # noqa: F401
    QT_BINDING = "PyQt5"

QT_AVAILABLE = QT_BINDING is not None


_STOP_BUTTON_STYLE_PROPERTY = "_idassist_stop_button_base_stylesheet"
STOP_BUTTON_STYLESHEET = """
QPushButton {
    background-color: #ff6b6b;
    color: white;
    border: 1px solid #e85a5a;
    border-radius: 4px;
}
QPushButton:hover {
    background-color: #ff5c5c;
}
QPushButton:pressed {
    background-color: #e85a5a;
}
QPushButton:disabled {
    background-color: #d98c8c;
    color: #f5f5f5;
}
""".strip()

don't forget about bottom part of that file...

 


Ten wpis został zmodyfikowany 43 minuty temu przez mrmucha

Twoja odpowiedź

Nazwa autora

E-mail autora

Twoje zapytanie *

 
Podgląd 0 rewizje Zapisano
Udostępnij: