Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error too many files open #6284

Closed
jeremymasters opened this issue Feb 22, 2017 · 7 comments
Closed

Error too many files open #6284

jeremymasters opened this issue Feb 22, 2017 · 7 comments
Labels

Comments

@jeremymasters
Copy link

Signal crashed out of nowhere
https://gist.github.com/39027f24964cf0c8e58db3a96f2853ff
#################################################################
02-22 05:56:01.309 17204 17239 E AndroidRuntime: Error Code : 2062 (SQLITE_CANTOPEN_EMFILE)
02-22 05:56:01.309 17204 17239 E AndroidRuntime: Caused By : Application has opened two many files. Maximum of available file descriptors in one process is 1024 in default.
02-22 05:56:01.309 17204 17239 E AndroidRuntime: (unable to open database file (code 2062))
02-22 05:56:01.309 17204 17239 E AndroidRuntime: #################################################################
02-22 05:56:01.309 17204 17239 E AndroidRuntime: at android.database.sqlite.SQLiteConnection.nativeExecuteForCursorWindow(Native Method)
02-22 05:56:01.309 17204 17239 E AndroidRuntime: at android.database.sqlite.SQLiteConnection.executeForCursorWindow(SQLiteConnection.java:980)
02-22 05:56:01.309 17204 17239 E AndroidRuntime: at android.database.sqlite.SQLiteSession.executeForCursorWindow(SQLiteSession.java:836)
02-22 05:56:01.309 17204 17239 E AndroidRuntime: at android.database.sqlite.SQLiteQuery.fillWindow(SQLiteQuery.java:62)
02-22 05:56:01.309 17204 17239 E AndroidRuntime: at android.database.sqlite.SQLiteCursor.fillWindow(SQLiteCursor.java:143)
02-22 05:56:01.309 17204 17239 E AndroidRuntime: at android.database.sqlite.SQLiteCursor.getCount(SQLiteCursor.java:132)
02-22 05:56:01.309 17204 17239 E AndroidRuntime: at android.database.AbstractCursor.moveToPosition(AbstractCursor.java:219)
02-22 05:56:01.309 17204 17239 E AndroidRuntime: at android.database.AbstractCursor.moveToFirst(AbstractCursor.java:258)
02-22 05:56:01.309 17204 17239 E AndroidRuntime: at org.thoughtcrime.securesms.database.SmsDatabase.getMessageCountForThread(SmsDatabase.java:170)
02-22 05:56:01.309 17204 17239 E AndroidRuntime: at org.thoughtcrime.securesms.database.MmsSmsDatabase.getConversationCount(MmsSmsDatabase.java:126)
02-22 05:56:01.309 17204 17239 E AndroidRuntime: at org.thoughtcrime.securesms.database.ThreadDatabase.update(ThreadDatabase.java:525)
02-22 05:56:01.309 17204 17239 E AndroidRuntime: at org.thoughtcrime.securesms.database.SmsDatabase.incrementDeliveryReceiptCount(SmsDatabase.java:298)
02-22 05:56:01.309 17204 17239 E AndroidRuntime: at org.thoughtcrime.securesms.database.MmsSmsDatabase.incrementDeliveryReceiptCount(MmsSmsDatabase.java:133)
02-22 05:56:01.309 17204 17239 E AndroidRuntime: at org.thoughtcrime.securesms.jobs.PushReceivedJob.handleReceipt(PushReceivedJob.java:69)
02-22 05:56:01.309 17204 17239 E AndroidRuntime: at org.thoughtcrime.securesms.jobs.PushReceivedJob.handle(PushReceivedJob.java:41)
02-22 05:56:01.309 17204 17239 E AndroidRuntime: at org.thoughtcrime.securesms.jobs.PushNotificationReceiveJob$1.onMessage(PushNotificationReceiveJob.java:39)
02-22 05:56:01.309 17204 17239 E AndroidRuntime: at org.whispersystems.signalservice.api.SignalServiceMessageReceiver.retrieveMessages(SignalServiceMessageReceiver.java:134)
02-22 05:56:01.309 17204 17239 E AndroidRuntime: at org.thoughtcrime.securesms.jobs.PushNotificationReceiveJob.onRun(PushNotificationReceiveJob.java:36)
02-22 05:56:01.309 17204 17239 E AndroidRuntime: at org.whispersystems.jobqueue.JobConsumer.runJob(JobConsumer.java:76)
02-22 05:56:01.309 17204 17239 E AndroidRuntime: at org.whispersystems.jobqueue.JobConsumer.run(JobConsumer.java:46)
02-22 05:56:03.509 17204 17239 I Process : Sending signal. PID: 17204 SIG: 9

@Trolldemorted
Copy link
Contributor

sounds like signalapp/libsignal-service-java#26

@moxie0
Copy link
Contributor

moxie0 commented Feb 22, 2017

@Trolldemorted very unlikely, and try with resources is not supported on android at our minsdk

@Trolldemorted
Copy link
Contributor

we can close the streams manually, if that is the only problem!

are you really sure that using deleteOnExit & not closing streams does not leak FDs? I suspected this could also be a cause of #5515

@moxie0
Copy link
Contributor

moxie0 commented Feb 22, 2017

he would have had to receive a lot of attachments in a short period of time to trigger a FD exception before the finalizer runs

@Trolldemorted
Copy link
Contributor

or just enough attachments in a single message - or is there an enforced limit? An adversary could easily fit 1024 files into one message, if i understand it correctly

@jeremymasters
Copy link
Author

I actually received zero attachments

@automated-signal
Copy link

GitHub Issue Cleanup:
See #7598 for more information.

@signalapp signalapp locked and limited conversation to collaborators Apr 3, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Development

No branches or pull requests

5 participants