Wealth-Lab crashes from clipboard conflict / Push code error
Author: sourkraut
Creation Date: 2/27/2011 6:16 PM
profile picture

sourkraut

#1
FYI,

I get frequent crashes of WealthLab, when I copy a segment of code inside the strategy code editor.

WL 6.1.27.0 64-bit (same problem with 32 bit); Windows 7, ca 10 applications running.

The crashes appear to be related to a text editor, "NoteTab Pro" (www.notetab.com), which captures clipboard to a text file, when something is copied to the clipboard.
I notice no interference with other software.

When I turn clipboard capture off, WL doesn't crash during edits.
profile picture

Eugene

#2
Firstly, what do you mean by saying "crash"? A crash makes an application to shut down.

Unfortunately, Wealth-Lab's 3rd party editor component (QWhale Editor) is known for producing an exception message on clipboard conflict (like the one you described) that you can Continue to close but that's all. No crash if you just hit Escape, ignoring the exception.

For example, the same issue can arise when copying/pasting while a VNC/RDP session is active and clipboard sharing is enabled. Anyway, thank you for the report.
profile picture

Cone

#3
I've seen that clipboard problem recently too and it's very annoying. An exception message is displayed, but you can click "Continue" to continue working.

Although I can't reproduce it at will, It seems to pop up when doing very quick copy and paste actions. We'll get it in the bug list, but it will take time to isolate and determine if it's a QWhale problem or not. If anyone has a procedure to consistently duplicate the problem, please let us know.
profile picture

Eugene

#4
I'm able to duplicate this annoyance simply by copying from the Editor while a UltraVNC session is active.
profile picture

sourkraut

#5
QUOTE:
what do you mean by saying "crash"? A crash makes an application to shut down.

WL shuts down w/o warning. There are occasional exception messages, but what I'm getting is complet shut-down, including loss of most recent edits.

Of course when I try to deliberately cause a crash, it doesn't.
profile picture

Eugene

#6
A picture of what's going on when it crashes would be appreciated. tia.
profile picture

sourkraut

#7
QUOTE:
picture of what's going on when it crashes

I will try, but the scenario I posted about leaves me with whatever app was open underneath WL.

At present I cannot duplicate this event. I do get occasional crashes with warning, offering the option to shut down WL or debug. There is no option to continue. I'll get a screenshot next time that happens.
profile picture

dan_rozenberg

#8
Sometimes my WL is also closed by Windows when i try to copy the Equity + Drawdown image to the clipboard...but its somewhat rare and I don't know how to reproduce it yet...
profile picture

Eugene

#9
Based on your description, it's most likely a different issue that could have something to do with the 3rd party ZedGraph control used in the Equity + Drawdown visualizer -- unless the issue affects other visualizers (such as built-in) not based on this component.

Next time it happens, please include a screenshot and/or a error message (if any).
profile picture

sourkraut

#10
I'm getting tired of WL crashing on average once a day. Clipboard crashes, mystery crashes, now a specific, reproducable crash from pushing one indicator on top of another.

I was experimenting with ROC(Close,2) versus DataSeries Close / (Close >> 2). I dragged 'n dropped the ROC indicator onto a Parabolic SAR (that just happened to be in the experimental code below), set it's period to 5, and then clicked on the "push indicator into strategy code" button. WL crashed. Repeatedly, also in different strategies.

When ROC is applied to the Close, WL does NOT crash when ppushed into the code.
Nor did it crash, when the desired code was cobbled by hand.

The following code, stripped of components bit by bit, for example, still crashes:

CODE:
Please log in to see this code.


I would appreciate getting the current mess mopped up, before spilling new features on top of it.

profile picture

Eugene

#11
Of course the code fragment pastes well in 6.2 and runs there just fine too. Pasted indicators, however, on rare occasion not always do, and in this case first thing you need is to get rid of that "spoiled" strategy file. Create a new one, paste the code, don't push any indicators, compile, voila.

Next step is to find out the misbehaving indicator, reproduce the crash/exception/error message scenario, and understand why it happens. Chances are, the indicator isn't handling something properly; it happened in the past (5.x) with Wealth-Lab standard indicators after which a fix was applied.

Re: copy/paste, we talked about that before a number of times. Alongside the cool multi-system testing feature, the developers were working out the copy/paste issues in 6.2.
profile picture

