zhuyaliang / user-admin

GNU General Public License v3.0
27 stars 16 forks source link

error: double free or corruption (out) #31

Closed kyrios123 closed 4 years ago

kyrios123 commented 5 years ago

I successfully built and install the newly tagged group-service 1.2.0 and user-admin 1.5.0 but when I launch the application it fails with the following error:

$ mate-user-admin 
double free or corruption (out)
Aborted
zhuyaliang commented 5 years ago

@kyrios123 Does this happen every time?

kyrios123 commented 5 years ago

Yes every time

image

zhuyaliang commented 5 years ago

@kyrios123 In this case, we can only debug with gdb. gdb mate-user-admin

kyrios123 commented 5 years ago

Sorry for the late response, I was busy with other things, here is the dump

GNU gdb (GDB) 8.2
Copyright (C) 2018 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-solus-linux".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
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 mate-user-admin...(no debugging symbols found)...done.
(gdb) run
Starting program: /usr/bin/mate-user-admin 
warning: File "/usr/lib64/libthread_db-1.0.so" 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/libthread_db-1.0.so
line to your configuration file "/home/py/.gdbinit".
To completely disable this security protection add
    set auto-load safe-path /
line to your configuration file "/home/py/.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"
warning: Unable to find libthread_db matching inferior's thread library, thread debugging will not be available.

(mate-user-admin:1191): dbind-WARNING **: 18:15:50.340: Couldn't register with accessibility bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
[New LWP 1195]
[New LWP 1196]
[New LWP 1197]
[New LWP 1198]
double free or corruption (out)

