Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kitsas kaatuu MacOS:llä uutta tositetta tallentaessa #1368

Open
JJH86 opened this issue Nov 14, 2023 · 37 comments
Open

Kitsas kaatuu MacOS:llä uutta tositetta tallentaessa #1368

JJH86 opened this issue Nov 14, 2023 · 37 comments

Comments

@JJH86
Copy link

JJH86 commented Nov 14, 2023

  1. Mene uusi tosite -toimintoon.
  2. Tuo CSV-tiedosto ja PDF-tiedosto liitteeksi (OP Verkkopankki tiliote)
  3. Tee kohdistukset
  4. Tallenna

Ohjelma tallentaa tiedot oikein mutta kaatuu samalla. Toistettu kahdella eri koneella ja erillisellä asennuksella/kirjanpidolla.

Liitteenä virhe:
kitsas_error.log

@JJH86
Copy link
Author

JJH86 commented Nov 14, 2023

Kitsas versio 5.1.1

@helihyv
Copy link
Collaborator

helihyv commented Nov 15, 2023

Toistuuko tuo myös versiolla 5.2-RC? (https://github.com/petriaarnio/kitupiikki/releases/tag/mac-v5.2-rc)

@anttipalsola
Copy link

Minulla Kitsas kattu vanhaa tositetta avattaessa samalla tavalla. Kitsas 5.1.2, MacOS 13.6, MacBook Pro 2023 M2.

@anttipalsola
Copy link

Ongelma toistui äsken myös versiolla 5.2-RC, muuten sama ympäristö.

@anttipalsola
Copy link

Ongelma ei toistunut Linuxissa (Ubuntu 22.04.3 LTS) Kitsas 5.1:llä.

@helihyv
Copy link
Collaborator

helihyv commented Nov 20, 2023

Palautteen kautta tulleessa raportissa tositteen valintaan kaatumisesta kaatuminen on tapahtunut samassa kohdassa kuin tässä tallennettaessa tapahtuneessa kaatumisessa. QTableview::currentChanged() kutsuminen vie libqcocoaan ja siellä näytettäisiin yritettävän lukea taulukosta arvoa virheellisellä indeksillä. libqcocoa on vain mac-koneilla oleva kirjasto. mikä selittänee sen että näitä ongelmia on esiintynyt vain mac-koneilla. (Villinä veikkauksena heittäisin että muissa käyttöjärjestelmissä käytetyssä koodissa indeksin oikeellisuus mahdollisesti tarkistettaisiin ennen käyttöä.)

Nyt pitäisi vielä selvittää miksi QTableview::currentChanged() on saanut näissä tilanteissa virheellisen / virheelliseksi muuttuvan indeksin....

@anttipalsola
Copy link

Jos tuosta kaatumisesta on jotain logia mahdollista ottaa talteen, voin sen toki tehdä. (Jos logi saattaa sisältää sensitiivistä tietoa, pitää toki vielä sopia yksityiskohdista.)

@JJH86
Copy link
Author

JJH86 commented Nov 21, 2023

Viiveellä vastaan mutta 5.2RC kaatuu yhtä lailla. Toimitan mielelläni logeja tai vastaavaa jos niistä on apua.

@petriaarnio
Copy link
Contributor

Tapahtuuko kaatuminen kaikilla liitteillä, sekä uusien tallennuksessa että vanhoja tositteita avatessa?

@anttipalsola
Copy link

@petriaarnio Minulla Kitsas ei ole kaatunut uutta tositetta lisättäessa ainakaan niin usein, että enää sitä muistaisin. Jos ymmärsin oikein, @JJH86 :lla Kitsas taas on kaatunut nimenomaan uutta tositetta luotaessa. Voi siis olla, että kyseessä onkin kaksi eri ongelmaa.

Vanhoja tositteita avatatessa Kitsas tuntuu minulla kaatuvan joka kerta, kun tositelaji on Tulo (ML), Meno (OL) tai Kululasku (KL). Toisaalta en saanut Kitsasta kaatumaan avattaessa tositetta, jonka tositelaji oli Muistio (MT), Palkka (P) tai Tiliote (T). Kokeilin kaikkia tositelajeja monta kertaa, ja vika näyttäisi olevan hyvin johdonmukainen.

Minulla on kaikissa tositteissa PDF-liitetiedosto, joten sitä en pysty sanomaan, onko liitetiedostolla tai sen puuttumisella merkitystä ongelman kannalta.

@anttipalsola
Copy link

anttipalsola commented Nov 22, 2023

Kokeilin vielä lisää ja lisäsin yhden tulo- ja yhden menotositteen. Tositteen lisääminen onnistui ongelmitta, mutta Kitsas kaatui, kun tositteita tallentamisen jälkeen yritti avata.

@anttipalsola
Copy link

Onko tämän ongelman korjaatumisesta arviota? Nykyisellään Kitsaan Mac-versio ei ole käytettävä.

@petriaarnio
Copy link
Contributor

Tässä on sellainen ongelma, että en ole saanut softaa kaatumaan omilla tositteilla. Olisiko mahdollista saada sämppeleitä tositteista, joilla kaatuminen tapahtuu?

@rjoonas
Copy link
Contributor

rjoonas commented Dec 26, 2023

Minulla Kitsas kaatuu samalla tavalla kuin @anttipalsola kuvasi: lähes mikä tahansa tosite, jossa on PDF-liite ja tositelajina Meno tai Kululasku, kaataa ohjelman tätä avatessa. Sama ongelma toistuu sekä versiossa 5.1.2 että 5.2-RC ja käyttiksenä on mac OS Sonoma 14.1.2 (23B92), laitteena MBP M1 vm 2021.

Tein kuitenkin vielä merkittävän lisähavainnon, josta voi olla apua: jos PDF-liitteen tallentaa ilman vientejä, bugia ei esiinny. Eli tein kokeeksi täysin samasta PDF-tiedostosta kaksi Meno-tyyppistä tositetta, jossa toiseen lisätään joku eurosumma ja menotili ja toisessa tosite tallennetaan ilman vientejä. Viennillisen tositteen klikkaaminen kaataa sovelluksen, viennittömän ei.

Olisiko mahdollista saada sämppeleitä tositteista, joilla kaatuminen tapahtuu?

@petriaarnio en usko että kyseessä on mikään kyseisiin PDF-liitteisiin liityvä piirre. Ainakin minulla on kirjanpidossa satoja PDF-tositteita kymmenistä eri lähteistä useilla eri tilikausilla, ja yhtäkkiä näistä minkä tahansa (Meno- tai Kululasku-tyyppisen) tositteen avaaminen kaataa Kitsaan.

@rjoonas
Copy link
Contributor

rjoonas commented Dec 26, 2023

@petriaarnio laitetaan nyt kuitenkin vielä esimerkin vuoksi jakoon vaikka Pagesilla luotu tyhjä PDF-tiedosto:
empty.pdf

Tuo liite kaataa minulla sekä 5.1.2 että 5.2-RC:n tositetta avatessa, jos se on liitteenä Meno-tyyppisellä tositteella, jolla on summa ja menotili, mutta ei kaada silloin jos tositteella ei ole vientiä. Bugi koskee kaikkia muitakin PDF:iä millä kokeilin.

@petriaarnio
Copy link
Contributor

petriaarnio commented Dec 31, 2023

Olen nyt testannut softaa sekä vanhemmalla Intel- että M1-macillä enkä saa ongelmaa näkyviin.
On lievästi sanottuna hankalaa tutkia tätä ongelmaa jos en pysty toistamaan kaatumista omassa ympäristössä.

@rjoonas
Copy link
Contributor

rjoonas commented Dec 31, 2023

Minulla saattaisi olla lähipäivinä aikaa tutkia tätä syvemmin, mutta pitää kyllä aloittaa ihan kehitysympäristön pystyttämisestä, kun edellisestä Kitsas-PR:stä alkaa olla aikaa. Oma lehmä ojassa, kun pitäisi saada kirjanpitoa tehtyä mutta softa kaatuilee.

@anttipalsola
Copy link

Voin vahvistaa @rjoonas 'n havainnon: Kun lisäsin tulotositteen (myyntilasku) PDF-liitteellä mutta ilman vientejä, tositteen pystyi avaamaan ilman, että Kitsas olisi kaatunut. Kun tositteeseen lisäsi viennin, Kitsas kaatui, kun tositteen seuraavan kerran avasi. Minäkin olen välissä päivittänyt käyttöjärjestelmän MacOS 14.2.1 (23C71):een, mutta tämä ei vaikuttanut ongelmaan suuntaan eikä toiseen. Ja koneena on siis ollut kokoajan MacBook Pro 14" 2023 M2 Pro.

@petriaarnio : Voisiko olla, että ongelma esiintyisi vain jollain tietyllä Kitsas-konfiguraatiolla, etkä siksi ole pystynyt sitä toistamaan? Minä teen kirjanpidot kahdelle yhdistykselle, ja ongelma esiintyy molemmilla. Alla on joka tapauksessa (ei-täydellinen) kuvaus käyttämistäni asetuksista molemmille yhdistyksille erikseen:

Kirjanpitovelvollinen 1

  • Kieli: suomi
  • Tilikartan kieli: suomi
  • Yritysmuoto: Yhdistys
  • Laajuus: Tavallinen, palkat
  • Tilikartta: Yhdistys 01.05.2023 (muutama oma lisäys)
  • Ei alv-velvollinen
  • Ei harjoituskirjanpito
  • Liitteiden käsittely:
    • Muuta mustavalkoiseksi: ei
    • Kuvan koko: 2/7
    • Kuvan laatu: 2/8
    • Liitteiden katselu: Suuri (oikea reuna)
  • Kohdennukset: Kustannuspaikkoja ja projekteja käytössä, merkkauksia ei
  • Laskutus: ei käytössä (oletusasetukset)
  • Maksutavat: oletukset
  • Tositesarjat: käytössä
  • Palkkakirjaustilit: oletukset.

Kirjanpitovelvollinen 2

  • Kieli: suomi
  • Tilikartan kieli: suomi
  • Yritysmuoto: Yhdistys
  • Laajuus: Tavallinen, palkat
  • Tilikartta: Yhdistys 01.05.2023 (muutama oma lisäys)
  • Ei alv-velvollinen
  • Ei harjoituskirjanpito
  • Liitteiden käsittely:
    • Muuta mustavalkoiseksi: ei
    • Kuvan koko: 2/7
    • Kuvan laatu: 2/8
    • Liitteiden katselu: Suuri (oikea reuna)
  • Kohdennukset: Kustannuspaikkoja käytössä, merkkauksia ei
  • Laskutus: ei käytössä (oletusasetukset)
  • Maksutavat: oletukset
  • Tositesarjat: ei käytössä
  • Palkkakirjaustilit: oletukset (käytännössä palkkakirjauksia ei ole tehty).

Käytännössä ero on siis lähinnä siinä, että ensimmäisellä yhdistyksellä on tositesarjat käytössä, toisella ei.

Saatko noilla asetuksilla toistettua?

Minäkin voisin periaatteessa kokeilla kehitysympäristön pystyttämistä, vaikka oma C++-osaamiseni onkin kyllä Hello world -tasoa.

@petriaarnio
Copy link
Contributor

Todennäköisesti tosiaan liittyy konffiin tms.

Olisiko mahdollista tehdä uusi näennäisfirman kirjanpito ja siihen vienti joka kaataa softan, ja sitten lähettää se minulle?

@rjoonas
Copy link
Contributor

rjoonas commented Dec 31, 2023

Asensin nyt QT Creatorin ja toistin crashin debuggerissa. Se pysäyttää tulomenoapuri.cpp konstruktoriin, tälle riville:

ui->alvProssa->addItems(QStringList() << "24,00 %" << "14,00 %" << "10,00 %");

missä kohtaa call stack näyttää tältä:

1   __pthread_kill                                                                                                                                                                                                                                                                                                      (arm64e) /usr/lib/system/libsystem_kernel.dylib                                                                          0x1817860dc 
2   pthread_kill                                                                                                                                                                                                                                                                                                        (arm64e) /usr/lib/system/libsystem_pthread.dylib                                                                         0x1817bdcc0 
3   abort                                                                                                                                                                                                                                                                                                               (arm64e) /usr/lib/system/libsystem_c.dylib                                                                               0x1816c9a40 
4   abort_message                                                                                                                                                                                                                                                                                                       (arm64e) /usr/lib/libc++abi.dylib                                                                                        0x181775070 
5   demangling_terminate_handler()                                                                                                                                                                                                                                                                                      (arm64e) /usr/lib/libc++abi.dylib                                                                                        0x18176512c 
6   _objc_terminate()                                                                                                                                                                                                                                                                                                   (arm64e) /usr/lib/libobjc.A.dylib                                                                                        0x18140b98c 
7   std::__terminate(void ( *)())                                                                                                                                                                                                                                                                                       (arm64e) /usr/lib/libc++abi.dylib                                                                                        0x181774434 
8   __cxxabiv1::failed_throw(__cxxabiv1::__cxa_exception *)                                                                                                                                                                                                                                                             (arm64e) /usr/lib/libc++abi.dylib                                                                                        0x181777520 
9   __cxa_throw                                                                                                                                                                                                                                                                                                         (arm64e) /usr/lib/libc++abi.dylib                                                                                        0x181777464 
10  objc_exception_throw                                                                                                                                                                                                                                                                                                (arm64e) /usr/lib/libobjc.A.dylib                                                                                        0x18140201c 
11  -[__NSArrayM objectAtIndexedSubscript:]                                                                                                                                                                                                                                                                             (arm64e) /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation                                   0x181886d10 
12  -[QMacAccessibilityElement initWithId:role:]                                                                                                                                                                                                                                                                        qcocoaaccessibilityelement.mm                                                                                       135  0x101a0a044 
13  +[QMacAccessibilityElement elementWithId:]                                                                                                                                                                                                                                                                          qcocoaaccessibilityelement.mm                                                                                       161  0x101a0a0c8 
14  QCocoaAccessibility::notifyAccessibilityUpdate(QAccessibleEvent *)                                                                                                                                                                                                                                                  qcocoaaccessibility.mm                                                                                              32   0x101a08688 
15  QListView::selectionChanged(QItemSelection const&, QItemSelection const&)                                                                                                                                                                                                                                           qlistview.cpp                                                                                                       3435 0x102c091a8 
16  void doActivate<false>(QObject *, int, void * *)                                                                                                                                                                                                                                                                    qobject.cpp                                                                                                         4033 0x1040cf48c 
17  QItemSelectionModel::selectionChanged(QItemSelection const&, QItemSelection const&)                                                                                                                                                                                                                                 moc_qitemselectionmodel.cpp                                                                                         660  0x104295e44 
18  QItemSelectionModel::emitSelectionChanged(QItemSelection const&, QItemSelection const&)                                                                                                                                                                                                                             qitemselectionmodel.cpp                                                                                             1909 0x104295e24 
19  QItemSelectionModel::select(QItemSelection const&, QFlags<QItemSelectionModel::SelectionFlag>)                                                                                                                                                                                                                      qitemselectionmodel.cpp                                                                                             1327 0x104295a2c 
20  QItemSelectionModel::select(QModelIndex const&, QFlags<QItemSelectionModel::SelectionFlag>)                                                                                                                                                                                                                         qitemselectionmodel.cpp                                                                                             1174 0x10429570c 
21  QItemSelectionModel::setCurrentIndex(QModelIndex const&, QFlags<QItemSelectionModel::SelectionFlag>)                                                                                                                                                                                                                qitemselectionmodel.cpp                                                                                             1402 0x1042968cc 
22  QComboBoxPrivate::setCurrentIndex(QModelIndex const&)                                                                                                                                                                                                                                                               qcombobox.cpp                                                                                                       2185 0x102a67338 
23  QComboBox::setCurrentIndex(int)                                                                                                                                                                                                                                                                                     qcombobox.cpp                                                                                                       2135 0x102a6a8b4 
24  QComboBoxPrivate::rowsInserted(QModelIndex const&, int, int)                                                                                                                                                                                                                                                        qcombobox.cpp                                                                                                       1127 0x102a6a870 
25  QtPrivate::QSlotObjectBase::call(QObject *, void * *)                                                                                                                                                                                                                                                               qobjectdefs_impl.h                                                                                                  433  0x1040cf224 
26  void doActivate<false>(QObject *, int, void * *)                                                                                                                                                                                                                                                                    qobject.cpp                                                                                                         4021 0x1040cf208 
27  QAbstractItemModel::rowsInserted(QModelIndex const&, int, int, QAbstractItemModel::QPrivateSignal)                                                                                                                                                                                                                  moc_qabstractitemmodel.cpp                                                                                          1356 0x10427e944 
28  QAbstractItemModel::endInsertRows()                                                                                                                                                                                                                                                                                 qabstractitemmodel.cpp                                                                                              2908 0x10427e914 
29  QStandardItemPrivate::insertRows(int, QList<QStandardItem *> const&)                                                                                                                                                                                                                                                qstandarditemmodel.cpp                                                                                              458  0x10321f1a8 
30  QComboBox::insertItems(int, QList<QString> const&)                                                                                                                                                                                                                                                                  qcombobox.cpp                                                                                                       2355 0x102a6de38 
31  QComboBox::addItems(QList<QString> const&)                                                                                                                                                                                                                                                                          qcombobox.h                                                                                                         136  0x1000dd830 
32  TuloMenoApuri::TuloMenoApuri(QWidget *, Tosite *)                                                                                                                                                                                                                                                                   tulomenoapuri.cpp                                                                                                   70   0x1000d9390 
33  TuloMenoApuri::TuloMenoApuri(QWidget *, Tosite *)                                                                                                                                                                                                                                                                   tulomenoapuri.cpp                                                                                                   41   0x1000e081c 
34  KirjausWg::tositeTyyppiVaihtui(int)                                                                                                                                                                                                                                                                                 kirjauswg.cpp                                                                                                       908  0x100545024 
35  QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<int>, void, void (KirjausWg:: *)(int)>::call(void (KirjausWg:: *)(int), KirjausWg *, void * *)                                                                                                                                                    qobjectdefs_impl.h                                                                                                  145  0x10054fa8c 
36  void QtPrivate::FunctionPointer<void (KirjausWg:: *)(int)>::call<QtPrivate::List<int>, void>(void (KirjausWg:: *)(int), KirjausWg *, void * *)                                                                                                                                                                      qobjectdefs_impl.h                                                                                                  182  0x10054f9a8 
37  QtPrivate::QCallableObject<void (KirjausWg:: *)(int), QtPrivate::List<int>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void * *, bool *)                                                                                                                                                             qobjectdefs_impl.h                                                                                                  520  0x10054f898 
38  QtPrivate::QSlotObjectBase::call(QObject *, void * *)                                                                                                                                                                                                                                                               qobjectdefs_impl.h                                                                                                  433  0x1040cf224 
39  void doActivate<false>(QObject *, int, void * *)                                                                                                                                                                                                                                                                    qobject.cpp                                                                                                         4021 0x1040cf208 
40  Tosite::tyyppiMuuttui(int)                                                                                                                                                                                                                                                                                          moc_tosite.cpp                                                                                                      736  0x1007273d8 
41  Tosite::lataa(QMap<QString, QVariant> const&)                                                                                                                                                                                                                                                                       tosite.cpp                                                                                                          319  0x1003632ec 
42  Tosite::lataaData(QVariant *)                                                                                                                                                                                                                                                                                       tosite.cpp                                                                                                          349  0x10036294c 
43  QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QVariant *>, void, void (Tosite:: *)(QVariant *)>::call(void (Tosite:: *)(QVariant *), Tosite *, void * *)                                                                                                                                        qobjectdefs_impl.h                                                                                                  145  0x10036746c 
44  void QtPrivate::FunctionPointer<void (Tosite:: *)(QVariant *)>::call<QtPrivate::List<QVariant *>, void>(void (Tosite:: *)(QVariant *), Tosite *, void * *)                                                                                                                                                          qobjectdefs_impl.h                                                                                                  182  0x100367388 
45  QtPrivate::QCallableObject<void (Tosite:: *)(QVariant *), QtPrivate::List<QVariant *>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void * *, bool *)                                                                                                                                                  qobjectdefs_impl.h                                                                                                  520  0x100367278 
46  QtPrivate::QSlotObjectBase::call(QObject *, void * *)                                                                                                                                                                                                                                                               qobjectdefs_impl.h                                                                                                  433  0x1040cf224 
47  void doActivate<false>(QObject *, int, void * *)                                                                                                                                                                                                                                                                    qobject.cpp                                                                                                         4021 0x1040cf208 
48  KpKysely::vastaus(QVariant *)                                                                                                                                                                                                                                                                                       moc_kpkysely.cpp                                                                                                    279  0x100756b9c 
49  SQLiteKysely::vastaa(QVariant const&)                                                                                                                                                                                                                                                                               sqlitekysely.cpp                                                                                                    68   0x10069c4f8 
50  SQLiteModel::reitita(SQLiteKysely *, QVariant const&)                                                                                                                                                                                                                                                               sqlitemodel.cpp                                                                                                     380  0x1006b30b4 
51  SQLiteKysely::kysy(QVariant const&)                                                                                                                                                                                                                                                                                 sqlitekysely.cpp                                                                                                    39   0x10069be18 
52  Tosite::lataa(int)                                                                                                                                                                                                                                                                                                  tosite.cpp                                                                                                          272  0x1003627a8 
53  KirjausWg::lataaTosite(int)                                                                                                                                                                                                                                                                                         kirjauswg.cpp                                                                                                       796  0x100549d40 
54  KirjausSivu::naytaTosite(int, int, QList<int>, KirjausSivu::Takaisinpaluu)                                                                                                                                                                                                                                          kirjaussivu.cpp                                                                                                     136  0x100553c24 
55  KitupiikkiIkkuna::naytaTosite(int, QList<int>, KirjausSivu::Takaisinpaluu)                                                                                                                                                                                                                                          kitupiikkiikkuna.cpp                                                                                                310  0x100514f78 
56  QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1, 2>, QtPrivate::List<int, QList<int>, KirjausSivu::Takaisinpaluu>, void, void (KitupiikkiIkkuna:: *)(int, QList<int>, KirjausSivu::Takaisinpaluu)>::call(void (KitupiikkiIkkuna:: *)(int, QList<int>, KirjausSivu::Takaisinpaluu), KitupiikkiIkkuna *, void * *) qobjectdefs_impl.h                                                                                                  145  0x100518914 
57  void QtPrivate::FunctionPointer<void (KitupiikkiIkkuna:: *)(int, QList<int>, KirjausSivu::Takaisinpaluu)>::call<QtPrivate::List<int, QList<int>, KirjausSivu::Takaisinpaluu>, void>(void (KitupiikkiIkkuna:: *)(int, QList<int>, KirjausSivu::Takaisinpaluu), KitupiikkiIkkuna *, void * *)                         qobjectdefs_impl.h                                                                                                  182  0x1005187fc 
58  QtPrivate::QCallableObject<void (KitupiikkiIkkuna:: *)(int, QList<int>, KirjausSivu::Takaisinpaluu), QtPrivate::List<int, QList<int>, KirjausSivu::Takaisinpaluu>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void * *, bool *)                                                                      qobjectdefs_impl.h                                                                                                  520  0x1005186ec 
59  QtPrivate::QSlotObjectBase::call(QObject *, void * *)                                                                                                                                                                                                                                                               qobjectdefs_impl.h                                                                                                  433  0x1040cf224 
60  void doActivate<false>(QObject *, int, void * *)                                                                                                                                                                                                                                                                    qobject.cpp                                                                                                         4021 0x1040cf208 
61  SelausWg::tositeValittu(int, QList<int>, KirjausSivu::Takaisinpaluu)                                                                                                                                                                                                                                                moc_selauswg.cpp                                                                                                    433  0x100743740 
62  SelausWg::naytaTositeRivilta(QModelIndex)                                                                                                                                                                                                                                                                           selauswg.cpp                                                                                                        366  0x100559550 

