-
Notifications
You must be signed in to change notification settings - Fork 321
Open
Labels
bugSomething isn't workingSomething isn't working
Description
Please update gptel first -- errors are often fixed by the time they're reported.
- I have updated gptel to the latest commit and tested that the issue still exists
Bug Description
Unclear if this is a bug in memory-report
itself when computing the size of the hash table (entries) that gptel
uses, or a corruption in the hash data themselves.
Backend
Gemini
Steps to Reproduce
-
Add Gemini:
(gptel-make-gemini "Gemini" :key "XXX" :stream t)
-
Do some GPTELing
-
M-x memory-report
:Args out of range: #s(gptel-gemini "Gemini" "generativelanguage.googleapis.com" nil "https" t "/v1beta/models" ...) .. ["/v1beta/models" "https" "generativelanguage.googleapis.com" t gptel-stream gptel-model "streamGenerateContent" "generateContent" format "%s://%s%s/%s:%s?key=%s" ...] 9] ...), 12
Additional Context
Emacs v30.1
Backtrace
Debugger entered--Lisp error: (args-out-of-range #s(gptel-gemini :name "Gemini" :host "generativelanguage.googleapis.com" :header nil :protocol "https" :stream t :endpoint "/v1beta/models" :key "AIzaSyCtMankPseSIrHKdzipXpB5EC3dnjN_nsE" :models (gemini-1.5-pro-latest gemini-2.0-flash-exp gemini-1.5-flash gemini-1.5-flash-8b gemini-exp-1206 gemini-pro gemini-2.0-flash gemini-2.0-flash-lite-preview-02-05 gemini-2.0-pro-exp-02-05 gemini-2.0-flash-thinking-exp-01-21 gemini-2.0-flash-exp gemini-2.0-flash-thinking-exp) :url #f(compiled-function () #<bytecode -0x1d95f873dd0e0a2f>) :request-params nil :curl-args nil :coding-system
aref(#s(gptel-gemini :name "Gemini" :host "generativelanguage.googleapis.com" :header nil :protocol "https" :stream t :endpoint "/v1beta/models" :key "AIzaSyCtMankPseSIrHKdzipXpB5EC3dnjN_nsE" :models (gemini-1.5-pro-latest gemini-2.0-flash-exp gemini-1.5-flash gemini-1.5-flash-8b gemini-exp-1206 gemini-pro gemini-2.0-flash gemini-2.0-flash-lite-preview-02-05 gemini-2.0-pro-exp-02-05 gemini-2.0-flash-thinking-exp-01-21 gemini-2.0-flash-exp gemini-2.0-flash-thinking-exp) :url #f(compiled-function () #<bytecode -0x1d95f873dd0e0a2f>) :request-params nil :curl-args nil :coding-system
#f(compiled-function (slot) #<bytecode 0xfb3086d2976545e>)((coding-system nil :documentation "Can be set to `binary' if the backend expects non UTF-8 output."))
mapcar(#f(compiled-function (slot) #<bytecode 0xfb3086d2976545e>) ((cl-tag-slot) (name nil) (host nil) (header nil) (protocol nil) (stream nil) (endpoint nil) (key nil) (models nil) (url nil) (request-params nil) (curl-args nil) (coding-system nil :documentation "Can be set to `binary' if the backend expects non UTF-8 output.")))
#f(compiled-function (counted value) #<bytecode 0x9afef6e245a207>)(#<hash-table eq 126/192 0x43fde8b9 ...> #s(gptel-gemini :name "Gemini" :host "generativelanguage.googleapis.com" :header nil :protocol "https" :stream t :endpoint "/v1beta/models" :key "AIzaSyCtMankPseSIrHKdzipXpB5EC3dnjN_nsE" :models (gemini-1.5-pro-latest gemini-2.0-flash-exp gemini-1.5-flash gemini-1.5-flash-8b gemini-exp-1206 gemini-pro gemini-2.0-flash gemini-2.0-flash-lite-preview-02-05 gemini-2.0-pro-exp-02-05 gemini-2.0-flash-thinking-exp-01-21 gemini-2.0-flash-exp gemini-2.0-flash-thinking-exp) :url #f(compiled-function () #<bytecode -0x1d95f873dd0e0a2f>) :request-params nil :curl-args nil :coding-system
apply(#f(compiled-function (counted value) #<bytecode 0x9afef6e245a207>) #<hash-table eq 126/192 0x43fde8b9 ...> #s(gptel-gemini :name "Gemini" :host "generativelanguage.googleapis.com" :header nil :protocol "https" :stream t :endpoint "/v1beta/models" :key "AIzaSyCtMankPseSIrHKdzipXpB5EC3dnjN_nsE" :models (gemini-1.5-pro-latest gemini-2.0-flash-exp gemini-1.5-flash gemini-1.5-flash-8b gemini-exp-1206 gemini-pro gemini-2.0-flash gemini-2.0-flash-lite-preview-02-05 gemini-2.0-pro-exp-02-05 gemini-2.0-flash-thinking-exp-01-21 gemini-2.0-flash-exp gemini-2.0-flash-thinking-exp) :url #f(compiled-function () #<bytecode -0x1d95f873dd0e0a2f>) :request-params nil :curl-args nil :coding-system
memory-report--object-size-1(#<hash-table eq 126/192 0x43fde8b9 ...> #s(gptel-gemini :name "Gemini" :host "generativelanguage.googleapis.com" :header nil :protocol "https" :stream t :endpoint "/v1beta/models" :key "AIzaSyCtMankPseSIrHKdzipXpB5EC3dnjN_nsE" :models (gemini-1.5-pro-latest gemini-2.0-flash-exp gemini-1.5-flash gemini-1.5-flash-8b gemini-exp-1206 gemini-pro gemini-2.0-flash gemini-2.0-flash-lite-preview-02-05 gemini-2.0-pro-exp-02-05 gemini-2.0-flash-thinking-exp-01-21 gemini-2.0-flash-exp gemini-2.0-flash-thinking-exp) :url #f(compiled-function () #<bytecode -0x1d95f873dd0e0a2f>) :request-params nil :curl-args nil :coding-system
memory-report--object-size(#<hash-table eq 126/192 0x43fde8b9 ...> #s(gptel-gemini :name "Gemini" :host "generativelanguage.googleapis.com" :header nil :protocol "https" :stream t :endpoint "/v1beta/models" :key "AIzaSyCtMankPseSIrHKdzipXpB5EC3dnjN_nsE" :models (gemini-1.5-pro-latest gemini-2.0-flash-exp gemini-1.5-flash gemini-1.5-flash-8b gemini-exp-1206 gemini-pro gemini-2.0-flash gemini-2.0-flash-lite-preview-02-05 gemini-2.0-pro-exp-02-05 gemini-2.0-flash-thinking-exp-01-21 gemini-2.0-flash-exp gemini-2.0-flash-thinking-exp) :url #f(compiled-function () #<bytecode -0x1d95f873dd0e0a2f>) :request-params nil :curl-args nil :coding-system
#f(compiled-function (counted value) #<bytecode -0x7f47a6a2ae043bf>)(#<hash-table eq 126/192 0x43fde8b9 ...> (gptel--infix-provider gpt-5 claude-sonnet-4 gemini-2.0-flash gemini-2.5-pro gemini-2.5-flash gpt-4o-mini gemini-2.5-pro-exp-03-25 mixtral-8x7b-32768 gemma-7b-it #s(gptel-gemini :name "Gemini" :host "generativelanguage.googleapis.com" :header nil :protocol "https" :stream t :endpoint "/v1beta/models" :key "AIzaSyCtMankPseSIrHKdzipXpB5EC3dnjN_nsE" :models (gemini-1.5-pro-latest gemini-2.0-flash-exp gemini-1.5-flash gemini-1.5-flash-8b gemini-exp-1206 gemini-pro gemini-2.0-flash gemini-2.0-flash-lite-preview-02-05 gemini-2.0-pro-exp-02-05 gemini-2.0-flash-thinking-exp-01-21 gemini-2.0-flash-exp gemini-2.0-flash-thinking-exp) :url #f(compiled-function () #<bytecode -0x1d95f873dd0e0a2f>) :request-params nil :curl-args nil :coding-system
apply(#f(compiled-function (counted value) #<bytecode -0x7f47a6a2ae043bf>) #<hash-table eq 126/192 0x43fde8b9 ...> (gptel--infix-provider gpt-5 claude-sonnet-4 gemini-2.0-flash gemini-2.5-pro gemini-2.5-flash gpt-4o-mini gemini-2.5-pro-exp-03-25 mixtral-8x7b-32768 gemma-7b-it #s(gptel-gemini :name "Gemini" :host "generativelanguage.googleapis.com" :header nil :protocol "https" :stream t :endpoint "/v1beta/models" :key "AIzaSyCtMankPseSIrHKdzipXpB5EC3dnjN_nsE" :models (gemini-1.5-pro-latest gemini-2.0-flash-exp gemini-1.5-flash gemini-1.5-flash-8b gemini-exp-1206 gemini-pro gemini-2.0-flash gemini-2.0-flash-lite-preview-02-05 gemini-2.0-pro-exp-02-05 gemini-2.0-flash-thinking-exp-01-21 gemini-2.0-flash-exp gemini-2.0-flash-thinking-exp) :url #f(compiled-function () #<bytecode -0x1d95f873dd0e0a2f>) :request-params nil :curl-args nil :coding-system
memory-report--object-size-1(#<hash-table eq 126/192 0x43fde8b9 ...> (gptel--infix-provider gpt-5 claude-sonnet-4 gemini-2.0-flash gemini-2.5-pro gemini-2.5-flash gpt-4o-mini gemini-2.5-pro-exp-03-25 mixtral-8x7b-32768 gemma-7b-it #s(gptel-gemini :name "Gemini" :host "generativelanguage.googleapis.com" :header nil :protocol "https" :stream t :endpoint "/v1beta/models" :key "AIzaSyCtMankPseSIrHKdzipXpB5EC3dnjN_nsE" :models (gemini-1.5-pro-latest gemini-2.0-flash-exp gemini-1.5-flash gemini-1.5-flash-8b gemini-exp-1206 gemini-pro gemini-2.0-flash gemini-2.0-flash-lite-preview-02-05 gemini-2.0-pro-exp-02-05 gemini-2.0-flash-thinking-exp-01-21 gemini-2.0-flash-exp gemini-2.0-flash-thinking-exp) :url #f(compiled-function () #<bytecode -0x1d95f873dd0e0a2f>) :request-params nil :curl-args nil :coding-system
memory-report--object-size(#<hash-table eq 126/192 0x43fde8b9 ...> (gptel--infix-provider gpt-5 claude-sonnet-4 gemini-2.0-flash gemini-2.5-pro gemini-2.5-flash gpt-4o-mini gemini-2.5-pro-exp-03-25 mixtral-8x7b-32768 gemma-7b-it #s(gptel-gemini :name "Gemini" :host "generativelanguage.googleapis.com" :header nil :protocol "https" :stream t :endpoint "/v1beta/models" :key "AIzaSyCtMankPseSIrHKdzipXpB5EC3dnjN_nsE" :models (gemini-1.5-pro-latest gemini-2.0-flash-exp gemini-1.5-flash gemini-1.5-flash-8b gemini-exp-1206 gemini-pro gemini-2.0-flash gemini-2.0-flash-lite-preview-02-05 gemini-2.0-pro-exp-02-05 gemini-2.0-flash-thinking-exp-01-21 gemini-2.0-flash-exp gemini-2.0-flash-thinking-exp) :url #f(compiled-function () #<bytecode -0x1d95f873dd0e0a2f>) :request-params nil :curl-args nil :coding-system
#f(compiled-function (counted value) #<bytecode -0x7f47a6a2ae043bf>)(#<hash-table eq 126/192 0x43fde8b9 ...> ((dirvish-setup-menu ("+" "+" "-" "-" "+" "+")) (dirvish-vc-menu ("vc-blame")) (forge-add-repository nil) (forge-configure nil) (forge-dispatch nil) (forge-notifications-menu nil) (forge-repositories-menu nil) (forge-topic-menu nil) (forge-topics-menu nil) (gptel--infix-add-directive "what could this mean? " "I'm seeing an BAD_ACCESS when compiling Emacs (emacs-mac build) with CLANG v20. The backtrace is here. What can you conclude?" "What does this python socket function do? " "What are these GNUS summary line format codes?" "Explain this GNUS line format. " "This describes actions that can be sent to the Cocoa part of emacs-mac. Is there an action available for bringing all windows to the front? " "Can you explain this macro declaration in Emacs code for ~define-minor-mode~? " "Is this correct config for .ssh/config? " "What does this macro do in an Emacs code base? In particular, how can you specify a function is an interative Emacs command?" "What does this macro do in an Emacs code base? ") (gptel--infix-provider gpt-5 claude-sonnet-4 gemini-2.0-flash gemini-2.5-pro gemini-2.5-flash gpt-4o-mini gemini-2.5-pro-exp-03-25 mixtral-8x7b-32768 gemma-7b-it #s(gptel-gemini :name "Gemini" :host "generativelanguage.googleapis.com" :header nil :protocol "https" :stream t :endpoint "/v1beta/models" :key "AIzaSyCtMankPseSIrHKdzipXpB5EC3dnjN_nsE" :models (gemini-1.5-pro-latest gemini-2.0-flash-exp gemini-1.5-flash gemini-1.5-flash-8b gemini-exp-1206 gemini-pro gemini-2.0-flash gemini-2.0-flash-lite-preview-02-05 gemini-2.0-pro-exp-02-05 gemini-2.0-flash-thinking-exp-01-21 gemini-2.0-flash-exp gemini-2.0-flash-thinking-exp) :url #f(compiled-function () #<bytecode -0x1d95f873dd0e0a2f>) :request-params nil :curl-args nil :coding-system
apply(#f(compiled-function (counted value) #<bytecode -0x7f47a6a2ae043bf>) #<hash-table eq 126/192 0x43fde8b9 ...> ((dirvish-setup-menu ("+" "+" "-" "-" "+" "+")) (dirvish-vc-menu ("vc-blame")) (forge-add-repository nil) (forge-configure nil) (forge-dispatch nil) (forge-notifications-menu nil) (forge-repositories-menu nil) (forge-topic-menu nil) (forge-topics-menu nil) (gptel--infix-add-directive "what could this mean? " "I'm seeing an BAD_ACCESS when compiling Emacs (emacs-mac build) with CLANG v20. The backtrace is here. What can you conclude?" "What does this python socket function do? " "What are these GNUS summary line format codes?" "Explain this GNUS line format. " "This describes actions that can be sent to the Cocoa part of emacs-mac. Is there an action available for bringing all windows to the front? " "Can you explain this macro declaration in Emacs code for ~define-minor-mode~? " "Is this correct config for .ssh/config? " "What does this macro do in an Emacs code base? In particular, how can you specify a function is an interative Emacs command?" "What does this macro do in an Emacs code base? ") (gptel--infix-provider gpt-5 claude-sonnet-4 gemini-2.0-flash gemini-2.5-pro gemini-2.5-flash gpt-4o-mini gemini-2.5-pro-exp-03-25 mixtral-8x7b-32768 gemma-7b-it #s(gptel-gemini :name "Gemini" :host "generativelanguage.googleapis.com" :header nil :protocol "https" :stream t :endpoint "/v1beta/models" :key "AIzaSyCtMankPseSIrHKdzipXpB5EC3dnjN_nsE" :models (gemini-1.5-pro-latest gemini-2.0-flash-exp gemini-1.5-flash gemini-1.5-flash-8b gemini-exp-1206 gemini-pro gemini-2.0-flash gemini-2.0-flash-lite-preview-02-05 gemini-2.0-pro-exp-02-05 gemini-2.0-flash-thinking-exp-01-21 gemini-2.0-flash-exp gemini-2.0-flash-thinking-exp) :url #f(compiled-function () #<bytecode -0x1d95f873dd0e0a2f>) :request-params nil :curl-args nil :coding-system
memory-report--object-size-1(#<hash-table eq 126/192 0x43fde8b9 ...> ((dirvish-setup-menu ("+" "+" "-" "-" "+" "+")) (dirvish-vc-menu ("vc-blame")) (forge-add-repository nil) (forge-configure nil) (forge-dispatch nil) (forge-notifications-menu nil) (forge-repositories-menu nil) (forge-topic-menu nil) (forge-topics-menu nil) (gptel--infix-add-directive "what could this mean? " "I'm seeing an BAD_ACCESS when compiling Emacs (emacs-mac build) with CLANG v20. The backtrace is here. What can you conclude?" "What does this python socket function do? " "What are these GNUS summary line format codes?" "Explain this GNUS line format. " "This describes actions that can be sent to the Cocoa part of emacs-mac. Is there an action available for bringing all windows to the front? " "Can you explain this macro declaration in Emacs code for ~define-minor-mode~? " "Is this correct config for .ssh/config? " "What does this macro do in an Emacs code base? In particular, how can you specify a function is an interative Emacs command?" "What does this macro do in an Emacs code base? ") (gptel--infix-provider gpt-5 claude-sonnet-4 gemini-2.0-flash gemini-2.5-pro gemini-2.5-flash gpt-4o-mini gemini-2.5-pro-exp-03-25 mixtral-8x7b-32768 gemma-7b-it #s(gptel-gemini :name "Gemini" :host "generativelanguage.googleapis.com" :header nil :protocol "https" :stream t :endpoint "/v1beta/models" :key "XXX" :models (gemini-1.5-pro-latest gemini-2.0-flash-exp gemini-1.5-flash gemini-1.5-flash-8b gemini-exp-1206 gemini-pro gemini-2.0-flash gemini-2.0-flash-lite-preview-02-05 gemini-2.0-pro-exp-02-05 gemini-2.0-flash-thinking-exp-01-21 gemini-2.0-flash-exp gemini-2.0-flash-thinking-exp) :url #f(compiled-function () #<bytecode -0x1d95f873dd0e0a2f>) :request-params nil :curl-args nil :coding-system
memory-report--object-size(#<hash-table eq 126/192 0x43fde8b9 ...> ((dirvish-setup-menu ("+" "+" "-" "-" "+" "+")) (dirvish-vc-menu ("vc-blame")) (forge-add-repository nil) (forge-configure nil) (forge-dispatch nil) (forge-notifications-menu nil) (forge-repositories-menu nil) (forge-topic-menu nil) (forge-topics-menu nil) (gptel--infix-add-directive "what could this mean? " "I'm seeing an BAD_ACCESS when compiling Emacs (emacs-mac build) with CLANG v20. The backtrace is here. What can you conclude?" "What does this python socket function do? " "What are these GNUS summary line format codes?" "Explain this GNUS line format. " "This describes actions that can be sent to the Cocoa part of emacs-mac. Is there an action available for bringing all windows to the front? " "Can you explain this macro declaration in Emacs code for ~define-minor-mode~? " "Is this correct config for .ssh/config? " "What does this macro do in an Emacs code base? In particular, how can you specify a function is an interative Emacs command?" "What does this macro do in an Emacs code base? ") (gptel--infix-provider gpt-5 claude-sonnet-4 gemini-2.0-flash gemini-2.5-pro gemini-2.5-flash gpt-4o-mini gemini-2.5-pro-exp-03-25 mixtral-8x7b-32768 gemma-7b-it #s(gptel-gemini :name "Gemini" :host "generativelanguage.googleapis.com" :header nil :protocol "https" :stream t :endpoint "/v1beta/models" :key "XXX" :models (gemini-1.5-pro-latest gemini-2.0-flash-exp gemini-1.5-flash gemini-1.5-flash-8b gemini-exp-1206 gemini-pro gemini-2.0-flash gemini-2.0-flash-lite-preview-02-05 gemini-2.0-pro-exp-02-05 gemini-2.0-flash-thinking-exp-01-21 gemini-2.0-flash-exp gemini-2.0-flash-thinking-exp) :url #f(compiled-function () #<bytecode -0x1d95f873dd0e0a2f>) :request-params nil :curl-args nil :coding-system
#f(compiled-function (symbol) #<bytecode 0x185cad4d4455359f>)(transient-history)
memory-report--largest-variables()
memory-report()
funcall-interactively(memory-report)
command-execute(memory-report record)
#<subr execute-extended-command>(nil "memory-report" "mem")
ad-Advice-execute-extended-command(#<subr execute-extended-command> nil "memory-report" "mem")
apply(ad-Advice-execute-extended-command #<subr execute-extended-command> (nil "memory-report" "mem"))
execute-extended-command(nil "memory-report" "mem")
funcall-interactively(execute-extended-command nil "memory-report" "mem")
command-execute(execute-extended-command)
Log Information
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working