CRASH: 4.5 Beta 13: Starting Logos -- URGENT REPLY NEEDED!!!

Rosie Perera
Rosie Perera Member Posts: 26,194 ✭✭✭✭✭

Logos had been running in the background doing nothing.

When I switched back to it after some time, I noticed it had crashed. It says "out of memory exception" but there's no way I was really out of memory. I'd just recently rebooted the machine a few hours prior and had practically nothing else running, and I have gobs of memory on this machine.

Logs attached.

6523.Crash20120110.zip

The stack trace looks unusually long. Wonder if there was some unintended recursion going on there or something?

 

EDIT: This is  reproducible; it now crashes whenever I start up Logos. Here's the most recent log.

8267.Crash20120110b.zip

I could try starting to a blank layout but before I do that I would like a response from Logos to see if they need me to send any other files along that might help them troubleshoot how it got into this state.

Comments

  • Kevin Byford (Faithlife)
    Kevin Byford (Faithlife) Member, Logos Employee Posts: 4,309

    Hello Rosie,

    I have submitted you logs to our Development department and written up a case.  Do you remember what resources, etc. might have been open at the time of the initial crash?

  • Bradley Grainger (Logos)
    Bradley Grainger (Logos) Administrator, Logos Employee Posts: 12,191

    I could try starting to a blank layout but before I do that I would like a response from Logos to see if they need me to send any other files along that might help them troubleshoot how it got into this state.

    A blank layout should fix this problem. My guess is that the program is running out of memory because it's trying to run 5 searches in parallel--one of which is a search for "*"--while loading visual filter and/or search results data for ~30 resource panels (some of which are media resources possibly displaying large images) while simultaneously checking for updated resources (because new items were unlocked) and reindexing your library catalog (because metadata changed or new resources were added).

    Looks like the program is just trying to do too much at once; starting from scratch and building a slightly less complex layout should avoid the crash.

  • Rosie Perera
    Rosie Perera Member Posts: 26,194 ✭✭✭✭✭

    I could try starting to a blank layout but before I do that I would like a response from Logos to see if they need me to send any other files along that might help them troubleshoot how it got into this state.

    A blank layout should fix this problem. My guess is that the program is running out of memory because it's trying to run 5 searches in parallel--one of which is a search for "*"--while loading visual filter and/or search results data for ~30 resource panels (some of which are media resources possibly displaying large images) while simultaneously checking for updated resources (because new items were unlocked) and reindexing your library catalog (because metadata changed or new resources were added).

    Looks like the program is just trying to do too much at once; starting from scratch and building a slightly less complex layout should avoid the crash.

    Ah yes, I do recall there were a few search tabs open, including one that was searching for "*" with highlighting.

    I suppose this scenario is unusual, but I would still expect Logos to shut down the offending process, close a tab if necessary, in order to recover gracefully, rather than crashing.

    EDIT: BTW, opening to a blank layout did fix the problem.

  • Bradley Grainger (Logos)
    Bradley Grainger (Logos) Administrator, Logos Employee Posts: 12,191

    I suppose this scenario is unusual, but I would still expect Logos to shut down the offending process, close a tab if necessary, in order to recover gracefully, rather than crashing.

    Yes, this would be ideal, but it's technically very challenging. (Other programs that have done this, such as Chrome and IE9, have had to move to a multi-process architecture, which is difficult enough with native code let alone with .NET & WPF.)

    The way we'll solve this problem is to port Logos 4 to 64-bit (so it can access all the memory on your system, not just the 1GB that is left after Windows & .NET have taken their share), which would probably coincide with a move to .NET 4. A prerequisite for that would be replacing the notes editor (see here) because the WPF one in .NET 4 has taken a step backwards in the features it supports, plus replacing other parts of WPF's text layout system. A move to .NET 4 also requires that the C++ compiler be upgraded, which means we have to upgrade and recompile quite a number of third-party libraries (see the About dialog for details) as well as audit all our own code for differences between C++03 and the subset of C++11 that the latest Visual C++ compiler supports. Anyway, all of this to say that: we're aware of the problem, we have a plan to solve it, but it won't be in Logos 4.5.

  • Rosie Perera
    Rosie Perera Member Posts: 26,194 ✭✭✭✭✭

    I didn't expect a solution for Logos 4.5. That's getting down to just a trickle of bug fixes on each beta release now, so I'm guessing it will be shipping fairly soon, within a month? This looks like a much longer-term problem to deal with. I admire the challenge you guys are willing to take on. I'm glad I don't work in software development anymore. All of that sounds pretty daunting!

  • Lynden O. Williams
    Lynden O. Williams MVP Posts: 9,020

    The way we'll solve this problem is to port Logos 4 to 64-bit (so it can access all the memory on your system, not just the 1GB that is left after Windows & .NET have taken their share), which would probably coincide with a move to .NET 4. A prerequisite for that would be replacing the notes editor (see here) because the WPF one in .NET 4 has taken a step backwards in the features it supports, plus replacing other parts of WPF's text layout system. A move to .NET 4 also requires that the C++ compiler be upgraded, which means we have to upgrade and recompile quite a number of third-party libraries (see the About dialog for details) as well as audit all our own code for differences between C++03 and the subset of C++11 that the latest Visual C++ compiler supports. Anyway, all of this to say that: we're aware of the problem, we have a plan to solve it, but it won't be in Logos 4.5.

    Bradley, how about Logos 5? Could you ditch WPF and .Net in favour of your own native code? I am prepared to live with a 400 MB download. Subsequent updates will probably patch only what needs to be updated. If you release L5 in another two years, say November 2013, use beta testers to iron out the kinks, polish and optimize L4, bring parity to Mac, make offline searching possible for mobile devices, and their ability to read PB's, ..... We can wait on L5.

    Did I mention, let me move to Bellingham for two weeks, (all expenses paid) to try and break the software, ok, TC, MJ and Mark are invited. Oh and don't forget George, just make sure that his does not have an intelinear, By the time we leave, he will make sure that everyone is proficient in Biblical languages. [;)]

    It's been a long day.

    Mission: To serve God as He desires.

This discussion has been closed.