IMAP's `fetch` results with extreme memory usage and computer freezing.
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 38/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Cần làm rõ
- Mức độ hoạt động
- Ít trao đổi
- Công nghệ
- haskell
- Lĩnh vực
- networking
Hướng nghiên cứu
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.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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
- Ngôn ngữ chính
- Haskell
- Star
- 92
- Fork
- 57
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của qnikst/HaskellNet
-
Độ khó 2/5 Dưới một giờ Mức phù hợp với người mới 65/100
qnikst/HaskellNet#125 ·
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 35/100
qnikst/HaskellNet#107 · 1 bình luận ·
-
Support for UIDPLUS extensionĐang mởfeature
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
qnikst/HaskellNet#84 ·
-
feature
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
qnikst/HaskellNet#80 ·
-
feature help needed
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
qnikst/HaskellNet#77 ·
Tất cả issue của qnikst/HaskellNet
Issue tương tự
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
GaloisInc/llvm-pretty#211 ·
-
More FFI typesĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
dmjio/miso#1704 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
docs
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement triage
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 66/100
simplex-chat/simplex-chat#8043 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
haskell-servant/servant#1929 ·