Subscribe to this thread
Home - General / All posts - Manifold 9 hanging
tjhb

8,335 post(s)
#09-Nov-18 22:46

Over the past week, using I have had a number of permanent hangs (about four, with "permanent" meaning hours if left alone) in the following general situation.

I have been editing SQL, running a single statement with Alt-Enter, then executing another action, such as running a different statement in the same query, or toggling the !fullfetch directive.

In some cases I have initiated the second action without waiting for the first to return all of its results. (I am unsure whether this is a supported scenario, but it is permitted.) In other cases, such as the case that just occurred,* I did wait for the first statement to finish returning results, before toggling !fullfetch on (it was previously off).

[*Correction: the present case was not a permanent hang. It lasted only long enough for me to write this post. (I'm a slow writer.) Manifold is back now.]

The queries have generally included a VALUE statement defining one or more source tables. They have usually or always involved tables in a temporary child database (the visible kind).

I am becoming extremely careful about exporting my code.

This is at least with build 9.0.168.0, possibly also with 9.0.168.4 (not sure).

I'm not sure I've got enough detail to send a report to Tech yet.

Can other people keep an eye out for this sort of behaviour, and add a notes if they see it too? I'll post if it happens again.

tjhb

8,335 post(s)
#10-Nov-18 05:48

I am becoming extremely careful about exporting my code.

On the other hand, one of the many things I love about 9, all the time every day, is that we can copy a whole folder in the Project pane, switch to another instance, and paste the whole lot at once.

In Manifold 8 I used to use scripts to export everything carefully to a file system folder. That reduced risk and increased convenience, fine, but what is built in to 9 is much quicker and cleaner.

Another helpful thing is the option to write a further numbered version of anything exported. That saves time and worry.

These features, coupled with "matryoshka" project nesting, make project development, including versioning, miles faster and easier than it has ever been in 8. There's no comparison.

So it is very easy to be safe.


I have the feeling that the few hangs I have seen this week have something closely to do with the !fullfetch directive. But the feeling is only that so far.

adamw


8,204 post(s)
#12-Nov-18 09:52

Regarding trying to run a statement in a command window while the previous statement is still returning results - we currently let the previous statement continue returning results until we understand that the new statement is well-formed (no syntax errors, all referenced components are valid, etc). Maybe we are being too permissive with this and should just stop the currently running statement the moment you submit a new one whether or not the new statement is well-formed, because otherwise if the running statement is a resource hog, it might continue consuming resources for longer than needed and the additional time might be noticeable (it shouldn't be all that long, but there might be various edge cases so no guarantees that it would be short).

I would be surprised if this is related to using VALUE, I would guess the effect could be reproduced without using VALUE at all, just using the right part of it.

Obviously, if you can reproduce it, we'd be happy to look into what exactly is going on and taking corrective measures.

Manifold User Community Use Agreement Copyright (C) 2007-2017 Manifold Software Limited. All rights reserved.