Skip to content

New unexpected issue in Parse.initialize #1851

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

Open
4 tasks done
phbardon opened this issue May 8, 2025 · 2 comments
Open
4 tasks done

New unexpected issue in Parse.initialize #1851

phbardon opened this issue May 8, 2025 · 2 comments
Labels
type:bug Impaired feature or lacking behavior that is likely assumed

Comments

@phbardon
Copy link

phbardon commented May 8, 2025

New Issue Checklist

Issue Description

  • Running app on Simulator without any recent change in versions used (for months…).
  • For information, an Xcode crash led me just before to delete existing schemes to create new ones

Then recurrent crash in Parse.initialize which has not been changed.

        let configuration = ParseClientConfiguration {
            $0.isLocalDatastoreEnabled = false
            $0.applicationId = holisService.applicationId
            $0.clientKey = holisService.clientKey
            $0.server = holisService.server
			$0.networkRetryAttempts = 3
        }
        Parse.initialize(with: configuration)

Finally solved by adding the subclassing below for all reserved classes, but as explained in #1792 and #1809 it should not be needed anymore.

		PFInstallation.registerSubclass()
		PFUser.registerSubclass()
		PFSession.registerSubclass()
		PFRole.registerSubclass()

Steps to reproduce

Not sure that it can be reproduced as this has been already solved by #1792 and #1809 and it could come from local unknown configuration.

Actual Outcome

Crash

Expected Outcome

Is there any setting in the schemes that could change this behaviour?

Environment

  • Xcode: 16.3
  • iOS: 18.0
  • Operating system: MacOS Sequoia 15.4

Client

  • Parse ObjC SDK version: 5.1.1

Server

  • Parse Server version: 3.6.0
  • Operating system: UNKNOWN
  • Local or remote host (AWS, Azure, Google Cloud, Heroku, Digital Ocean, etc): REMOTE

Database

  • System (MongoDB or Postgres): MongoDB
  • Database version: 3.6.0
  • Local or remote host (MongoDB Atlas, mLab, AWS, Azure, Google Cloud, etc): REMOTE

Logs

