Thanks Richard. The data is OK. Not corrupt. I can import and export it to .csv, and I do run several sanity test (heavy calculations based on that data pass OK and provide expected results). Most important - the production build of the software (built half year ago), opens the same database and doesn't crash on the same data. It IS hanging about a second when opening those items but “survives” it.
I cannot save it as XML easily - it is a rather big database about 500MB with tens of millions of entities, in 20 interrelated tables (LOTS of complicated relations). Most of the logic of this software is in its schema. More things I’ve done: 1. I tested, double-clicking different items - it seems quite consistent. Anything over ~2500 items to show in that window will crash while smaller relation sets “survive” 2. I put a symbolic breakpoint on -[NSSQLiteConnection connect] and double-clicked an item that opens without crashing (about 1000 related items to show). The behaviour is weird. I hit the breakpoint time and again, with a stack that looks exactly like the one I described - except that in the first stop there is only ONE iteration of that binding thing, next break I’ll see 2 nested iterations of the binding calls, then 3, 4, 5 — and the stack gets longer and longer each hit. I did not survive to free it a 1000 times, but I think the rule is - it will iterate 1000 times, each time going deeper, until it either “survives” to open the window, or crashes for (what I think of as) stack overflow. 3. I tried to build with Xcode 9.4.1 (MacOS SDK 10.13) then with Xcode 10 (MacOS SDK 10.14) - same thing. I only have my MacOS 10.13 to try running on. I cannot run the original Xcode (8.x) with which the production version was built. It won’t run on my OS. I just do not know how to go about resolving this. Another idea I had — I’m using AutoLayout in the .xib file. Maybe — for pre-caculating the “needed” space for some table column, it needs to know in advance the widths of all texts it should ever display there, hence it is forced to scan the whole data via some bindings before it can finally show the table? If so - this cannot (of course) survive longer tables. Still the question why older builds do survive. Motti Shneor > On 4 Nov 2018, at 4:18, Richard Charles <rcharles...@gmail.com> wrote: > > >> On Nov 3, 2018, at 2:47 PM, Motti Shneor <motti.shn...@me.com> wrote: >> >> Can anyone suggest a way to start bisecting the issue or an idea where to >> look for? > > You may have bad or corrupted data in your core data persistent store. Save > the file out as an xml and see if you find anything suspicious. > > You could also open the sqlite file with the Base.app by Menial and see what > happens and take a look at the data. > > --Richard Charles > _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com