Thread 1 "mate-user-admin" received signal SIGABRT, Aborted.
0x00007ffff70f5ba7 in raise () from /usr/lib/libc.so.6
(gdb) bt
#0  0x00007ffff70f5ba7 in raise () at /usr/lib/libc.so.6
#1  0x00007ffff70d7535 in abort () at /usr/lib/libc.so.6
#2  0x00007ffff713d716 in  () at /usr/lib/libc.so.6
#3  0x00007ffff71446ea in  () at /usr/lib/libc.so.6
#4  0x00007ffff71465a0 in  () at /usr/lib/libc.so.6
#5  0x0000000000411740 in  ()
#6  0x000000000040fcd1 in  ()
#7  0x00007ffff74ec0f6 in  () at /usr/lib/libgobject-2.0.so.0
#8  0x00007ffff750892d in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#9  0x00007ffff7508f0f in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#10 0x00007ffff7c4b95c in  () at /usr/lib/libgtk-3.so.0
#11 0x00007ffff7c4dd0d in  () at /usr/lib/libgtk-3.so.0
#12 0x00007ffff74ec0f6 in  () at /usr/lib/libgobject-2.0.so.0
#13 0x00007ffff750892d in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#14 0x00007ffff7508f0f in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#15 0x00007ffff7c62140 in gtk_widget_grab_focus () at /usr/lib/libgtk-3.so.0
#16 0x00007ffff7c4812c in  () at /usr/lib/libgtk-3.so.0
#17 0x00007ffff7ca4773 in  () at /usr/lib/libgtk-3.so.0
#18 0x00007ffff74ec000 in  () at /usr/lib/libgobject-2.0.so.0
#19 0x00007ffff7508312 in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#20 0x00007ffff7508f0f in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#21 0x00007ffff7c62bbe in gtk_widget_child_focus () at /usr/lib/libgtk-3.so.0
#22 0x00007ffff7ab1a79 in  () at /usr/lib/libgtk-3.so.0
#23 0x00007ffff7ca4773 in  () at /usr/lib/libgtk-3.so.0
#24 0x00007ffff74ec000 in  () at /usr/lib/libgobject-2.0.so.0
#25 0x00007ffff7508312 in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#26 0x00007ffff7508f0f in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#27 0x00007ffff7c62bbe in gtk_widget_child_focus () at /usr/lib/libgtk-3.so.0
#28 0x00007ffff7ab1a79 in  () at /usr/lib/libgtk-3.so.0
#29 0x00007ffff7ca4773 in  () at /usr/lib/libgtk-3.so.0
#30 0x00007ffff74ec000 in  () at /usr/lib/libgobject-2.0.so.0
#31 0x00007ffff7508312 in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#32 0x00007ffff7508f0f in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#33 0x00007ffff7c62bbe in gtk_widget_child_focus () at /usr/lib/libgtk-3.so.0
#34 0x00007ffff7bc3760 in  () at /usr/lib/libgtk-3.so.0
#35 0x00007ffff7ca4773 in  () at /usr/lib/libgtk-3.so.0
#36 0x00007ffff74ec000 in  () at /usr/lib/libgobject-2.0.so.0
#37 0x00007ffff7508312 in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#38 0x00007ffff7508f0f in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#39 0x00007ffff7c62bbe in gtk_widget_child_focus () at /usr/lib/libgtk-3.so.0
#40 0x00007ffff7ab1a79 in  () at /usr/lib/libgtk-3.so.0
#41 0x00007ffff7ca4773 in  () at /usr/lib/libgtk-3.so.0
#42 0x00007ffff74ec000 in  () at /usr/lib/libgobject-2.0.so.0
#43 0x00007ffff7508312 in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#44 0x00007ffff7508f0f in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#45 0x00007ffff7c62bbe in gtk_widget_child_focus () at /usr/lib/libgtk-3.so.0
#46 0x00007ffff7ab1a79 in  () at /usr/lib/libgtk-3.so.0
#47 0x00007ffff7ca4773 in  () at /usr/lib/libgtk-3.so.0
#48 0x00007ffff74ec000 in  () at /usr/lib/libgobject-2.0.so.0
#49 0x00007ffff7508312 in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#50 0x00007ffff7508f0f in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#51 0x00007ffff7c62bbe in gtk_widget_child_focus () at /usr/lib/libgtk-3.so.0
--Type <RET> for more, q to quit, c to continue without paging-- c
#52 0x00007ffff7ab1a79 in  () at /usr/lib/libgtk-3.so.0
#53 0x00007ffff7ca4773 in  () at /usr/lib/libgtk-3.so.0
#54 0x00007ffff74ec000 in  () at /usr/lib/libgobject-2.0.so.0
#55 0x00007ffff7508312 in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#56 0x00007ffff7508f0f in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#57 0x00007ffff7c62bbe in gtk_widget_child_focus () at /usr/lib/libgtk-3.so.0
#58 0x00007ffff7ab1a79 in  () at /usr/lib/libgtk-3.so.0
#59 0x00007ffff7ca4773 in  () at /usr/lib/libgtk-3.so.0
#60 0x00007ffff74ec000 in  () at /usr/lib/libgobject-2.0.so.0
#61 0x00007ffff7508312 in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#62 0x00007ffff7508f0f in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#63 0x00007ffff7c62bbe in gtk_widget_child_focus () at /usr/lib/libgtk-3.so.0
#64 0x00007ffff7c766ad in  () at /usr/lib/libgtk-3.so.0
#65 0x00007ffff7ca4773 in  () at /usr/lib/libgtk-3.so.0
#66 0x00007ffff74ec0f6 in  () at /usr/lib/libgobject-2.0.so.0
#67 0x00007ffff7508312 in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#68 0x00007ffff7508f0f in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#69 0x00007ffff7c62bbe in gtk_widget_child_focus () at /usr/lib/libgtk-3.so.0
#70 0x00007ffff7c765cd in  () at /usr/lib/libgtk-3.so.0
#71 0x00007ffff7c767d1 in  () at /usr/lib/libgtk-3.so.0
#72 0x00007ffff74ebebd in g_closure_invoke () at /usr/lib/libgobject-2.0.so.0
#73 0x00007ffff74ff7d4 in  () at /usr/lib/libgobject-2.0.so.0
#74 0x00007ffff750885e in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#75 0x00007ffff7508f0f in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#76 0x00007ffff7c67d7b in gtk_widget_show () at /usr/lib/libgtk-3.so.0
#77 0x00007ffff74ebebd in g_closure_invoke () at /usr/lib/libgobject-2.0.so.0
#78 0x00007ffff74ff685 in  () at /usr/lib/libgobject-2.0.so.0
#79 0x00007ffff750885e in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#80 0x00007ffff7508f0f in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#81 0x00007ffff74f05d4 in  () at /usr/lib/libgobject-2.0.so.0
#82 0x00007ffff74f2a61 in g_object_notify () at /usr/lib/libgobject-2.0.so.0
#83 0x00007ffff738910a in  () at /usr/lib/libaccountsservice.so.0
#84 0x00007ffff74032d8 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#85 0x00007ffff74036c8 in  () at /usr/lib/libglib-2.0.so.0
#86 0x00007ffff74039c2 in g_main_loop_run () at /usr/lib/libglib-2.0.so.0
#87 0x00007ffff7b5a185 in gtk_main () at /usr/lib/libgtk-3.so.0
#88 0x000000000040b0ea in  ()
#89 0x00007ffff70d8c2b in __libc_start_main () at /usr/lib/libc.so.6
#90 0x000000000040b34a in  ()
(gdb) generate-core-file /tmp/mate-user.dump
Saved corefile /tmp/mate-user.dump

