thayakawa-gh / SlackLogViewer

A viewer for json files exported from Slack workspaces.
MIT License
190 stars 14 forks source link

Application crashes while opening zip or folder: Unable to create pipe: Too many open files #15

Open rhodessteve opened 1 year ago

rhodessteve commented 1 year ago

App version: 1.1.0 / 1.2 alpha1 System: MacOS 11 / Intel

App crashes to desktop upon opening a zip or folder. Zip is from slackdump with 3 channels in it. This zip opens with slack-export-viewer. Running the app from the command line by opening it from /SlackLogViewer.app/Contents/MacOS/SlackLogViewer gives me:

libpng warning: bKGD: invalid
qt.qpa.fonts: Populating font family aliases took 299 ms. Replace uses of missing font family "Meiryo" with one that exists to avoid this cost.
QThreadPipe: Unable to create pipe: Too many open files
QEventDispatcherUNIXPrivate(): Cannot continue without a thread pipe
QThreadPipe: Unable to create pipe: Too many open files
QEventDispatcherUNIXPrivate(): Cannot continue without a thread pipe
[1]    4588 abort      ./SlackLogViewer

I have tried increasing resources with ulimit -S -n 2048 but this does not help.

rohanjsh commented 1 year ago

I am facing this issue as well

thayakawa-gh commented 1 year ago

Sorry for my late reply, @rhodessteve, @rohanjsh. Because I'm not a mac user, I cannot reproduce/investigate this bug in my environment. As far as I'm concerned, the possible causes are my misuses of QtConcurrent, used in MessageListView::Construct in MessageListView.cpp, or FileDownloader, used to download user icons and attachments.

Could you provide me the following infos for reference?

  1. the number of users in your workspace.
  2. the number of json files in the channel listed at the top of channels.json.
  3. the number of attachments in the top channel, if you know.

These may help solve the bug, but for a reliable solution, I need help from someone familiar with development on mac.

sclsj commented 4 months ago

Sometimes the output of ulimit -a, sudo ulimit -a, and launchctl limit maxfiles disagree. I don't know why.

You might try something like sudo launchctl limit maxfiles 10240000 102400000 ; ulimit -n 5000000. This might delay the occurrence of the bug to the point where the application can be used for a while.