Ja outputiin tulee Cocoasta poikkeus että QComboBox yrittää käpistellä tyhjän taulun ekaa alkiota:

*** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayM objectAtIndexedSubscript:]: index 0 beyond bounds for empty array'
*** First throw call stack:
(
	0   CoreFoundation                      0x0000000181910570 __exceptionPreprocess + 176
	1   libobjc.A.dylib                     0x0000000181401eb4 objc_exception_throw + 60
	2   CoreFoundation                      0x0000000181886d10 -[__NSCFString hasSuffix:] + 0
	3   libqcocoa.dylib                     0x0000000102076044 _ZN20QCocoaSystemTrayIcon13emitActivatedEv + 274796
	4   libqcocoa.dylib                     0x00000001020760c8 _ZN20QCocoaSystemTrayIcon13emitActivatedEv + 274928
	5   libqcocoa.dylib                     0x0000000102074688 _ZN20QCocoaSystemTrayIcon13emitActivatedEv + 268208
	6   QtWidgets                           0x00000001032751a8 _ZN9QListView16selectionChangedERK14QItemSelectionS2_ + 204
	7   QtCore                              0x000000010473b48c _ZN11QMetaObject8activateEP7QObjectPKS_iPPv + 3808
	8   QtCore                              0x0000000104901e44 _ZN19QItemSelectionModel20emitSelectionChangedERK14QItemSelectionS2_ + 216
	9   QtCore                              0x0000000104901a2c _ZN19QItemSelectionModel6selectERK14QItemSelection6QFlagsINS_13SelectionFlagEE + 636
	10  QtCore                              0x000000010490170c _ZN19QItemSelectionModel6selectERK11QModelIndex6QFlagsINS_13SelectionFlagEE + 68
	11  QtCore                              0x00000001049028cc _ZN19QItemSelectionModel15setCurrentIndexERK11QModelIndex6QFlagsINS_13SelectionFlagEE + 260
	12  QtWidgets                           0x00000001030d3338 _ZNK9QComboBox5countEv + 828
	13  QtWidgets                           0x00000001030d68b4 _ZN9QComboBoxC1ER16QComboBoxPrivateP7QWidget + 2412
	14  QtCore                              0x000000010473b224 _ZN11QMetaObject8activateEP7QObjectPKS_iPPv + 3192
	15  QtCore                              0x00000001048ea944 _ZN18QAbstractItemModel13endInsertRowsEv + 200
	16  QtGui                               0x000000010388b1a8 _ZN18QStandardItemModel11itemChangedEP13QStandardItem + 844
	17  QtWidgets                           0x00000001030d9e38 _ZN9QComboBox11insertItemsEiRK5QListI7QStringE + 340
	18  kitsas                              0x0000000100749830 _ZN9QComboBox8addItemsERK5QListI7QStringE + 48
	19  kitsas                              0x0000000100745390 _ZN13TuloMenoApuriC2EP7QWidgetP6Tosite + 2004
	20  kitsas                              0x000000010074c81c _ZN13TuloMenoApuriC1EP7QWidgetP6Tosite + 44
	21  kitsas                              0x0000000100bb1024 _ZN9KirjausWg19tositeTyyppiVaihtuiEi + 332
	22  kitsas                              0x0000000100bbba8c _ZN9QtPrivate11FunctorCallINS_11IndexesListIJLi0EEEENS_4ListIJiEEEvM9KirjausWgFviEE4callES7_PS5_PPv + 152
	23  kitsas                              0x0000000100bbb9a8 _ZN9QtPrivate15FunctionPointerIM9KirjausWgFviEE4callINS_4ListIJiEEEvEEvS3_PS1_PPv + 80
	24  kitsas                              0x0000000100bbb898 _ZN9QtPrivate15QCallableObjectIM9KirjausWgFviENS_4ListIJiEEEvE4implEiPNS_15QSlotObjectBaseEP7QObjectPPvPb + 188
	25  QtCore                              0x000000010473b224 _ZN11QMetaObject8activateEP7QObjectPKS_iPPv + 3192
	26  kitsas                              0x0000000100d933d8 _ZN6Tosite13tyyppiMuuttuiEi + 72
	27  kitsas                              0x00000001009cc25c _ZN6Tosite7setDataEi8QVariant + 2780
	28  kitsas                              0x00000001009cd45c _ZN6Tosite11asetaTyyppiEi + 76
	29  kitsas                              0x0000000100ba84bc _ZN9KirjausWgC2EP11KirjausSivu5QListIiE + 6212
	30  kitsas                              0x0000000100bb3fa8 _ZN9KirjausWgC1EP11KirjausSivu5QListIiE + 44
	31  kitsas                              0x0000000100bbee1c _ZN11KirjausSivuC2EP16KitupiikkiIkkuna5QListIiE + 348
	32  kitsas                              0x0000000100bbf638 _ZN11KirjausSivuC1EP16KitupiikkiIkkuna5QListIiE + 44
	33  kitsas                              0x0000000100b7dd94 _ZN16KitupiikkiIkkunaC2EP7QWidget + 1332
	34  kitsas                              0x0000000100b81f7c _ZN16KitupiikkiIkkunaC1EP7QWidget + 36
	35  kitsas                              0x0000000100678320 main + 3800
	36  dyld                                0x000000018143d0e0 start + 2360
)
libc++abi: terminating due to uncaught exception of type NSException

