Skip to content

Search failed: 'NoneType' object has no attribute 'lower' #127

@abn

Description

@abn

Describe the bug
Using the search tool fails. Code seems to expect string when None is returned. See logs. Failure happened while performing a research task, and failure seems to be silent. The research task just stops mid-task without errors.

[2026-03-15 16:24:24.912] [INFO] [lib.rs:4190] reuse idle connection for ("https", yandex.com)
[2026-03-15 16:24:24.912] [INFO] [lib.rs:4190] send frame=Headers { stream_id: StreamId(3), flags: (0x5: END_HEADERS | END_STREAM) }
[2026-03-15 16:24:24.929] [INFO] [lib.rs:4190] received frame=Settings { flags: (0x0), header_table_size: 16384, max_concurrent_streams: 128, initial_window_size: 262144, max_frame_size: 16384, max_header_list_size: 524288 }
[2026-03-15 16:24:24.929] [INFO] [lib.rs:4190] send frame=Settings { flags: (0x1: ACK) }
[2026-03-15 16:24:24.929] [INFO] [lib.rs:4190] encoding SETTINGS; len=0, order=SettingsOrder { ids: [HeaderTableSize, EnablePush, MaxConcurrentStreams, InitialWindowSize, MaxFrameSize, MaxHeaderListSize, EnableConnectProtocol, NoRfc7540Priorities] }, header_table_size=None, enable_push=None, initial_window_size=None, max_frame_size=None, max_header_list_size=None
[2026-03-15 16:24:24.929] [INFO] [lib.rs:4190] received frame=WindowUpdate { stream_id: StreamId(0), size_increment: 196609 }
[2026-03-15 16:24:24.929] [INFO] [lib.rs:4190] received frame=Settings { flags: (0x1: ACK) }
[2026-03-15 16:24:24.929] [INFO] [lib.rs:4190] received settings ACK; applying Settings { flags: (0x0), header_table_size: 65536, enable_push: 0, initial_window_size: 6291456, max_header_list_size: 262144 }
[2026-03-15 16:24:24.971] [INFO] [lib.rs:4190] received frame=Headers { stream_id: StreamId(3), flags: (0x4: END_HEADERS) }
[2026-03-15 16:24:24.971] [INFO] [lib.rs:4190] received frame=Data { stream_id: StreamId(3) }
[2026-03-15 16:24:24.971] [INFO] [lib.rs:4190] received frame=Data { stream_id: StreamId(3), flags: (0x1: END_STREAM) }
[2026-03-15 16:24:24.971] [INFO] [lib.rs:4190] inserting secure cookie '_yasc'
[2026-03-15 16:24:24.971] [INFO] [lib.rs:4190] response: https://yandex.com/showcaptcha?cc=1&form-fb-hint=8.148&mt=*** 200
[2026-03-15 16:24:24.973] [ERROR] [lib.rs:4187] Error in engine brave: AttributeError("'NoneType' object has no attribute 'lower'")
[2026-03-15 16:24:24.974] [ERROR] [lib.rs:4187] {"error":"'NoneType' object has no attribute 'lower'","event":"DuckDuckGo search failed","logger":"nowledge_graph_server.mcp.tools.web_search_tools"}
[2026-03-15 16:24:24.974] [INFO] [lib.rs:4190] {"method": "web_search", "app": "ai-now", "response": "{\"status\": \"error\", \"message\": \"Search failed: 'NoneType' object has no attribute 'lower'\", \"results\": []}", "event": "MCP_RESPONSE", "level": "info", "logger": "nowledge_graph_server.mcp.tools.web_search_tools", "timestamp": "2026-03-15T15:24:24.974143Z"}
[2026-03-15 16:24:24.976] [INFO] [lib.rs:4190] Response sent
[2026-03-15 16:24:24.976] [INFO] [lib.rs:4190] Closing SSE writer
[2026-03-15 16:24:24.976] [ERROR] [lib.rs:4187] chunk: b'event: message\r\ndata: {"jsonrpc":"2.0","id":1,"result":{"content":[{"type":"text","text":"{\\"status\\":\\"error\\",\\"message\\":\\"Search failed: \'NoneType\' object has no attribute \'lower\'\\",\\"results\\":[]}"}],"structuredContent":{"status":"error","message":"Search failed: \'NoneType\' object has no attribute \'lower\'","results":[]},"isError":false}}\r\n\r\n'
[2026-03-15 16:24:24.977] [INFO] [lib.rs:4190] Terminating session: None

To Reproduce
Trigger a search in AI Now when doing a research task. Looks like DuckDuckGo search is required to reproduce error. However, request prior to error was to yandex.

Failure seems to be intermittent.

Expected behavior
Search succeeds.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions