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

Linux mint electrum trouble #4024

Open
Rsolo85 opened this issue Mar 5, 2018 · 15 comments
Open

Linux mint electrum trouble #4024

Rsolo85 opened this issue Mar 5, 2018 · 15 comments

Comments

@Rsolo85
Copy link

Rsolo85 commented Mar 5, 2018

when i install or just start electrum on LM, its crashes with segmentation error (if i configure it in russian rubles)

@Rsolo85
Copy link
Author

Rsolo85 commented Mar 5, 2018

maybe some different reason

@AbdussamadA
Copy link
Contributor

which version is this? and can you run it via the command line with the -v options i.e. electrum -v and paste bin the output?

@Rsolo85
Copy link
Author

Rsolo85 commented Mar 5, 2018

solo@daemon ~/Загрузки/Electrum-3.0.6 $ electrum -v
[SimpleConfig] electrum directory /home/solo/.electrum
[get_server] [Errno 111] Connection refused
[Plugins] registering hardware digitalbitbox: ('hardware', 'digitalbitbox', 'Digital Bitbox wallet')
[Plugins] registering hardware keepkey: ('hardware', 'keepkey', 'KeepKey wallet')
[Plugins] registering hardware ledger: ('hardware', 'ledger', 'Ledger wallet')
[Plugins] registering hardware trezor: ('hardware', 'trezor', 'TREZOR wallet')
[Plugins] registering wallet type ('2fa', 'trustedcoin')
[profiler] init 0.0030
[Network] blockchains dict_keys([0])
[Network] starting network
[Network] connecting to bitcoin.freedomnode.com:50002:s as new interface
[FxThread] using exchange BitcoinAverage
[ELEX01.blackpole.online] cannot resolve hostname
[BitcoinAverage] requesting fx history for RUB
[BitcoinAverage] getting fx quotes for RUB
[WalletStorage] wallet path /home/solo/Crypto/SOLO
[WalletStorage] wallet path /home/solo/Crypto/SOLO
[WalletStorage] wallet path /home/solo/Crypto/SOLO
[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:645)
[songbird.bauerj.eu] connected
[electrum.qtornado.com] connected
[node.xbt.eu] connected
[ELECTRUMX.not.fyi] failed to connect [Errno 113] Нет маршрута до узла
[helicarrier.bauerj.eu] connected
[ndnd.selfhost.eu] connected
[electrum.festivaldelhumor.org] connected
[Network] no height for main interface
[Network] switching to electrum.qtornado.com:50002:s
[Network] sending subscriptions to electrum.qtornado.com:50002:s 0 0
[Network] fee_estimates[25] 2046
[Network] fee_estimates[10] 3502
[Network] fee_estimates[5] 3502
[Network] fee_estimates[2] 3855
[Network] relayfee 1000
[electrumx.bot.nu] connected
[electrum.be] SSL error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:645)
[BitcoinAverage] received fx history for RUB
[qmebr.spdns.org] connected
[node1.volatilevictory.com] failed to connect [Errno 101] Сеть недоступна
[BitcoinAverage] received fx quotes
[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:645)
[profiler] load_transactions 0.0002
[profiler] build_reverse_history 0.0000
[profiler] save_transactions 0.0005
[profiler] check_history 0.0006
[profiler] on_update 0.0034
[ElectrumWindow/SOLO] Notifying GUI
[profiler] write 0.0000
[profiler] save_transactions 0.0016
[profiler] on_update 0.0093
[electrum.backplanedns.org] saving certificate
[electrum.backplanedns.org] connected
[profiler] on_update 0.0102
Ошибка сегментирования (сделан дамп памяти)

@ecdsa
Copy link
Member

ecdsa commented Mar 5, 2018

what does the last line mean? is that a segmentation fault?

@Rsolo85
Copy link
Author

Rsolo85 commented Mar 5, 2018

yes

@SomberNight
Copy link
Member

possibly related #3660

@Perlover
Copy link

Perlover commented Mar 5, 2018

I am author of 3660 issue

I run electrum with '-v' option and i got segmentation fault after "on_update" too
My output is there: #3660

@Perlover
Copy link

Perlover commented Mar 5, 2018

@Rsolo85 , can you get "gdb" backtrace?
I did same:

$ ulimit -c unlimited
$ electrum

After crash and in home directory there will be "core" file
Next:

$ cd
$ gdb -c core $(which python3)

and in gdb enter "bt" and
After please send here backtrace

Thsnks!

@Rsolo85
Copy link
Author

Rsolo85 commented Mar 6, 2018

gdb -c core $(which python3)
GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.5) 7.11.1
Copyright (C) 2016 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-linux-gnu".
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 /usr/bin/python3...(no debugging symbols found)...done.

warning: core file may not match specified executable file.
[New LWP 14476]
[New LWP 14459]