@anttipalsola
Copy link

anttipalsola commented Dec 31, 2023

Näillä ohjeilla rytisee ainakin minulla:

  1. Avaa tgz-paketissa (GitHub ei antanut tallentaa .kitsas-tiedostoa suoraan) Testiyhdistysry.kitsas.tgz oleva kirjanpito.
  2. Klikkaa Selaa → OL1.

@petriaarnio
Copy link
Contributor

Eipä Testiyhdistyskään saanut Kitsasta kaatumaan minun koneillani. Myöskään sellaisella koneella, jossa ei ole ulkoisia riippuvuuksia (Qt, ...) asennettuna. Viittaukset alkuperäisiin sijaintipaikkoihin ovat olleet yleisin syy kaatumisiin.
Jotain koneriippuvaisuutta tässä nyt kuitenkin on.

@anttipalsola
Copy link

@petriaarnio Onko mahdollista, että minulla on asennettuna jostain kirjastosta jokin versio, joka ei ole Kitsaan kanssa yhteensopiva. Qt:ta ei pitäisi olla, mutta Homebrew'n kautta kyllä kaikenlaista muuta.

@petriaarnio
Copy link
Contributor

Kitsaalla ei ole enää (ainakaan suoria) muita kirjastoriippuvuuksia kuin Qt, ja joka tapauksessa kaikki tarvittavat kirjastot on paketoitu applikaation bundleen ja viittaukset niihin sen sisällä, eli en kovin todennäköisenä pidä vääriä lokaaleja kirjastoversioita.
@rjoonas, sait kehitysympäristön pystyyn, saatko kaiveltua syvemmälle kaatumisen juurisyihin?

