Coder Social home page Coder Social logo

Comments (12)

sardemff7 avatar sardemff7 commented on August 27, 2024

Thanks for reporting, though I do not see anything purple-events related in your backtrace…
Can you check with the Git version, especially the latest commit (9acc18d)?

from purple-events.

silberzwiebel avatar silberzwiebel commented on August 27, 2024

I tried, but I failed in installing the plugin... Could you tell me, how to do it?
This is what I did:

./autogen.sh
./configure
make

And now? How to install?

from purple-events.

sardemff7 avatar sardemff7 commented on August 27, 2024

If nothing failed at this point, something like sudo make install (or make install as root) should work.

from purple-events.

silberzwiebel avatar silberzwiebel commented on August 27, 2024

Alright, this worked. Plugin version now says 0.3. Problem stil exists, and still only whith plugin enabled. Here is the backtrace with the 0.3 version (btw any way to attach textfiles here?):

GNU gdb (Gentoo 7.7 vanilla) 7.7
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://bugs.gentoo.org/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from pidgin...Reading symbols from /usr/lib64/debug//usr/bin/pidgin.debug...done.
done.
�[?1034h(gdb) handle SIGPIPE nostop noprint
Signal        Stop  Print   Pass to program Description
SIGPIPE       No    No  Yes     Broken pipe
(gdb) run
Starting program: /usr/bin/pidgin 
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
warning: File "/usr/lib64/gcc/x86_64-pc-linux-gnu/4.7.3/libstdc++.so.6.0.17-gdb.py" auto-loading has been declined by your `auto-load safe-path' set to "$debugdir:$datadir/auto-load".
To enable execution of this file add
    add-auto-load-safe-path /usr/lib64/gcc/x86_64-pc-linux-gnu/4.7.3/libstdc++.so.6.0.17-gdb.py
line to your configuration file "/home/thomas/.gdbinit".
To completely disable this security protection add
    set auto-load safe-path /
line to your configuration file "/home/thomas/.gdbinit".
For more information about this security protection see the
"Auto-loading safe path" section in the GDB manual.  E.g., run from the shell:
    info "(gdb)Auto-loading safe path"
[New Thread 0x7fffcd289700 (LWP 12733)]
[New Thread 0x7fffc7fff700 (LWP 12734)]
[New Thread 0x7fffc77fe700 (LWP 12735)]
[New Thread 0x7fffc6ffd700 (LWP 12736)]
[Thread 0x7fffc77fe700 (LWP 12735) exited]

Program received signal SIGSEGV, Segmentation fault.
0x0000000000460bc5 in pidgin_conv_has_focus (conv=0x279f740) at gtkconv.c:6340
6340    gtkconv.c: Datei oder Verzeichnis nicht gefunden.
(gdb) bt full
#0  0x0000000000460bc5 in pidgin_conv_has_focus (conv=0x279f740) at gtkconv.c:6340
        gtkconv = 0x279ca10
        win = 0x0
        has_focus = 32767
#1  0x00007fffd8f93a6e in purple_events_callback_conversation_updated (conv=0x279f740, type=<optimized out>, context=<optimized out>) at src/plugin/callbacks.c:196
No locals.
#2  0x00007ffff5d38d82 in purple_signal_emit_vargs (instance=<optimized out>, signal=0x7ffff5d8604a "conversation-updated", args=args@entry=0x7fffffffa958) at signals.c:482
        instance_data = <optimized out>
        signal_data = 0x87a9d0
        handler_data = <optimized out>
        l = <optimized out>
        l_next = 0xb44480
        tmp = {{gp_offset = 32, fp_offset = 48, overflow_arg_area = 0x7fffffffaa30, reg_save_area = 0x7fffffffa970}}
        __PRETTY_FUNCTION__ = "purple_signal_emit_vargs"
#3  0x00007ffff5d38ed1 in purple_signal_emit (instance=<optimized out>, signal=<optimized out>) at signals.c:434
        args = {{gp_offset = 16, fp_offset = 48, overflow_arg_area = 0x7fffffffaa30, reg_save_area = 0x7fffffffa970}}
        __PRETTY_FUNCTION__ = "purple_signal_emit"
#4  0x0000000000466e54 in private_gtkconv_new (conv=conv@entry=0x279f740, hidden=hidden@entry=0) at gtkconv.c:5425
        gtkconv = 0x279ca10
        conv_type = PURPLE_CONV_TYPE_CHAT
        pane = <optimized out>
        tab_cont = <optimized out>
        convnode = <optimized out>
        value = 0xd820f0
#5  0x0000000000466f5b in pidgin_conv_new (conv=0x279f740) at gtkconv.c:5470
No locals.
#6  0x00007ffff5d0706d in purple_conversation_new (type=type@entry=PURPLE_CONV_TYPE_CHAT, account=0x8ace50, name=name@entry=0x279f670 "[email protected]") at conversation.c:450
        conv = 0x279f740
        gc = 0x25e6540
        ops = <optimized out>
        hc = 0x279f6c0
        __PRETTY_FUNCTION__ = "purple_conversation_new"
#7  0x00007ffff5d37e08 in serv_got_joined_chat (gc=0x25e6540, id=2, name=0x279f670 "[email protected]") at server.c:853
        conv = <optimized out>
        chat = <optimized out>
        account = <optimized out>
        __PRETTY_FUNCTION__ = "serv_got_joined_chat"
#8  0x00007fffd91df464 in handle_presence_chat (packet=<optimized out>, presence=0x7fffffffac10, js=0x2616170) at presence.c:632
        room_jid = <optimized out>
        jid = 0x25b1d30 "[email protected]/0dd6779c-1264-4a4f-9f3c-7ea157708756"
        role = 0x279f460 "moderator"
        affiliation = 0x25b1ed0 "owner"
        is_our_resource = 1
        jbr = <optimized out>
        flags = (PURPLE_CBFLAGS_OP | PURPLE_CBFLAGS_FOUNDER)
        chat = 0x25b5610
        i = 3
#9  jabber_presence_parse (js=js@entry=0x2616170, packet=<optimized out>) at presence.c:1033
        type = <optimized out>
        jbr = 0x0
        signal_return = <optimized out>
        presence = {type = JABBER_PRESENCE_AVAILABLE, jid_from = 0x279f630, from = 0x279d5d0 "[email protected]/kartoffelsalat", to = 0x2644fd0 "[email protected]/0dd6779c-1264-4a4f-9f3c-7ea157708756", id = 0x0, 
          jb = 0x279f520, chat = 0x25b5610, chat_info = {codes = 0x279b230, item = 0x25b1ca0}, caps = 0xb95760, state = JABBER_BUDDY_STATE_ONLINE, status = 0x0, priority = 1, vcard_avatar_hash = 0x0, nickname = 0x0, delayed = 0, 
          sent = 1393410629, idle = 0}
        child = <optimized out>
        __PRETTY_FUNCTION__ = "jabber_presence_parse"
#10 0x00007fffd91d004b in jabber_process_packet (js=js@entry=0x2616170, packet=packet@entry=0x7fffffffad28) at jabber.c:347
        name = 0x279b300 "presence"
        xmlns = 0x279eaa0 "jabber:client"
#11 0x00007fffd91dcd57 in jabber_parser_element_end_libxml (user_data=0x2616170, element_name=<optimized out>, prefix=<optimized out>, namespace=<optimized out>) at parser.c:169
        packet = 0xb95600
        js = 0x2616170
#12 0x00007ffff0031493 in ?? () from /usr/lib64/libxml2.so.2
No symbol table info available.
#13 0x00007ffff00384bc in ?? () from /usr/lib64/libxml2.so.2
No symbol table info available.
#14 0x00007ffff0039f3f in xmlParseChunk () from /usr/lib64/libxml2.so.2
No symbol table info available.
#15 0x00007fffd91dd1fd in jabber_parser_process (js=0x2616170, buf=<optimized out>, len=<optimized out>) at parser.c:279
        ret = <optimized out>
#16 0x00007fffd91cbd0e in jabber_recv_cb_ssl (data=0x25e6540, gsc=0xb9ad10, cond=<optimized out>) at jabber.c:659
        gc = 0x25e6540
        js = 0x2616170
        len = 489
        buf = "<presence to='[email protected]/0dd6779c-1264-4a4f-9f3c-7ea157708756' from='[email protected]/kartoffelsalat'><priority>1</priority><c hash='sha-1' ext='voice-v1 camera-v1 video-v1' ver='"...
        __PRETTY_FUNCTION__ = "jabber_recv_cb_ssl"
#17 0x000000000046e43d in pidgin_io_invoke (source=<optimized out>, condition=<optimized out>, data=0x86e110) at gtkeventloop.c:73
        closure = 0x86e110
        purple_cond = PURPLE_INPUT_READ
#18 0x00007ffff503eb55 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
No symbol table info available.
#19 0x00007ffff503ee98 in ?? () from /usr/lib64/libglib-2.0.so.0
No symbol table info available.
#20 0x00007ffff503f2fa in g_main_loop_run () from /usr/lib64/libglib-2.0.so.0
No symbol table info available.
#21 0x00007ffff6d72db7 in gtk_main () from /usr/lib64/libgtk-x11-2.0.so.0
No symbol table info available.
#22 0x0000000000434fd1 in main (argc=1, argv=0x7fffffffd568) at gtkmain.c:933
        opt_force_online = 0
        opt_help = <optimized out>
        opt_login = 0
        opt_nologin = 0
        opt_version = <optimized out>
        opt_si = 0
        opt_config_dir_arg = <optimized out>
        opt_login_arg = <optimized out>
        opt_session_arg = <optimized out>
        search_path = <optimized out>
        accounts = <optimized out>
        sig_indx = 1
        sigset = {__val = {82950, 0 <repeats 15 times>}}
        errmsg = "\020\000\000\000\000\000\000\000\362\373z\364\377\177\000\000\000\000\000\000\000\000\000\000\240ZQ\356\377\177\000\000\200\304\377\377\377\177\000\000\237u\244\360\377\177\000\000/usr/bin/pidgin", '\000' <repeats 633 times>...
        signal_channel = <optimized out>
        signal_status = <optimized out>
        signal_channel_watcher = 1
        segfault_message_tmp = <optimized out>
        error = 0x0
        opt = <optimized out>
        gui_check = <optimized out>
        debug_enabled = <optimized out>
        migration_failed = <optimized out>
        active_accounts = <optimized out>
        st = {st_dev = 4222451713, st_ino = 140737488340096, st_nlink = 140737488340096, st_mode = 4294952064, st_uid = 32767, st_gid = 4294952064, __pad0 = 32767, st_rdev = 140737488340111, st_size = 140737488344191, 
          st_blksize = 140737488340096, st_blocks = 140737488344191, st_atim = {tv_sec = 0, tv_nsec = 0}, st_mtim = {tv_sec = 0, tv_nsec = 0}, st_ctim = {tv_sec = 0, tv_nsec = 16}, __unused = {140737295088626, 140737298366464, 0}}
        long_options = {{name = 0x4d2d7c "config", has_arg = 1, flag = 0x0, val = 99}, {name = 0x4bd02e "debug", has_arg = 0, flag = 0x0, val = 100}, {name = 0x4ce163 "force-online", has_arg = 0, flag = 0x0, val = 102}, {
            name = 0x4c06df "help", has_arg = 0, flag = 0x0, val = 104}, {name = 0x4ce02a "login", has_arg = 2, flag = 0x0, val = 108}, {name = 0x4ce170 "multiple", has_arg = 0, flag = 0x0, val = 109}, {name = 0x4ce179 "nologin", 
            has_arg = 0, flag = 0x0, val = 110}, {name = 0x4d2d72 "session", has_arg = 1, flag = 0x0, val = 115}, {name = 0x4c43db "version", has_arg = 0, flag = 0x0, val = 118}, {name = 0x4d2d85 "display", has_arg = 1, flag = 0x0, 
            val = 68}, {name = 0x4cf666 "sync", has_arg = 0, flag = 0x0, val = 83}, {name = 0x0, has_arg = 0, flag = 0x0, val = 0}}
(gdb) quit
A debugging session is active.

    Inferior 1 [process 12709] will be killed.

Quit anyway? (y or n) 

from purple-events.

sardemff7 avatar sardemff7 commented on August 27, 2024

In gdb, try print ((PidginConversation *)conv)->win, if it is NULL, please file at Pidgin, since they should check that in their code. If it is not, I have no idea what that might be. :-)

from purple-events.

silberzwiebel avatar silberzwiebel commented on August 27, 2024

Sorry, it's not NULL:

(gdb) print ((PidginConversation *)conv)->win
$1 = (PidginWindow *) 0x27bdb20

I used the command after the crash, this was correct, no?

from purple-events.

sardemff7 avatar sardemff7 commented on August 27, 2024

Sure…
The line that fails (unless you are using patched source) is:

g_object_get(G_OBJECT(win->window), "has-toplevel-focus", &has_focus, NULL);

Maybe print *((PidginConversation *)conv)->win, since ->window could be NULL too…

from purple-events.

silberzwiebel avatar silberzwiebel commented on August 27, 2024

Nope:

(gdb) print *((PidginConversation *)conv)->win
$1 = {window = 0x74736574, notebook = 0x264c1c0, gtkconvs = 0x0, menu = {menubar = 0x51, view_log = 0x0, send_file = 0x0, add_pounce = 0x0, get_info = 0x0, invite = 0x0, alias = 0x0, block = 0x0, unblock = 0x0, add = 0x0, remove = 0x51, 
    insert_link = 0x0, insert_image = 0x0, logging = 0x0, sounds = 0x0, show_formatting_toolbar = 0x0, show_timestamps = 0x0, show_icon = 0x0, send_to = 0x0, tray = 0x0, typing_icon = 0x21, item_factory = 0x6e6967646950}, dialogs = {
    search = 0x7efe48}, in_drag = 8322776, in_predrag = 0, drag_tab = 33, drag_min_x = 0, drag_max_x = 40766816, drag_min_y = 0, drag_max_y = 17190224, drag_motion_signal = 0, drag_leave_signal = 39952832, audio_call = 0x21, 
  video_call = 0x264c200, audio_video_call = 0x7400000073}

from purple-events.

sardemff7 avatar sardemff7 commented on August 27, 2024

I give up! In your stack, there is win = 0x0 so it may be some kind of race…
I do not have any more idea. You should file a bug at Pidgin’s. I will leave this one opened for now.

from purple-events.

silberzwiebel avatar silberzwiebel commented on August 27, 2024

Done: https://developer.pidgin.im/ticket/16058

from purple-events.

sardemff7 avatar sardemff7 commented on August 27, 2024

Is is still crashing?

from purple-events.

silberzwiebel avatar silberzwiebel commented on August 27, 2024

Sorry for my late reply.
Indeed, yes, pidgin still crashes. I'm not using Pidgin since some time anymore, but followed the steps I wrote at the beginning of this issue and Pidgin crashed. I'm now at Fedora 23, with Pidgin 2.10.11 and your plugin version 0.99.1.
Pidgin does not crash with purple-events disabled.

This is the backtrace I get:

#0  0x00005555555bb795 in pidgin_conv_has_focus ()
#1  0x00007fffd7e001d6 in purple_events_callback_conversation_updated (conv=0x55555692ee70, type=<optimized out>, context=<optimized out>) at src/plugin/callbacks.c:196
#2  0x00007ffff4e0df40 in purple_signal_emit_vargs () at /lib64/libpurple.so.0
#3  0x00007ffff4e0e09e in purple_signal_emit () at /lib64/libpurple.so.0
#4  0x00005555555c0443 in private_gtkconv_new ()
#5  0x00005555555c04cb in pidgin_conv_new ()
#6  0x00007ffff4dda795 in purple_conversation_new () at /lib64/libpurple.so.0
#7  0x00007ffff4e0cfb6 in serv_got_joined_chat () at /lib64/libpurple.so.0
#8  0x00007fffdb5e8ad1 in jabber_presence_parse () at /usr/lib64/purple-2/libjabber.so.0
#9  0x00007fffdb5d9b2b in jabber_process_packet () at /usr/lib64/purple-2/libjabber.so.0
#10 0x00007fffdb5e6644 in jabber_parser_element_end_libxml () at /usr/lib64/purple-2/libjabber.so.0
#11 0x00007ffff41dae13 in xmlParseEndTag2 () at /lib64/libxml2.so.2
#12 0x00007ffff41e099f in xmlParseTryOrFinish () at /lib64/libxml2.so.2
#13 0x00007ffff41e24bb in xmlParseChunk () at /lib64/libxml2.so.2
#14 0x00007fffdb5e6afd in jabber_parser_process () at /usr/lib64/purple-2/libjabber.so.0
#15 0x00007fffdb5d5d6b in jabber_recv_cb_ssl () at /usr/lib64/purple-2/libjabber.so.0
#16 0x00005555555c969e in pidgin_io_invoke ()
#17 0x00007ffff3025e3a in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
#18 0x00007ffff30261d0 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#19 0x00007ffff30264f2 in g_main_loop_run () at /lib64/libglib-2.0.so.0
#20 0x00007ffff6b12f37 in gtk_main () at /lib64/libgtk-x11-2.0.so.0
#21 0x000055555558fdf7 in main ()

I hope this is informative enough, otherwise I might be able to build debug versions. But maybe I would need help with this.

from purple-events.

Related Issues (9)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.