warning: Unexpected size of section .reg-xstate/14476' in core file. [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". Core was generated by /usr/bin/python3 /usr/local/bin/electrum'.
Program terminated with signal SIGSEGV, Segmentation fault.

warning: Unexpected size of section `.reg-xstate/14476' in core file.
#0 0x00007fcfd0741889 in ?? ()
[Current thread is 1 (Thread 0x7fcfcd582700 (LWP 14476))]
(gdb) bt
#0 0x00007fcfd0741889 in ()
#1 0x00007fcfcd581f10 in ()
#2 0x0000000002af0870 in ()
#3 0x00007fcfcd581f50 in ()
#4 0x0000000002af0bd0 in ()
#5 0x00007ffee38ba8ff in ()
#6 0x00007fcff46817be in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
(gdb)

@Perlover
Copy link

Perlover commented Mar 6, 2018

Can you try to send a full dump info? You dump it's not full - there are only first lines of backtrace.
May be you need press because your gdb splits long output to pages and Enter can be used for page listing. Or you can try other:

$ gdb -c core $(which python3) |& tee 1.txt

And after exiting from gdb your the 1.txt file will consist dump info

Thanks!

@Rsolo85
Copy link
Author

Rsolo85 commented Mar 7, 2018

gdb -c core $(which python3)
GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.5) 7.11.1
Copyright (C) 2016 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-linux-gnu".
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 /usr/bin/python3...(no debugging symbols found)...done.

warning: core file may not match specified executable file.
[New LWP 6044]
[New LWP 6057]
[New LWP 6079]
[New LWP 6080]
[New LWP 6107]
[New LWP 6046]
[New LWP 6056]
[New LWP 6068]
[New LWP 6060]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/bin/python3 /usr/local/bin/electrum'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x00007fb7d4e057b1 in ?? ()
from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
[Current thread is 1 (Thread 0x7fb81b123700 (LWP 6044))]
(gdb) bt
#0 0x00007fb7d4e057b1 in () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#1 0x00007fb7d4e0597b in () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#2 0x00007fb7d4dd2f7b in QTreeView::isIndexHidden(QModelIndex const&) const ()
at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#3 0x00007fb7d524b66b in ()
at /usr/lib/python3/dist-packages/PyQt5/QtWidgets.cpython-35m-x86_64-linux-gnu.so
#4 0x00007fb7d4dd4ea7 in QTreeView::visualRect(QModelIndex const&) const ()
at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#5 0x00007fb7d5250a1b in ()
at /usr/lib/python3/dist-packages/PyQt5/QtWidgets.cpython-35m-x86_64-linux-gnu.so
#6 0x00007fb7d4d7b5da in () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#7 0x00007fb7d4d7bae8 in () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#8 0x00007fb7f809e9d9 in () at /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#9 0x00007fb7f809ef49 in () at /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#10 0x00007fb7f80a43ac in () at /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#11 0x00007fb817d87abe in () at /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
#12 0x00007fb817d8926e in () at /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
#13 0x00007fb8102e7c01 in QObject::event(QEvent*) ()
at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#14 0x00007fb7d4b3705c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
---Type to continue, or q to quit---
#15 0x00007fb7d4b3c516 in QApplication::notify(QObject*, QEvent*) ()
at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#16 0x00007fb7d51f3f3e in ()
at /usr/lib/python3/dist-packages/PyQt5/QtWidgets.cpython-35m-x86_64-linux-gnu.so
#17 0x00007fb8102b838b in QCoreApplication::notifyInternal(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#18 0x00007fb8102ba786 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#19 0x00007fb81030e3c3 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#20 0x00007fb7def9b197 in g_main_context_dispatch (context=0x7fb804003400)
at /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gmain.c:3154
#21 0x00007fb7def9b197 in g_main_context_dispatch (context=context@entry=0x7fb804003400) at /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gmain.c:3769
#22 0x00007fb7def9b3f0 in g_main_context_iterate (context=context@entry=0x7fb804003400, block=block@entry=0, dispatch=dispatch@entry=1, self=)
at /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gmain.c:3840
#23 0x00007fb7def9b49c in g_main_context_iteration (context=0x7fb804003400, may_block=0) at /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gmain.c:3901
#24 0x00007fb81030e7cf in QEventDispatcherGlib::processEvents(QFlagsQEventLoop::ProcessEventsFlag) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#25 0x00007fb7d588dfb4 in ()
at /usr/lib/python3/dist-packages/PyQt5/QtCore.cpython-35m-x86_64-linux-gnu.---Type to continue, or q to quit---
so
#26 0x00000000004e9ba7 in PyCFunction_Call ()
#27 0x00000000005372f4 in PyEval_EvalFrameEx ()
#28 0x000000000053b7e4 in PyEval_EvalFrameEx ()
#29 0x000000000053b7e4 in PyEval_EvalFrameEx ()
#30 0x000000000053b7e4 in PyEval_EvalFrameEx ()
#31 0x0000000000540f9b in PyEval_EvalCodeEx ()
#32 0x00000000004ebd23 in ()
#33 0x00000000005c1797 in PyObject_Call ()
#34 0x00000000004fb9ce in ()
#35 0x00000000005c1797 in PyObject_Call ()
#36 0x0000000000534d90 in PyEval_CallObjectWithKeywords ()
#37 0x00007fb7d59ced00 in ()
at /usr/lib/python3/dist-packages/PyQt5/QtCore.cpython-35m-x86_64-linux-gnu.so
#38 0x00007fb7d59cf178 in ()
at /usr/lib/python3/dist-packages/PyQt5/QtCore.cpython-35m-x86_64-linux-gnu.so
#39 0x00007fb7d59c52b0 in ()
at /usr/lib/python3/dist-packages/PyQt5/QtCore.cpython-35m-x86_64-linux-gnu.so
#40 0x00007fb7d59c5be7 in ()
at /usr/lib/python3/dist-packages/PyQt5/QtCore.cpython-35m-x86_64-linux-gnu.---Type to continue, or q to quit---
so
#41 0x00007fb8102e7c01 in QObject::event(QEvent*) ()
at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#42 0x00007fb7d4b3705c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#43 0x00007fb7d4b3c516 in QApplication::notify(QObject*, QEvent*) ()
at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#44 0x00007fb7d51f3f3e in ()
at /usr/lib/python3/dist-packages/PyQt5/QtWidgets.cpython-35m-x86_64-linux-gnu.so
#45 0x00007fb8102b838b in QCoreApplication::notifyInternal(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#46 0x00007fb8102ba786 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#47 0x00007fb81030e3c3 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#48 0x00007fb7def9b197 in g_main_context_dispatch (context=0x7fb804003400)
at /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gmain.c:3154
#49 0x00007fb7def9b197 in g_main_context_dispatch (context=context@entry=0x7fb804003400) at /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gmain.c:3769
#50 0x00007fb7def9b3f0 in g_main_context_iterate (context=context@entry=0x7fb804003400, block=block@entry=1, dispatch=dispatch@entry=1, self=)
at /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gmain.c:3840
#51 0x00007fb7def9b49c in g_main_context_iteration (context=0x7fb804003400, may_---Type to continue, or q to quit---
block=1) at /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gmain.c:3901
#52 0x00007fb81030e7cf in QEventDispatcherGlib::processEvents(QFlagsQEventLoop::ProcessEventsFlag) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#53 0x00007fb8102b5b4a in QEventLoop::exec(QFlagsQEventLoop::ProcessEventsFlag) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#54 0x00007fb8102bdbec in QCoreApplication::exec() ()
at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#55 0x00007fb7d51b70bb in ()
at /usr/lib/python3/dist-packages/PyQt5/QtWidgets.cpython-35m-x86_64-linux-gnu.so
#56 0x00000000004e9b7f in PyCFunction_Call ()
#57 0x00000000005372f4 in PyEval_EvalFrameEx ()
#58 0x00000000005406df in ()
#59 0x000000000053c1d0 in PyEval_EvalFrameEx ()
#60 0x000000000053b7e4 in PyEval_EvalFrameEx ()
#61 0x0000000000540199 in ()
#62 0x0000000000540e4f in PyEval_EvalCode ()
#63 0x000000000060c272 in ()
#64 0x000000000060e71a in PyRun_FileExFlags ()
#65 0x000000000060ef0c in PyRun_SimpleFileExFlags ()
#66 0x000000000063fb26 in Py_Main ()
#67 0x00000000004cfeb1 in main ()
(gdb) Quit
(gdb)

What i must do?

@Rsolo85
Copy link
Author

Rsolo85 commented Mar 7, 2018

$ gdb -c core $(which python3) |& tee 1.txt

GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.5) 7.11.1
Copyright (C) 2016 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-linux-gnu".
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 /usr/bin/python3...(no debugging symbols found)...done.

warning: core file may not match specified executable file.
[New LWP 6044]
[New LWP 6057]
[New LWP 6079]
[New LWP 6080]
[New LWP 6107]
[New LWP 6046]
[New LWP 6056]
[New LWP 6068]
[New LWP 6060]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/bin/python3 /usr/local/bin/electrum'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x00007fb7d4e057b1 in ?? ()
from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
[Current thread is 1 (Thread 0x7fb81b123700 (LWP 6044))]
(gdb)

@Perlover
Copy link

Perlover commented Mar 7, 2018

Thanks!
By backtrace it's same problem as issue #3660
I hope the developers of Electrum will patch it. For my issue they told that looks like not Electrum problem.

@outhud
Copy link

outhud commented May 28, 2018

Hi @Perlover and @Rsolo85

I'm seeing the same problem. Linux Mint 18.3 with Cinnamon 3.6.7, using Electrum-LTC 3.1.3.1

The verbose electrum-ltc output seems to have similar items to you right before the seg fault (removed some bits that looked like wallet addresses):

~ $ electrum-ltc -v
[SimpleConfig] electrum directory /home/user/.electrum-ltc
[get_server] [Errno 111] Connection refused
[Plugins] registering hardware digitalbitbox: ('hardware', 'digitalbitbox', 'Digital Bitbox wallet')
[Plugins] registering hardware keepkey: ('hardware', 'keepkey', 'KeepKey wallet')
[Plugins] registering hardware ledger: ('hardware', 'ledger', 'Ledger wallet')
[Plugins] registering hardware trezor: ('hardware', 'trezor', 'TREZOR wallet')
[profiler] __init__ 0.0031
[Network] blockchains dict_keys([0])
[Network] starting network
[Network] connecting to electrum-ltc.festivaldelhumor.org:60002:s as new interface
[FxThread] using exchange BitcoinAverage
[BitcoinAverage] getting fx quotes for EUR
[WalletStorage] wallet path /home/user/.electrum-ltc/wallets/default_wallet
[WalletStorage] wallet path /home/user/.electrum-ltc/wallets/default_wallet
[WalletStorage] wallet path /home/user/.electrum-ltc/wallets/default_wallet
[elec.luggs.co] connected
[electrum-ltc0.snel.it] connected
[electrum-ltc.festivaldelhumor.org] connected
[e-2.claudioboxx.com] connected
[electrum-ltc.petrkr.net] connected
[backup.electrum-ltc.org] connected
[electrumx.kekku.li] SSL certificate signed by CA
[electrumx.kekku.li] connected
[Network] switching to electrum-ltc.festivaldelhumor.org:60002:s
[Network] sending subscriptions to electrum-ltc.festivaldelhumor.org:60002:s 0 0
[Network] electrum-ltc.festivaldelhumor.org:60002:s is lagging (1429242 vs 1429635)
[Network] fee_histogram []
[Network] fee_estimates[25] 47669
[e-2.claudioboxx.com] binary search
[electrum-ltc0.snel.it] binary search
[electrumx.kekku.li] binary search
[technetium.network] connected
[Network] fee_estimates[10] 47669
[Network] fee_estimates[5] 47669
[Network] fee_estimates[2] 100209
[Network] relayfee 1000
[backup.electrum-ltc.org] binary search
[electrum-ltc.wilv.in] connected
[electrum-ltc.petrkr.net] binary search
[electrum.ltc.xurious.com] connected
[electrum-ltc.wilv.in] binary search
[elec.luggs.co] catch up done 1429644
[Network] electrum-ltc.festivaldelhumor.org:60002:s is lagging (1429242 vs 1429644)
[Network] switching to elec.luggs.co:444:s
[Network] sending subscriptions to elec.luggs.co:444:s 0 0
[technetium.network] binary search
[Network] fee_histogram []
[Network] fee_estimates[25] 47669
[Network] fee_estimates[10] 47669
[Network] fee_estimates[5] 53223
[Network] relayfee 1000
[Network] fee_estimates[2] 100211
[electrum.ltc.xurious.com] binary search
[BitcoinAverage] received fx quotes
[profiler] load_transactions 0.0001
[profiler] check_history 0.0001
[profiler] load_local_history 0.0000
[profiler] build_spent_outpoints 0.0000
[SPV] requested merkle ***
[profiler] get_full_history 0.0016
[profiler] on_update 0.0045
[ElectrumWindow/default_wallet] Notifying GUI
[profiler] load_wallet 0.0603
[SPV] verified ***
[Synchronizer] receiving history *** 1
[SPV] requested merkle ***
[Synchronizer] received tx *** height: 1429638 bytes: 1392
[ElectrumWindow/default_wallet] Notifying GUI
[WalletStorage] saved /home/user/.electrum-ltc/wallets/default_wallet
[profiler] write 0.1596
[profiler] save_transactions 0.1603
[SPV] verified ***
[profiler] get_full_history 0.0059
[profiler] on_update 0.0155
[profiler] get_full_history 0.0049
[profiler] on_update 0.0149
Segmentation fault

Usually it crashes a few seconds after opening the main window. Did you have any luck solving this?

@Perlover
Copy link

Hi,
No, i don't have.
I have the computers with Linux Mint. In two computers Electrum crashes but one computer has stability Electrum. I don't understand difference. All libraries are standard from packages excluding the Trezor plugin for python and some related plugins for it (usb hid plugin for example)

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

6 participants