@rjoonas
Copy link
Contributor

rjoonas commented Jan 1, 2024

Pyörin debuggerissa lisää ja tulin siihen tulokseen, että kyseessä taitaa olla Qt:n Mac-komponenttien bugi, joka saattaisi vieläpä olla juuri korjattu – katsokaapa tämä pari viikkoa vanha Qt:n commit, jossa minulla Kitsaan kaatavan kutsun tableElement->rows[m_rowIndex]; ympärille on lisätty guardeja ja assertioita: qt/qtbase@c81e314 .

Ongelma on ilmeisesti syntynyt 12.4.2023 commitissa qt/qtbase@52c2b82 ja tosiaan korjattu nyt joulukuussa.

Qt 6.6.2, jossa tuo korjaus on mukana, julkaistaan ilmeisesti ihan lähiviikkoina. Kokeilin buildata Kitsaan myös Qt 6.7.0-beta 1:lla, mutta siinä ei valitettavasti ollutkaan vielä tuota committia mukana.

@petriaarnio
Copy link
Contributor

Vaihdoin Kitsaan 5.3 versioon Qt 6.6.1 koska en huomannut kommenttia 6.6.2:sta. No uusi yritys kun 6.6.2 julkaistaan.

@anttipalsola
Copy link

Tämänhetkisen arvion mukaan Qt 6.6.2 on määrä julkaista 7.2.2024.