sourkraut

#12
QUOTE:
Of course the code fragment pastes well in 6.2 (1)and runs there just fine too.(2) Pasted indicators, however, on rare occasion not always do, and in this case first thing you need is to get rid of that "spoiled" strategy file. Create a new one, paste the code, don't push any indicators(3), compile, voila.


1. My welathlab (pro|con)fesses to being Version 6.1.27.0 64bit Edition, and when I click on Update Software, I get "The installed version of WealthLabPro is current", just a few minutes after your post.

2. The code posted above does run fine. As do a number of other strategies, all of which I have tested by pushing the ROC indicator into the code, all of which crashed WL when doing so. This is NOT a rare occasion.

3. PUSHING indicators into the strategy code is the one feature, that sets WL apart from it's alternatives. Suggesting NOT to push the indicator is tossing out this feature.


QUOTE:
Next step is to find out the misbehaving indicator(4), reproduce the crash/exception/error message scenario(5), and understand why it happens(6).


4. Did I not mention this indicator above? ROC!

5. Done that, and posted it above.

6. I would think "understanding why this happens" would be the job of the developer. I have already reported that the code resulting form such a push, entered by hand, runs fine. So it isn't the indicator or the resulting code, but the PUSHING process, that crashes wl.

profile picture

Eugene

#13
1. I didn't say it's available to you. As it has always been, we (MS123 LLC) have been working with prerelease version before they come out.

2, 4, 5 - Pushing the 5-period ROC dropped onto a Parabolic SAR is smooth in 6.2, no crash can be reproduced for me, on different data sets and various data loading range settings.

3. I didn't say that. What I said was "isolate, reproduce, understand" to describe the approach we use ourselves.

6. Sure, your understanding about the job of the developer is correct. Perhaps I'm not being clear and it sounded like it's your responsibility while it's not.
profile picture

sourkraut

