artoh / kitupiikki

Finnish bookkeeping software for small organizations - Avoimen lähdekoodin kirjanpitäjä
Other
90 stars 26 forks source link

Kitsas kaatuu MacOS:llä uutta tositetta tallentaessa #1368

Open JJH86 opened 9 months ago

JJH86 commented 9 months ago
  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 commented 9 months ago

Kitsas versio 5.1.1

helihyv commented 9 months ago

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

anttipalsola commented 9 months ago

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

anttipalsola commented 9 months ago

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

anttipalsola commented 9 months ago

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

helihyv commented 9 months ago

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 commented 9 months ago

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 commented 9 months ago

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

petriaarnio commented 9 months ago

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

anttipalsola commented 9 months ago

@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 commented 9 months ago

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 commented 8 months ago

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

petriaarnio commented 8 months ago

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

rjoonas commented 8 months ago

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 commented 8 months ago

@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 commented 7 months ago

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 commented 7 months ago

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 commented 7 months ago

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

Kirjanpitovelvollinen 2

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 commented 7 months ago

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 commented 7 months ago

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

https://github.com/artoh/kitupiikki/blob/e0d8270d18dc088a22e54bc951381e1389e63f88/kitsas/apuri/tulomenoapuri.cpp#L70

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 commented 7 months ago

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 commented 7 months ago

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 commented 7 months ago

@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 commented 7 months ago

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 commented 7 months ago

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: https://github.com/qt/qtbase/commit/c81e31461fd5a5bd2fe959f26b2e6d134b9a71e9 .

Ongelma on ilmeisesti syntynyt 12.4.2023 commitissa https://github.com/qt/qtbase/commit/52c2b82082b535123c0eecafe1ec1e4e4190df2a 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 commented 6 months ago

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 commented 6 months ago

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

artoh commented 6 months ago

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 commented 6 months ago

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 commented 6 months ago

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

anttipalsola commented 6 months ago

@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:

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 commented 6 months ago

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

anttipalsola commented 6 months ago

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 commented 6 months ago

Teen uuden version tämän viikon lauantaina.

petriaarnio commented 6 months ago

Nyt olisi versio 5.4.1 Qt 6.6.2:lla tarjolla

anttipalsola commented 6 months ago

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 commented 2 months ago

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