@artoh
Copy link
Owner

artoh commented Jan 31, 2024

Kuulostaa hyvältä. Tuohon mennessä meiltä pitäisi olla ulkona seuraava päivitys, jossa muutaman korjauksen lisäksi pääsee paremmin tekemään Kitsaan laskelmasta poikkeavan alijäämähuojennuksen.

@rjoonas
Copy link
Contributor

rjoonas commented Feb 2, 2024

Buildasin Kitsaan Qt 6.7.0-beta2:lla, joka julkaistiin toissapäivänä. Sillä sain itselleni jo kasaan Kitsaan, jolla PDF-tositteet aukeavat kaatumatta 👍

@petriaarnio
Copy link
Contributor

7.2. meni eikä Qt 6.6.2 näytä vieläkään olevan saatavilla.

@anttipalsola
Copy link

@petriaarnio Varmaankin se kuitenkin ilmestyy lähipäivinä, koska eivät myöskään ole enää siirtäneet "Updated plan" -päivää eteenpäin.

Kitsas 5.3 muuten kaatuilee aivan koko ajan, mm. seuravissa tilanteissa:

  • kirjanpidon vaihtaminen Aloita-sivun oikean reunan valikosta
  • uuden tositteen luominen ("Uusi tosite")
  • tositteiden selaaminen ("Selaa").

Kaatuilu ei ole täysin johdonmukaista: välillä esim. tositteiden selausikkunan avaaminen onnistuu, välillä ei. Viimeistään kaatuminen tapahtuu kuitenkin 4–5 klikkauksen jälkeen, joten nykyisellään Kitsas ei ainaakn minulla ole Macbookissa käytettävä.

Oletettavasti kyse on kuitenkin samasta ongelmasta, joka Qt 6.6.2 korjaa, joten en tee näistä erillistä bugiraporttia ainakaan vielä.

Käyttämäni käyttöjärjestelmäversio on nykyisin MacOS Sonoma 14.3 (23D56).

@anttipalsola
Copy link

Qt 6.6.2 julkaisu on siirtynyt taas eteenpäin. Uusi arvio on 15.2.2024.

@anttipalsola
Copy link

Qt 6.6.2 on julkaistu tänään. @petriaarnio, milloin saisitte ulos Kitsaan version, jossa tuo olisi mukana? (Ja jos @rjoonas ehtii testaamaan, niin aina parempi.)

@petriaarnio
Copy link
Contributor

Teen uuden version tämän viikon lauantaina.

@petriaarnio
Copy link
Contributor

Nyt olisi versio 5.4.1 Qt 6.6.2:lla tarjolla

@anttipalsola
Copy link

Latasin version 5.4.1 enkä enää saanut ohjelmaa kaatumaan, vaikka parhaani yritin. :-) Näyttää siis siltä, että ongelma korjaantui. Kiitos @rjoonas 'lle perimmäisen syyn selvittämisestä ja testaamisesta sekä @petriaarnio lle ongelman korjaamisesta. Minun puolestani tämän tiketin voi sulkea.

@koirakuvat
Copy link

koirakuvat commented Jun 12, 2024

Versio 5.5 kaatuu tositetta tallennettaessa, CSV-tuotua tiliotetta läpi käydessä ja tilitapahtumia kohdistaessa.
Käytössä MBP M1 Pro jossa Ventura 13.6.3.

Consolesta crash report tallessa, jos sieltä jotain hyödyllistä pystyy antamaan.

Olen tästä bugista kärsinyt jo useiden versioiden ajan. Jätän tuoreimman kaatumisen tuottamat käyttökokemukset nyt tästä tarkemmin selostamatta.

edit. kaatui uudestaan 25 min myöhemmin

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

No branches or pull requests

7 participants