2025-05-08 18:39:14.684534+0200 APPNAME[52544:1867994] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Invalid class name. Class names cannot start with an underscore.'
*** First throw call stack:
(
	0   CoreFoundation                      0x00000001804c88c0 __exceptionPreprocess + 172
	1   libobjc.A.dylib                     0x00000001800937cc objc_exception_throw + 72
	2   CoreFoundation                      0x00000001804c87d0 -[NSException initWithCoder:] + 0
	3   APPNAME.debug.dylib            0x0000000107adb508 +[PFObject(Private) _assertValidInstanceClassName:] + 112
	4   APPNAME.debug.dylib            0x0000000107ae01c0 -[PFObject init] + 268
	5   APPNAME.debug.dylib            0x0000000107ae0470 +[PFObject objectWithClassName:objectId:completeData:] + 172
	6   APPNAME.debug.dylib            0x0000000107ae06e4 +[PFObject objectWithoutDataWithClassName:objectId:] + 160
	7   APPNAME.debug.dylib            0x0000000107aa0ef8 +[PFObjectFile2025-05-08 18:39:14.684569+0200 APPNAME[52544:1868000] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Invalid class name. Class names cannot start with an underscore.'
*** First throw call stack:
(
	0   CoreFoundation                      0x00000001804c88c0 __exceptionPreprocess + 172
	1   libobjc.A.dylib                     0x00000001800937cc objc_exception_throw + 72
	2   CoreFoundation                      0x00000001804c87d0 -[NSException initWithCoder:] + 0
	3   APPNAME.debug.dylib            0x0000000107adb508 +[PFObject(Private) _assertValidInstanceClassName:] + 112
	4   APPNAME.debug.dylib            0x0000000107ae01c0 -[PFObject init] + 268
	5   APPNAME.debug.dylib            0x0000000107ae0470 +[PFObject objectWithClassName:objectId:completeData:] + 172
	6   APPNAME.debug.dylib            0x0000000107ae07c0 +[PFObject object] + 160
	7   APPNAME.debug.dylib            0x0000000107a8c284 __56-[PFCurrentInstallationController getCurrentObjectAsync]_block_invoke.9 + 196
	8   APPNAME.debug.d
Coder objectFromData:usingDecoder:] + 276
	8   APPNAME
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Invalid class name. Class names cannot start with an underscore.'
*** First throw call stack:
(
	0   CoreFoundation                      0x00000001804c88c0 __exceptionPreprocess + 172
	1   libobjc.A.dylib                     0x00000001800937cc objc_exception_throw + 72
	2   CoreFoundation                      0x00000001804c87d0 -[NSException initWithCoder:] + 0
	3   APPNAME.debug.dylib            0x0000000107adb508 +[PFObject(Private) _assertValidInstanceClassName:] + 112
	4   APPNAME.debug.dylib            0x0000000107ae01c0 -[PFObject init] + 268
	5   APPNAME.debug.dylib            0x0000000107ae0470 +[PFObject objectWithClassName:objectId:completeData:] + 172
	6   APPNAME.debug.dylib            0x0000000107ae06e4 +[PFObject objectWithoutDataWithClassName:objectId:] + 160
	7   APPNAME.debug.dylib            0x0000000107aa0ef8 +[PFObjectFileCoder objectFromData:usingDecoder:] + 276
	8   APPNAME.debug.dylib            0x0000000107aa2df0 __69-[PFObjectFilePersistenceController loadPersistentObjectAsyncForKey:]_block_invoke.2 + 92
	9   APPNAME.debug.dylib            0x0000000107afbd78 __62-[BFTask continueWithExecutor:successBlock:cancellationToken:]_block_invoke + 76
	10  APPNAME.debug.dylib            0x0000000107afb88c __55-[BFTask continueWithExecutor:block:cancellationToken:]_block_invoke + 72
	11  APPNAME.debug.dylib            0x0000000107af98d0 __29+[BFExecutor defaultExecutor]_block_invoke_2 + 128
	12  APPNAME.debug.dylib            0x0000000107af9d8c -[BFExecutor execute:] + 60
	13  APPNAME.debug.dylib            0x0000000107afb54c -[BFTask runContinuations] + 272
	14  APPNAME.debug.dylib            0x0000000107afb180 -[BFTask trySetResult:] + 112
	15  APPNAME.debug.dylib            0x0000000107afc2a4 -[BFTaskCompletionSource setResult:] + 60
	16  APPNAME.debug.dylib            0x0000000107afba34 __55-[BFTask continueWithExecutor:block:cancellationToken:]_block_invoke_2 + 160
	17  APPNAME.debug.dylib            0x0000000107afb88c __55-[BFTask continueWithExecutor:block:cancellationToken:]_block_invoke + 72
	18  APPNAME.debug.dylib            0x0000000107af98d0 __29+[BFExecutor defaultExecutor]_block_invoke_2 + 128
	19  APPNAME.debug.dylib            0x0000000107af9d8c -[BFExecutor execute:] + 60
	20  APPNAME.debug.dylib            0x0000000107afb54c -[BFTask runContinuations] + 272
	21  APPNAME.debug.dylib            0x0000000107afb180 -[BFTask trySetResult:] + 112
	22  APPNAME.debug.dylib            0x0000000107afc2a4 -[BFTaskCompletionSource setResult:] + 60
	23  APPNAME.debug.dylib            0x0000000107afb940 __55-[BFTask continueWithExecutor:block:cancellationToken:]_block_invoke + 252
	24  libdispatch.dylib                   0x0000000100743ec8 _dispatch_call_block_and_release + 24
	25  libdispatch.dylib                   0x000000010075d798 _dispatch_client_callout + 12
	26  libdispatch.dylib                   0x000000010077b624 _dispatch_queue_override_invoke + 976
	27  libdispatch.dylib                   0x0000000100757290 _dispatch_root_queue_drain + 356
	28  libdispatch.dylib                   0x0000000100757dd4 _dispatch_worker_thread2 + 256
	29  libsystem_pthread.dylib             0x0000000100c66b90 _pthread_wqthread + 228
	30  libsystem_pthread.dylib             0x0000000100c6598c start_wqthread + 8
)
libc++abi: *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Invalid class name. Class names cannot start with an underscore.'
*** First throw call stack:
(
	0   CoreFoundation                      0x00000001804c88c0 __exceptionPreprocess + 172
	1   libobjc.A.dylib                     0x00000001800937cc objc_exception_throw + 72
	2   CoreFoundation                      0x00000001804c87d0 -[NSException initWithCoder:] + 0
	3   APPNAME.debug.dylib            0x0000000107adb508 +[PFObject(Private) _assertValidInstanceClassName:] + 112
	4   APPNAME.debug.dylib            0x0000000107ae01c0 -[PFObject init] + 268
	5   APPNAME.debug.dylib            0x0000000107ae0470 +[PFObject objectWithClassName:objectId:completeData:] + 172
	6   APPNAME.debug.dylib            0x0000000107ae07c0 +[PFObject object] + 160
	7   APPNAME.debug.dylib            0x0000000107a8c284 __56-[PFCurrentInstallationController getCurrentObjectAsync]_block_invoke.9 + 196
	8   APPNAME.debug.dylib            0x0000000107afbd78 __62-[BFTask continueWithExecutor:successBlock:cancellationToken:]_block_invoke + 76
	9   APPNAME.debug.dylib            0x0000000107afb88c __55-[BFTask continueWithExecutor:block:cancellationToken:]_block_invoke + 72
	10  APPNAME.debug.dylib            0x0000000107af98d0 __29+[BFExecutor defaultExecutor]_block_invoke_2 + 128
	11  APPNAME.debug.dylib            0x0000000107af9d8c -[BFExecutor execute:] + 60
	12  APPNAME.debug.dylib            0x0000000107afb54c -[BFTask runContinuations] + 272
	13  APPNAME.debug.dylib            0x0000000107afb180 -[BFTask trySetResult:] + 112
	14  APPNAME.debug.dylib            0x0000000107afc428 -[BFTaskCompletionSource trySetResult:] + 60
	15  APPNAME.debug.dylib            0x0000000107aa9ed0 __28-[PFAsyncTaskQueue enqueue:]_block_invoke_2 + 140
	16  APPNAME.debug.dylib            0x0000000107afb88c __55-[BFTask continueWithExecutor:block:cancellationToken:]_block_invoke + 72
	17  libdispatch.dylib                   0x0000000100743ec8 _dispatch_call_block_and_release + 24
	18  libdispatch.dylib                   0x000000010075d798 _dispatch_client_callout + 12
	19  libdispatch.dylib                   0x000000010077b624 _dispatch_queue_override_invoke + 976
	20  libdispatch.dylib                   0x0000000100757290 _dispatch_root_queue_drain + 356
	21  libdispatch.dylib                   0x0000000100757dd4 _dispatch_worker_thread2 + 256
	22  libsystem_pthread.dylib             0x0000000100c66b90 _pthread_wqthread + 228
	23  libsystem_pthread.dylib             0x0000000100c6598c start_wqthread + 8
)
terminating due to uncaught exception of type NSException
libc++abi: terminating due to uncaught exception of type NSException
Copy link

parse-github-assistant bot commented May 8, 2025

🚀 Thanks for opening this issue!

ℹ️ You can help us to fix this issue faster by opening a pull request with a failing test. See our Contribution Guide for how to make a pull request, or read our New Contributor's Guide if this is your first time contributing.

@mtrezza mtrezza added the type:bug Impaired feature or lacking behavior that is likely assumed label May 9, 2025
@mtrezza
Copy link
Member

mtrezza commented May 9, 2025

If this cannot be reproduced, then my guess is that this is an issue with your app or environment. You also mentioned an Xcode crash before; so it may he a Xcode cache issue or Simulator issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type:bug Impaired feature or lacking behavior that is likely assumed
Projects
None yet
Development

No branches or pull requests

2 participants