mate-user.dump.gz

zhuyaliang commented 5 years ago

@kyrios123 I'm very sorry, I didn't find out the reason for this problem. I've made a patch, and you can test whether this problem will occur after adding this patch.In addition, can you send me a copy of your compiled mate-user-admin executable program? patch.tar.gz

kyrios123 commented 5 years ago

Actually the double free or corruption error occurs when I build user-admin from the latest released tarball (1.5.0), but it works fine when it's built from the latest commit (with or without the patch).

In attach you'll find the executable of the version built from the tarball mate-user-admin.nok and the one built from the latest commit with the patch mate-user-admin.ok

mate-user-admin.gz

kyrios123 commented 5 years ago

So basically with this commit, I get the error : ae10671106e627f7278b59a714e4489c988f2176 but with this commit, it's ok : b809cea9cc5af133e4842cdab90f9eb4c91f9fcf

zhuyaliang commented 5 years ago

@kyrios123 You mean there is no problem with the latest submission, but one of the previous historical submissions is a problem, right?你可以试试这个次提交, 16ae7f5If there is no problem with this submission, I think I know where the problem is.

kyrios123 commented 5 years ago

@zhuyaliang yes, 16ae7f5 are working fine. The problem is that the the commit that was used for tagging release 1.5.0 (ae10671) is causing this error. I am surprised nobody else faced/reported this error.

zhuyaliang commented 5 years ago

@kyrios123 That's normal. Actually, the problem is accountsservice. Did you update accountsservice?

kyrios123 commented 5 years ago

@zhuyaliang I am using accountservice 0.6.55 haven't updated it since end of May 2019

zhuyaliang commented 5 years ago

@kyrios123 In a word, our problem has been solved. In the next version, this problem will be fixed, translation will be updated, and authentication will be reduced.Thank you for your advice.

kyrios123 commented 4 years ago

@zhuyaliang any idea when the next version will be available ? We are really impatient to provide it with our Solus MATE edition, but the maturity of the application should be sufficient to offer a great user experience !

zhuyaliang commented 4 years ago

@kyrios123 The next version changes very little 1 Update translation 2 Fixed user list window size

I will release a new version tonight

zhuyaliang commented 4 years ago

@kyrios123 I've released a new version

kyrios123 commented 4 years ago

Thanks @zhuyaliang !

Mate User Manager is now shipped by default on Solus MATE since version 4.1 (see release announcement here).

Keep on doing great work and making this app better and better !

zhuyaliang commented 4 years ago

@kyrios123 Thank you for your modification. I'm sorry that I didn't reply to you in time due to the Spring Festival and the epidemic。