libera/#maemo-leste/ Thursday, 2024-11-28

dsc_g_signal_connect(conv_abook_aggregator, "contacts-removed", G_CALLBACK(contacts_removed_cb), nullptr);07:06
dsc_void contacts_removed_cb(OssoABookRoster *roster, const char **ids, gpointer data) {}07:06
dsc_freemangordon: ^ what is ids here, and how to get local_uid/remote_uid from it07:07
freemangordonuid is vcard UID07:09
dsc_ok thx07:10
freemangordonafaik07:10
freemangordondsc_: but, why do you care about accounts added/removed? abook takes care of that already07:17
dsc_for GUI purposes07:17
dsc_chatwindow07:17
dsc_if the friend is removed, there shall be a button add friend, to restore the friendship <307:18
dsc_need to monitor for contact removed signal07:18
freemangordonI see07:18
freemangordonplease, put that button in the menu07:19
dsc_it is in the menu, yeah07:19
freemangordongreat07:19
dsc_the menu changes depending on the publication state07:19
freemangordoncool, makes sense07:19
freemangordonshall I assume you are facing no issues with abook?07:20
dsc_but ehh, char* -> OssoABookContact07:20
dsc_no abook works well07:20
freemangordonno, the contacts is already gone, you cannot create contact from it07:20
freemangordon*contact07:20
dsc_ah yeah07:20
freemangordonsorry, still having my first coffee07:20
dsc_i should have printed this char* before asking07:21
dsc_let me try07:21
freemangordonno, the contact is already gone, you cannot create OssoABookContact* from it07:21
dsc_yes07:21
dsc_but there's probably some uid07:21
freemangordondsc_: hmm, what happens to the channel when remote party 'blocks' you?07:22
dsc_have not looked at blocks yet07:22
dsc_with channel you mean TextChannel?07:22
dsc_I guess CM should close it?07:23
freemangordonmhm07:23
dsc_maybe not07:23
freemangordonso, wtym "if the friend is removed"?07:23
freemangordonremoved how?07:23
dsc_counterparty removes me from friendlist07:24
dsc_it is a signal07:24
dsc_some xmpp thing probably07:24
dsc_no wait07:24
freemangordonright, so, what happens with the channel that chat window is tied to?07:24
freemangordonremoving from friendlist most-probably will change published status or something07:25
freemangordonit will not remove the contact07:25
dsc_yes, nothing happens to channel07:25
dsc_can still send messages07:25
freemangordonbut also the contact is not removed07:25
freemangordonI doubt you will receive 'contact-removed' for that contact07:25
freemangordonI guess removing will only happen if remote party de-registers from the service, like, closes the account07:26
freemangordonin which case I assume TP will close the channel07:26
dsc_right07:27
freemangordonbut that's different to what you are on07:28
freemangordonI think you should listen for 'contacts-changed' signal only07:28
freemangordonand watch published/blocked/whatever state from there07:29
dsc_im also doing that yes, and yeah you are right about the removal signal07:29
dsc_if the counterparty removes me, I get no removal signal07:30
freemangordonmakes sense07:30
dsc_if I remove the contact from abook, abook crashes07:31
freemangordonplease, backtrace07:31
dsc_sure07:31
freemangordonI assume you are on version 1:4.4.5+3m707:31
dsc_$ apt policy osso-addressbook07:34
dsc_osso-addressbook: Installed: 0.3.4+3m707:34
dsc_Candidate: 0.3.4+3m707:34
freemangordonapt policy libosso-abook07:34
dsc_4.4.4+3m707:35
dsc_ill update first07:35
freemangordonyes, please, https://github.com/maemo-leste/osso-abook/commit/5590751fcd56dae2222f58498b3b0edad7c1eda507:36
freemangordondon;t forget to install debug symbols if not already07:37
dsc_ehmm07:43
dsc_im attaching with gdb to /usr/bin/osso-addressbook07:44
dsc_trigger the crash07:44
dsc_[Thread 0x7f648ec76700 (LWP 3597) exited]07:44
dsc_[Inferior 1 (process 3596) exited with code 027]07:44
dsc_(gdb) bt07:44
dsc_No stack.07:44
freemangordonInferior 1 (process 3596) exited with code 02707:44
dsc_user      3059  0.0  0.6 293908 24988 ?        S<sl 06:37   0:00 /usr/bin/osso-abook-home-applet07:44
dsc_user      3647  0.0  0.0   2368   496 ?        S    06:43   0:00 /usr/bin/osso-addressbook07:44
freemangordonyou should attach to the other process07:44
dsc_user      3648  0.0  1.0 598064 40960 ?        Ssl  06:43   0:00 /usr/bin/osso-addressbook07:44
dsc_alright07:44
freemangordonto 364807:45
dsc_pretty sure I did that one07:45
dsc_(the one with the most memory)07:45
dsc_cant seem to catch it07:46
dsc_i attached to both this time :P07:46
freemangordonno way :)07:47
dsc_how is that possible though07:47
dsc_gdb -p 364707:47
dsc_[Inferior 1 (process 3647) exited with code 027]07:47
dsc_the other:07:47
dsc_gdb -p 364807:47
dsc_[Inferior 1 (process 3648) exited with code 027]07:47
dsc_im probably doing something stupid07:47
freemangordonI am usually starting gdb07:48
freemangordonand then doing attach $pid07:48
freemangordonno idea what -p is supposed to do07:48
freemangordonand you only need to attach to the second peocess07:48
freemangordondo you have libc6-dbg installed?07:49
dsc_dmesg:07:49
dsc_[  243.598551] evolution-addre[3328]: segfault at 0 ip 00007f1721002a44 sp 00007ffcb0002c60 error 4 in libglib-2.0.so.0.6600.8[7f1720fe0000+88000]07:49
dsc_yes07:49
freemangordonevolution-addressbook?07:50
freemangordonwhat is that?07:50
freemangordonoh07:50
freemangordonevolution-addressbook-factory07:50
dsc_not sure, I pasted it because it might be related07:50
freemangordonit is07:50
dsc_user      3282  0.0  0.6 436876 26852 ?        Sl   06:37   0:00 /usr/libexec/evolution-source-registry07:50
dsc_user      3713  0.0  0.8 725448 32468 ?        Sl   06:46   0:00 /usr/libexec/evolution-addressbook-factory07:50
freemangordonthat might be TP EDS plugin segfaulting07:51
freemangordonhot do you trigger the bug?07:51
dsc_remove a contact :D07:51
freemangordonwhat contact?07:51
dsc_xmpp contact in this case07:51
freemangordonok, lemme try07:51
freemangordonoh, I thin kI know what happens07:51
dsc_Thread 1 "evolution-addre" received signal SIGSEGV, Segmentation fault.07:52
dsc_0x00007fca01b06a44 in g_hash_table_iter_next () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.007:52
dsc_#0  0x00007fca01b06a44 in g_hash_table_iter_next () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.007:52
freemangordonplease install debug symbols07:52
dsc_#1  0x00007fc9f9c4479d in  () at /usr/lib/evolution-data-server/addressbook-backends/libebookbackendtp.so07:52
dsc_#2  0x00007fc9f9c44d88 in  () at /usr/lib/evolution-data-server/addressbook-backends/libebookbackendtp.so07:52
dsc_yah07:52
freemangordonlibglib2.0-0-dbgsym07:52
dsc_ty07:52
freemangordonevolution-data-server-addressbook-backend-telepathy-dbg07:53
dsc_question07:57
dsc_/usr/libexec/evolution-addressbook-factory07:57
dsc_this is a stripped binary07:57
dsc_thats ok?07:57
freemangordonhmm...07:57
freemangordonI just saw "authorisation request" in addressbook :D07:58
dsc_indeed07:58
freemangordonit is stripped07:58
freemangordonbut segfault is in ibebookbackendtp.so07:58
freemangordonso, that means you don;t need to implement it in conversations ;)07:59
freemangordonlemme try if it works though07:59
dsc_it does work07:59
freemangordonthen no need to duplicate in the conversations08:00
freemangordonyep. it works, just tested :D08:02
freemangordonbut, cannot reproduce the crash08:02
dsc_fine by me08:04
dsc_there's more to managing friends than just sending auth requests tho08:04
dsc_abook seems a bit rough in this area08:04
freemangordonsure08:04
freemangordonit does not support contact blocking I assume08:05
dsc_if someone adds you as friend, I dont think it shows up in abook as such, or no notification thereof08:05
dsc_let me check08:05
freemangordonyeah, I think this should happen in conversations08:06
freemangordonhowever, could you repro the crash with debug symbols?08:06
dsc_it did crash, but this time gdb didnt catch it08:07
freemangordonwhat crashed? eds addressbook factory?08:07
dsc_yes08:08
freemangordonwith gdb attached?08:08
dsc_/usr/libexec/evolution-addressbook-factory08:08
freemangordonmhm08:08
dsc_i could catch it on this process *before* installing the db libs08:08
dsc_dbg*08:08
freemangordonit crashes no more?08:09
dsc_i was doing something else08:09
dsc_but let me try08:09
freemangordonhmm, seems auth requests from pidgin are auto-approved somehow08:10
dsc_ah got it08:11
freemangordonnice :)08:11
dsc_https://plak.infrapuin.nl/selif/58f7a25o.txt08:11
freemangordonsec08:12
freemangordondsc_: frame 108:12
freemangordonp contact->variants08:12
dsc_(gdb) frame 108:13
dsc_#1  0x00007fe9f31cc79d in e_book_backend_tp_db_add_variants (tpdb=0x7ffc859330b0, tpdb@entry=0x7fe9e8002460 [EBookBackendTpDb], contact=contact@entry=0x560b0f024310, error=error@entry=0x7ffc859331d0) at e-book-backend-tp-db.c:105508:13
dsc_1055e-book-backend-tp-db.c: No such file or directory.08:13
dsc_(gdb) p contact->variants08:13
dsc_$1 = 0x560b0f06d800<error reading variable: Cannot access memory at address 0x0>08:13
freemangordonp *contact08:13
dsc_(gdb) p *contact08:13
dsc_$2 = {handle = 252022576, name = 0x0, alias = 0x560b0f0373e0 "@Y\003\017\vV", generic_status = 0x7fe9f31d7925 "available", status = 0x560b0efa9bb0 "\240\216\005\017\vV", status_message = 0x560b0f043120 "\020\215\006\017\vV", avatar_token = 0x560b0f08d470 "", avatar_mime = 0x0, avatar_len = 0, avatar_data = 0x0, contact_info = 0x0, flags = 0, pending_flags = 0, uid = 0x560b0f035910 "`",08:13
dsc_master_uids = 0x7fe9e8004c40, capabilities = 14, variants = 0x560b0f06d800<error reading variable: Cannot access memory at address 0x0>, ref_count = 0}08:14
dsc_this is without running conversations btw08:14
dsc_just adding/removing xmpp contact08:14
freemangordonyeah, I see08:15
dsc_im using 2 clients: gajim and pidgin for this08:15
freemangordonbut cannot repro it here08:15
dsc_and then I delete @ abook08:15
freemangordonhow do you 'add' that contact?08:15
freemangordonby hand?08:16
dsc_request from gajim, authorize in pdigin, delete in abook08:16
dsc_yes08:16
freemangordonI assume gajim runs in the VM, right?08:16
dsc_no08:17
freemangordonah08:17
dsc_both on host08:17
freemangordonok, lemme try to add it from abook08:17
dsc_grabbing coffee brb 3min08:17
dsc_ill leave gdb open08:17
freemangordonsure08:17
freemangordondsc_: which account do you use on gajim? the same as in VM?08:20
dsc_freemangordon: pidgin uses the VM account08:24
freemangordonok, so, pidgin is not really used, right?08:25
dsc_im using it to authorize the incoming request08:25
freemangordonI see08:26
freemangordonso, you add contact in abook?08:26
dsc_no08:26
freemangordonor in gajim08:26
dsc_in gajim08:26
freemangordonok08:26
dsc_abook only for deletion08:26
freemangordonI assume I can use empathy for that08:26
dsc_I also observed cases where it did not crash, but the contact refused to dissapear from the list08:27
dsc_and then the table acted a bit strange08:27
dsc_:P08:27
dsc_where it highlighted multiple rows08:27
freemangordonyeah, but that's another story08:27
freemangordonhmm, I guess that issue shall be fixed too08:30
freemangordonI can;t make it crash here :(08:30
dsc_dsc@xmpp.is @ gajim, stevejobs@xmpp.wajer.org @ pidgin, stevejobs@xmpp.wajer.org @ maemo VM08:30
freemangordonand requesting auth from pidgin?08:31
freemangordonor from gajim?08:31
dsc_requesting auth from gajim08:31
dsc_accepting authorization in pidgin08:31
dsc_then delete in abook08:31
freemangordonyeah, but does not crash here08:32
dsc_it does seem to delete from the perspective of xmpp though08:32
freemangordonmhm08:32
freemangordonbut UI bug I can repro08:32
freemangordonso will fix at least that one08:32
freemangordonwhile tring to repro08:32
dsc_right08:33
freemangordonlemme see if valgrind will say something08:33
dsc_anyway about abook doing everything related to authorization08:33
freemangordonno, no08:33
dsc_in terms of UX its nice to accept/remove friends too08:34
dsc_from conversations08:34
freemangordonyou should implement accepting auth in conversations08:34
dsc_or at least get notified somehow08:34
dsc_right08:34
freemangordon'removing' is already there, in a book08:34
freemangordonadding as well08:34
dsc_yes08:34
dsc_minus the remove yeah08:35
freemangordonI have to check how it looks like in fremantle in terms of accepting auth request08:35
freemangordonwtym?08:35
dsc_nvm, I am agreeing08:35
freemangordonremoving might be buggy, but I will fix it08:35
freemangordonhmm, wait, wait08:36
dsc_waiting08:36
freemangordonmaybe there is some abook plugin that shows auth requests08:36
freemangordonbecause now, auth requests are auto-accepeted08:37
freemangordonby somebody, I assume abook08:37
dsc_i dont think so...08:37
freemangordonthey are08:37
freemangordonI delete the contact, request auth from pidgin, and immediately pidgin sees the remote status08:37
freemangordonin the same time empathy shows "do you allow...."08:38
dsc_re: crash, I think I'm in a weird state. I blame wizzups server08:38
freemangordonso somebody is accepting the auth in the VM08:38
freemangordonI assume abook08:38
freemangordonno matter the server, it should not use dangling pointers08:38
dsc_hmm08:38
dsc_ok so08:40
dsc_I add from gajim, it shows up in abook08:41
dsc_but this auth request is not accepted yet08:41
freemangordonsure08:41
dsc_< freemangordon> because now, auth requests are auto-accepeted08:41
dsc_not here08:41
dsc_else i would see the vcard/avatar08:41
dsc_and the online status08:41
freemangordonbut if you request auth from gajim, it will immediately see the VM online status08:41
dsc_I am requesting auth from gajim08:42
dsc_to the VM08:42
dsc_its not auto-accepted08:42
freemangordonand it is not accepeted?08:42
dsc_no08:42
freemangordonmaybe with your modified conversations, dunno08:42
dsc_conversations is not running08:42
freemangordonhmm08:42
dsc_i removed it from auto-start08:42
freemangordonlemme stop conversations here then08:42
dsc_fresh reboot08:42
dsc_(I just moved /usr/bin/conversations to another place)08:43
dsc_anyway08:43
dsc_the contact shows up in abook because it is a roster change08:43
dsc_but authorization is about publication/presence08:43
dsc_anyway08:44
dsc_maybe you have another client online somewhere?08:44
freemangordondsc_: no, that account I use only for testing08:52
freemangordonanyway, have to run, will look at it when I am back, to fix the UI issue at least08:52
dsc_alright, thanks4help08:52
freemangordonwill also check who handles auth requests on fremantle and why here in my VM they seem auto-accepted08:55
freemangordondsc_: the bug when deleted contact remains visible seems to be in window manager20:43
freemangordonabook does everything properly, but windows does not get repainted20:43
freemangordon*window20:43
freemangordondsfds20:47
freemangordonoops20:47
freemangordondsc_: it seems to happen in VM only (or on 64bits only)20:55
dsc_< freemangordon> abook does everything properly, but windows does not get repainted22:26
dsc_i've had this in conversations too22:26
dsc_its related to switching from subwindow to the mainwindow22:26
dsc_stacked window*22:27

Generated by irclog2html.py 2.17.0 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!