#14
OK, I understand.
If I seem irritated, it's because I seem to spend more time with "issues" than developing/refining strategies. The copy/paste issue alone is driving me nuts. I even find myself hesitating to use the clipboard in Visual Studio, which doesn't have a problem with it. 8=(
profile picture

Cone

#15
I see the clipboard exception occasionally too, but it's not a "crash", at least not for me. Just click "Continue" and you can continue. Sure it's a nuisance, and a developer has given some attention to it for 6.2, but since it's impossible to produce when you need it to happen, the bug remains. It's part of our job to help define a procedure to reproduce problems, but this just isn't always possible and we need help too.

For me I think it usually happens when I do this quick copy sequence, which I can do in a fraction of a second: Shift+Home, Ctrl+C, End, Return, Ctrl+V.

But I just did it 10 times (in 5 seconds) and no exception... and that's why we'll continue to have this problem - it's 1000x harder to fix a problem you can't duplicate, and if a developer spends all their time trying to understand why a problem happens that they can't make happen, then they won't have time to fix problems that they do understand how to fix.
profile picture

Eugene

#16
I understand your frustration. Sometimes, no matter what we try, bug just escapes reproducing. You might want to supply additional details w.r.t. pushing the ROC onto SAR i.e. data provider, data loading settings, anything else you find important.
profile picture

sourkraut

#17
Cone,

QUOTE:
I see the clipboard exception occasionally too, but it's not a "crash", at least not for me. Just click "Continue" and you can continue.
There appears to be a difference between the 32-bit and 64-bit version. I _have_ seen the option to "continue" in the 32-bit version, but never in the 64-bit. In the 64bit, my only options are "Debug" or "Close Program".

Eugene,

QUOTE:
supply additional details
You saw the code. To my knowledge, I have reported all available details in this thread.

I repeat my conclusion, that the problem must be in the pushing mechanism, rather than the indicators. Pushing an EMA generated the same crash. I just tried this with a 25 bar period. Applied to the closing price, then pushed, worked. Applied to the SAR and pushed crashed WL.
profile picture

Eugene

#18
Neither the code above nor the ROC/SAR scenario crash WL here. Without additional details, it's just another "Windows 7 multiple monitor issue" that had nothing to do with WL and which nobody else experienced or could reproduce.

P.S. WL doesn't exist in vacuum. Everything about the computer such as a bad RAM stick... the O.S. configuration, the state of .NET framework, 3rd party apps, installed drivers... custom DLLs in your WLP main folder... everything can affect WL in this very complex environment and produce a bug that nobody else will see (but you). It's important to keep this in mind when thinking in terms like "the current mess".
profile picture

Cone

#19
QUOTE:
In the 64bit, my only options are "Debug" or "Close Program".
Thanks for clarifying. I'll add this to the bug report.
profile picture

sourkraut

#20
QUOTE:
Without additional details, it's just another "Windows 7 multiple monitor issue"
Following are the exact steps I use to generate the crash at will. You tell me what additional details you want, and how your platform differs from mine, and I'll see if I can provide these details.

0. Using WelathLabPro 6.1.27.0 64-bit Edition, on Windows 7 Ultimate N, 64-bit, SP 1
8 GB RAM, 2.33 GHz Quad-core Intel CPU, dual monitors on ATI Radeon HD 5700 grafix board, with most of its features disabled.

1. New Chart (XLE, if it matters) (no other strategies or charts open).

2. Drop SAR on Close, push into code, compile

3. Drop SMA on Close, push into code (no crash), compile

4. Remove the SMA from the code, compile
CODE:
Please log in to see this code.


5. Drop SMA on SAR, push it into code, CRASH

QUOTE:
Without additional details, it's just another "Windows 7 multiple monitor issue"
My monitors are not crashing, Neither is Windows 7, nor are other apps crashing. WealthLab crashes when using one of its own built-in features. Even if it only crashes on dual-monitor machines (though I cannot for the world see a connection between pushing and the monitor), it only means that the WL developers did not take dual monitors into consideration, when developing WL.
Have you considered, that pushing may be related to the known to be buggy editor?
profile picture

Eugene

#21
Thank you for the description. It is really helpful in reproducing the bug, and we'll pass it on to the developers.

It's not a crash -- just to use the right terminology -- but an unhandled exception error message (in WealthLab.ChartControl.IndicatorDragDropManager.a) allowing me to continue working in WL. To simplify reproducing the bug, I derived this scenario:

1. Create an indicator (e.g. SMA) in code, Execute
2. Drop an indicator (e.g. WMA) on that code-based SMA, Push
QUOTE:
it only means that the WL developers did not take dual monitors into consideration, when developing WL.

When a real WL bug is found (like last Symbol Info Manager wildcard issue), the forum/support portal becomes synchronously populated with similar reports coming from different parts of the world.

So it only means that on your particular configuration, there was an issue related to some other part of that configuration (as WL6 works on multiple monitors seamlessly), supposedly fixed by a service pack, and that can't be noticed and reproduced by anybody so far else including me (I did try).
profile picture

Cone

#22
Good procedure. I can duplicate that exception, not a crash for me here either. If you find a procedure like that for the clipboard bug, that would be great.
profile picture

sourkraut

#23
QUOTE:
It's not a crash -- just to use the right terminology ... allowing me to continue working in WL

My WL does NOT offer an opportunity to continue working. The end result for me is a crash. My only choices (from a Windows pop-up) are to "terminate the program" or to "debug". Either choice results in program termination.

QUOTE:
When a real WL bug is found
So are you saying, that getting a reproducible "unhandled exception error" on your computer, is not confirmation, that there is a "real bug"?
profile picture

Eugene

#24
QUOTE:
So are you saying, that getting a reproducible "unhandled exception error" on your computer, is not confirmation, that there is a "real bug"?

I was talking about the mysterious display driver issue that can not be reproduced that was gone away following a service pack.

As 1) it seems pretty clear from the 2 paragraphs in my reply clearly refer to that issue and nothing else, and 2) both Cone and I reproduced the unhandled exception error (and the bug has already been entered in the system), I do not understand where have you found the connection between the push code bug and my previous remark about the multi-monitor issue.
profile picture

Eugene

#25
QUOTE:
My WL does NOT offer an opportunity to continue working.

Perhaps the difference (as Cone suggested above) can be somehow caused by the operating system "bitness". Maybe it could have something to do with the debugger installed in the system, but that's just my speculation.
This website uses cookies to improve your experience. We'll assume you're ok with that, but you can opt-out if you wish (Read more).