Filter Using "Not Reconciled" #464

Closed
ChiSoftwareGuy opened this Issue Jul 3, 2016 · 9 comments

Projects

None yet

2 participants

@ChiSoftwareGuy
ChiSoftwareGuy commented Jul 3, 2016 edited
Application Name: moneyGuru
Version: 2.10.0

Traceback (most recent call last):
  File "/usr/share/moneyguru/qtlib/table.py", line 90, in flags
    row = self.model[index.row()]
  File "/usr/share/moneyguru/hscommon/gui/table.py", line 42, in __getitem__
    return self._rows.__getitem__(key)
IndexError: list index out of range

New user. Only about 2 months worth of data, and the second time reconciling. I have two simple accounts. A credit card and a checking/debit card. I have been adding in different transaction for the past couple weeks.

I have my bank statement for the checking account and went to reconcile. When selecting "not reconciled" from the filter bar, I get a pop-up with the message above. Looks similar to #393, but occurs in a different script.

This now occurs every time I select not-reconciled from any of the Transactions tab or either of the two account tabs I set up. It does not matter if I have one, two or all three tabs open.

@hsoft hsoft added the bug label Jul 3, 2016
@hsoft
Owner
hsoft commented Jul 3, 2016

Thanks for the thorough report. I'll see if I can reproduce it.

@hsoft
Owner
hsoft commented Jul 3, 2016

@ChiSoftwareGuy I'm having some troubles reproducing the bug, and I would have further questions:

  1. Does it occur regardless of the selected date range? If you change your date range, does it still occur?
  2. You say that it now occurs all the time. If you quit moneyGuru and restart it, does it still occur?
  3. Would you by any chance remember the last action you've performed before the first occurrence of the crash? Was it setting the filter? Reconciling a transaction? Editing a transaction?
@ChiSoftwareGuy

Hello Virgil

Yes. It still occurs after shutting down and restarting. I have started it several times, saved the file before the crash occurs. But anytime I select the not reconciled option, the message pops up.

I have not been using this very long, so I have not really had a need to modify the date range option, that I know of. I believe I am using the default. Just under the menu bar, the date range shows as Jan 2016 - Dec 2016.

The way I have been using the application so far, is, every couple days or so, I would go in and put amounts for the two different accounts. For example, my son take Uber quite often. I get email receipts for those rides. I would go into the credit card account, click the + at the bottom of the page. Put in the proper date and tab over to the Decrease column and enter the amount, then hit Enter.

I have had no issues with entering the different items for the accounts.

Yesterday, I took my bank statement and then selected the Not-Reconciled option under the tab bar. Immediately that message popped up. I exited and restarted. As soon as I selected the same not reconciled option, the message came up.

I tried closing any of the tabs I was not using, to see if that made a difference, but, as of yet, it has not.

I am rather new to Ubuntu. I found your monyGuru app, as I was writing a goofy script to scour all my drives on my different computers to consolidate my photos and using your dupeGuru to remove the duplicates.

I don't know if a bit of history would be of use:
Currently I am running Ubuntu Xenial 16.04. I know this is a very new release, but I had been running Wily Werewolf 15.10. I ended up upgrading as I was having a number of issues and 16.04 was touted as long term support.

I thought I would gather some more details for you. I went in to change the data Range option. I went to View -> Date Range -> Custom. I changed the Start: to 06/01/2016 and the End: to 07/03/2016 and Under the name: I called it Custom 1. When I selected OK, the same message documented popped up. I then exited moneyGuru and restarted. When I restarted, the date range was set to the custom range I had just set, even though I exited without saving.

It's not always I can make it fail, however, using a number of different date ranges (I got curious from your suggestion) it will fail at some point as I go down the different filter options. Sometime not-reconciled will work, but then I go and select All or another option and the message may pop up.

Is it possible that my .moneyguru file is corrupt?

I did not mean for this to cause you any grief. I am a very new user and perhaps I have done something incorrect and damaged my configuration or data.

@ChiSoftwareGuy

Here is another update, that will probably now make this impossible to reproduce...

I realize, that i have been doing things quite differently, depending on what I am doing and where I am,

I have this app installed on an old Dell Latitude E6410 laptop running Ubuntu 16.04 (Xenial). When I login to the laptop directly I use the Unity Desktop. This is where I was noticing all the pop up messages stated.

However, a lot of time I access this laptop from my work laptop which runs Windows 7. I use the basic MobaXterm Xserver and use AwesonWM as the Desktop from there. I noticed today, when running from the Windows laptop through AwesomeWM, that this issue does not occur.

This issue only seems to occur when I am running directly on the Dell laptop with Xenial 16.04 install and using the Unity Desktop.

So, sorry for all the random back and forth and changing of environments. I am content to use moneyGuru through AwesomeWM. I have a bot more flexibility this way.

@hsoft
Owner
hsoft commented Jul 5, 2016 edited

Thanks again for the extensive testing. Don't worry about annoying me, thorough testing from a user is always much appreciated. Some type of bugs are very hard to catch without this kind of testing, so I'm happy to have a chance to catch such a bug.

Xenial seems to be a good lead, I'll do more testing there.

Another question: does the bug occur only with "Not Reconciled" or does it also happen with other filters (Reconciled, Income, Expense, etc.)?

@hsoft hsoft self-assigned this Jul 5, 2016
@ChiSoftwareGuy

It can happen when using any of the filter radio buttons, but not every single time one is selected.

It also occurs if I use the search feature.

Again, this only occurs when using Unity and not when using AwesomeWM.

@hsoft
Owner
hsoft commented Jul 9, 2016 edited

I have reproduced the issue on Ubuntu 16.04. It's rather easy to reproduce. Here's what I did:

  1. Fresh Ubuntu 16.04 install in a Virtualbox
  2. Install moneyguru through the PPA
  3. Launch moneyguru
  4. Open the example document
  5. Transactions tab
  6. Select the Not Reconciled filter
  7. No crash
  8. Select the All filter
  9. Select the Income filter
  10. Crash
  11. Select the Not reconciled filter
  12. Crash

I'll investigate further when I have a little more time. Thanks again for the heads up @ChiSoftwareGuy

@hsoft hsoft added a commit that closed this issue Jul 10, 2016
@hsoft Fix crash with filters under Ubuntu 16.04
fixes #464

Our crash would occur when changing the filter of a txn or entry view
that resulted in an smaller list than what we had before. The `_fill()`
method, which would happen after our `core` part of the list was
filtered but before our `ui` part of the list was refreshed, would
trigger a UI update through scrolling. Then, this UI update would
trigger an information fetch for an index that didn't exist, our core
table having less rows than our ui table.

This bug could only be reproduced on newer versions of qt (Ubuntu
16.04), which is surprising because the behavior being changed in this
commit was clearly faulty.
8cdd926
@hsoft hsoft closed this in 8cdd926 Jul 10, 2016
@hsoft
Owner
hsoft commented Jul 10, 2016

@ChiSoftwareGuy I'm pretty sure I found the root cause of the problem, which I've fixed in the commit referenced above. If you're comfortable with building from source, could you give it a try and tell me if it fixes the problem on your side?

@ChiSoftwareGuy

Looks like that worked for me. I ran through all the scenarios where it was crashing on me previously and there were no issues. I was unable to get it to fail as it had been.

Thanx!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment