IMAP's `fetch` results with extreme memory usage and computer freezing.
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 38/100
- Tipo di issue
- Bug
- Chiarezza
- Da chiarire
- Stato di attività
- Tranquilla
- Stack tecnologico
- haskell
- Ambito
- networking
Direzione di ricerca
Start by reproducing retrieveCSV with fetch con lastMsg and compare its memory use with fetchHeader and fetchSize. Trace the HaskellNet IMAP fetch entry point to determine whether the library or caller causes the excessive allocation; done means establishing the cause and verifying a focused fix or documented explanation.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
I have written the following function using the HaskellNet and HaskellNet-SSL libraries.
Using the "fetch" function results with memory usage blowing up and extreme swapping.
What am I doing wrong? Might it be a bug?
import qualified Data.ByteString.Char8 as SB8
import Network.HaskellNet.IMAP
import Network.HaskellNet.IMAP.SSL
main = retrieveCSV
retrieveCSV = do
con <- connectIMAPSSL imapServer
login con username password
select con mailbox
lastMsg <- last <$> search con [ALLs]
-- this works:
_ <- fetchHeader con lastMsg
-- this works:
_ <- fetchSize con lastMsg
-- this blows up in memory usage:
_ <- fetch con lastMsg
undefined
where
imapServer = "imap.gmail.com"
username = "example" -- imagine this username is real
password = "example" -- imagine this password is real
mailbox = "example" -- imagine this mailbox is real
- Lingua principale
- Haskell
- Stelle
- 92
- Fork
- 57
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di qnikst/HaskellNet
-
Difficoltà 2/5 Meno di un'ora Idoneità per principianti 65/100
qnikst/HaskellNet#125 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
qnikst/HaskellNet#107 · 1 commento ·
-
feature
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
qnikst/HaskellNet#84 ·
-
feature
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
qnikst/HaskellNet#80 ·
-
feature help needed
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
qnikst/HaskellNet#77 ·
Tutte le issue di qnikst/HaskellNet
Issue simili
-
enhancement triage
Difficoltà 1/5 1-3 ore Idoneità per principianti 66/100
simplex-chat/simplex-chat#8043 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
haskell/network-uri#92 ·
-
area:zones rules-correctness
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
needs triage type: bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
haskell/cabal#12525 · 1 commento ·
I maintainer di solito rispondono entro 3 giorni
-
validateXmirOptions error message is missing the word 'option'Forse già presa @opusstudiohq-max l’ha presa 2 giorni fa. Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
objectionary/phino#2256 ·
I maintainer di solito rispondono entro 1 giorno