Running out of disk space during GUI init results in hang and non-drawing windows #9997

issue gmaxwell opened this issue on March 15, 2017
  1. gmaxwell commented at 5:45 AM on March 15, 2017: contributor

    2017-03-15 05:37:56 init message: Rewinding blocks... 2017-03-15 05:38:09 *** Disk space is low! 2017-03-15 05:38:10 Aborted block database rebuild. Exiting. 2017-03-15 05:38:10 GUI: requestShutdown : Requesting shutdown 2017-03-15 05:38:10 GUI: shutdown : Running Shutdown in thread 2017-03-15 05:38:10 Interrupting HTTP server 2017-03-15 05:38:10 Interrupting HTTP RPC server 2017-03-15 05:38:10 GUI: initializeResult : Initialization result: false 2017-03-15 05:38:10 Interrupting RPC 2017-03-15 05:38:10 scheduler thread interrupt 2017-03-15 05:38:10 GUI: ~BitcoinApplication : Stopping thread 2017-03-15 05:38:10 Shutdown: In progress... 2017-03-15 05:38:10 Stopping HTTP RPC server 2017-03-15 05:38:10 Stopping RPC 2017-03-15 05:38:10 Stopping HTTP server 2017-03-15 05:38:10 Stopped HTTP server 2017-03-15 05:38:10 *** Disk space is low!

    (gdb) thread apply all bt

    Thread 4 (Thread 0x7f43c3c40700 (LWP 14166)):
    [#0](/bitcoin-bitcoin/0/)  0x00007f43cab1e93d in poll () at ../sysdeps/unix/syscall-template.S:84
    [#1](/bitcoin-bitcoin/1/)  0x00007f43c6b7ec6a in poll (__timeout=-1, __nfds=1, __fds=0x7f43c3c3fd10) at /usr/include/bits/poll2.h:46
    [#2](/bitcoin-bitcoin/2/)  _xcb_conn_wait (c=c@entry=0x55e96db728c0, cond=cond@entry=0x55e96db72900, vector=vector@entry=0x0, count=count@entry=0x0)
        at /var/tmp/portage/x11-libs/libxcb-1.11.1/work/libxcb-1.11.1/src/xcb_conn.c:459
    [#3](/bitcoin-bitcoin/3/)  0x00007f43c6b810df in xcb_wait_for_event (c=0x55e96db728c0)
        at /var/tmp/portage/x11-libs/libxcb-1.11.1/work/libxcb-1.11.1/src/xcb_in.c:693
    [#4](/bitcoin-bitcoin/4/)  0x00007f43ced124b9 in QXcbEventReader::run (this=0x55e96db7cf90) at qxcbconnection.cpp:1105
    [#5](/bitcoin-bitcoin/5/)  0x00007f43ccd2f3e9 in QThreadPrivate::start (arg=0x55e96db7cf90) at thread/qthread_unix.cpp:337
    [#6](/bitcoin-bitcoin/6/)  0x00007f43cc18560c in start_thread (arg=0x7f43c3c40700) at pthread_create.c:334
    [#7](/bitcoin-bitcoin/7/)  0x00007f43cab2889d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
    
    Thread 3 (Thread 0x7f43c15e7700 (LWP 14167)):
    [#0](/bitcoin-bitcoin/0/)  pthread_cond_wait () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
    [#1](/bitcoin-bitcoin/1/)  0x00007f43ccd2fbf3 in QWaitConditionPrivate::wait (time=18446744073709551615, this=0x7f43b4105930)
        at thread/qwaitcondition_unix.cpp:136
    [#2](/bitcoin-bitcoin/2/)  QWaitCondition::wait (this=this@entry=0x7f43b4f76888, mutex=mutex@entry=0x7f43b4f76880, time=time@entry=18446744073709551615)
        at thread/qwaitcondition_unix.cpp:208
    [#3](/bitcoin-bitcoin/3/)  0x00007f43ccd280e3 in QSemaphore::acquire (this=this@entry=0x7f43c15e57b0, n=n@entry=1) at thread/qsemaphore.cpp:137
    [#4](/bitcoin-bitcoin/4/)  0x00007f43ccf1ddb8 in QMetaMethod::invoke (this=this@entry=0x7f43c15e5a90, object=object@entry=0x55e96e1a9ff0, 
        connectionType=connectionType@entry=Qt::BlockingQueuedConnection, returnValue=..., val0=..., val1=..., val2=..., val3=..., val4=..., 
        val5=..., val6=..., val7=..., val8=..., val9=...) at kernel/qmetaobject.cpp:2240
    [#5](/bitcoin-bitcoin/5/)  0x00007f43ccf22bd3 in QMetaObject::invokeMethod (obj=obj@entry=0x55e96e1a9ff0, member=member@entry=0x55e96c50477f "message", 
    ---Type <return> to continue, or q <return> to quit---
        type=Qt::BlockingQueuedConnection, ret=..., val0=..., val1=..., val2=..., val3=..., val4=..., val5=..., val6=..., val7=..., val8=..., 
        val9=...) at kernel/qmetaobject.cpp:1478
    [#6](/bitcoin-bitcoin/6/)  0x000055e96bd040fa in QMetaObject::invokeMethod (val9=..., val8=..., val7=..., val6=..., val5=..., val4=..., val3=..., val2=..., 
        val1=..., val0=..., type=<optimized out>, member=0x55e96c50477f "message", obj=0x55e96e1a9ff0)
        at /usr/include/qt5/QtCore/qobjectdefs.h:391
    [#7](/bitcoin-bitcoin/7/)  ThreadSafeMessageBox (gui=0x55e96e1a9ff0, message=..., caption=..., style=<optimized out>) at qt/bitcoingui.cpp:1172
    [#8](/bitcoin-bitcoin/8/)  0x000055e96be24b7a in boost::function3<bool, std::string const&, std::string const&, unsigned int>::operator() (a2=<optimized out>, 
        a1=..., a0=..., this=<optimized out>) at /usr/include/boost/function/function_template.hpp:767
    [#9](/bitcoin-bitcoin/9/)  boost::signals2::detail::call_with_tuple_args<bool>::m_invoke<bool, boost::function<bool(const std::basic_string<char>&, const std::basic_string<char>&, unsigned int)>, 0u, 1u, 2u, const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned int&> (args=..., func=..., this=<optimized out>)
        at /usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:92
    [#10](/bitcoin-bitcoin/10/) boost::signals2::detail::call_with_tuple_args<bool>::operator()<boost::function<bool(const std::basic_string<char>&, const std::basic_string<char>&, unsigned int)>, const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned int&, 3ul> (args=..., func=..., this=<optimized out>)
        at /usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:86
    [#11](/bitcoin-bitcoin/11/) boost::signals2::detail::variadic_slot_invoker<bool, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int>::m_invoke<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<bool(const std::basic_string<char>&, const std::basic_string<char>&, unsigned int), boost::function<bool(const std::basic_string<char>&, const std::basic_string<char>&, unsigned int)> >, boost::signals2::mutex> > > (connectionBody=..., this=<optimized out>)
        at /usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:127
    [#12](/bitcoin-bitcoin/12/) boost::signals2::detail::variadic_slot_invoker<bool, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int>::operator()<boost::shared_ptr<boost::signals2::deta---Type <return> to continue, or q <return> to quit---
    il::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<bool(const std::basic_string<char>&, const std::basic_string<char>&, unsigned int), boost::function<bool(const std::basic_string<char>&, const std::basic_string<char>&, unsigned int)> >, boost::signals2::mutex> > > (connectionBody=..., this=<optimized out>)
        at /usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:115
    [#13](/bitcoin-bitcoin/13/) boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<bool, std::string const&, std::string const&, unsigned int>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<bool (std::string const&, std::string const&, unsigned int), boost::function<bool (std::string const&, std::string const&, unsigned int)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<bool (std::string const&, std::string const&, unsigned int), boost::function<bool (std::string const&, std::string const&, unsigned int)> >, boost::signals2::mutex> >::dereference() const (
        this=0x7f43c15e5f50) at /usr/include/boost/signals2/detail/slot_call_iterator.hpp:82
    [#14](/bitcoin-bitcoin/14/) boost::iterator_core_access::dereference<boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<bool, const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned int>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<bool(const std::basic_string<char>&, const std::basic_string<char>&, unsigned int), boost::function<bool(const std::basic_string<char>&, const std::basic_string<char>&, unsigned int)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<bool(const std::basic_string<char>&, const std::basic_string<char>&, unsigned int), boost::function<bool(const std::basic_string<char>&, const std::basic_string<char>&, unsigned int)> >, boost::signals2::mutex> > > (f=...)
        at /usr/include/boost/iterator/iterator_facade.hpp:514
    [#15](/bitcoin-bitcoin/15/) boost::iterator_facade<boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<bool, std::string const&, std::string const&, unsigned int>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<bool (std::string const&, std::string const&, unsigned int), boost::function<bool (std::string const&, std::string const&, unsigned int)> >, boost::signals2::mutex> > >, boost::signals2::detail::connect---Type <return> to continue, or q <return> to quit---
    ion_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<bool (std::string const&, std::string const&, unsigned int), boost::function<bool (std::string const&, std::string const&, unsigned int)> >, boost::signals2::mutex> >, bool, boost::single_pass_traversal_tag, bool const&, long>::operator*() const (this=0x7f43c15e5f50)
        at /usr/include/boost/iterator/iterator_facade.hpp:639
    [#16](/bitcoin-bitcoin/16/) boost::signals2::last_value<bool>::operator()<boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<bool, const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned int>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<bool(const std::basic_string<char>&, const std::basic_string<char>&, unsigned int), boost::function<bool(const std::basic_string<char>&, const std::basic_string<char>&, unsigned int)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<bool(const std::basic_string<char>&, const std::basic_string<char>&, unsigned int), boost::function<bool(const std::basic_string<char>&, const std::basic_string<char>&, unsigned int)> >, boost::signals2::mutex> > > (last=..., first=..., this=<optimized out>)
        at /usr/include/boost/signals2/last_value.hpp:47
    [#17](/bitcoin-bitcoin/17/) boost::signals2::detail::combiner_invoker<bool>::operator()<boost::signals2::last_value<bool>, boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<bool, const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned int>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<bool(const std::basic_string<char>&, const std::basic_string<char>&, unsigned int), boost::function<bool(const std::basic_string<char>&, const std::basic_string<char>&, unsigned int)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<bool(const std::basic_string<char>&, const std::basic_string<char>&, unsigned int), boost::function<bool(const std::basic_string<char>&, const std::basic_string<char>&, unsigned int)> >, boost::signals2::mutex> > > (
        last=..., first=..., combiner=..., this=<optimized out>) at /usr/include/boost/signals2/detail/result_type_wrapper.hpp:53
    [#18](/bitcoin-bitcoin/18/) boost::signals2::detail::signal_impl<bool (std::string const&, std::string const&, unsigned int), boost::signals2::last_value<bool>, int, std::less<int>, boost::function<bool (std::string const&, std::string const&, unsigned int)>, boost::function<bool (boost::signals2::conne---Type <return> to continue, or q <return> to quit---
    ction const&, std::string const&, std::string const&, unsigned int)>, boost::signals2::mutex>::operator()(std::string const&, std::string const&, unsigned int) (this=<optimized out>, args#0=..., args#1=..., args#2=268436482)
        at /usr/include/boost/signals2/detail/signal_template.hpp:246
    [#19](/bitcoin-bitcoin/19/) 0x000055e96bf2c242 in boost::signals2::signal<bool (std::string const&, std::string const&, unsigned int), boost::signals2::last_value<bool>, int, std::less<int>, boost::function<bool (std::string const&, std::string const&, unsigned int)>, boost::function<bool (boost::signals2::connection const&, std::string const&, std::string const&, unsigned int)>, boost::signals2::mutex>::operator()(std::string const&, std::string const&, unsigned int) (args#2=268436482, args#1="", args#0="Error: Disk space is low!", this=<optimized out>)
        at /usr/include/boost/signals2/detail/signal_template.hpp:718
    [#20](/bitcoin-bitcoin/20/) (anonymous namespace)::AbortNode (strMessage="Disk space is low!", userMessage="Error: Disk space is low!") at validation.cpp:1539
    [#21](/bitcoin-bitcoin/21/) 0x000055e96bf2c4a9 in CheckDiskSpace (nAdditionalBytes=nAdditionalBytes@entry=0) at validation.cpp:3427
    [#22](/bitcoin-bitcoin/22/) 0x000055e96bf2c7de in FlushStateToDisk (state=..., mode=mode@entry=FLUSH_STATE_ALWAYS, nManualPruneHeight=nManualPruneHeight@entry=0)
        at validation.cpp:2045
    [#23](/bitcoin-bitcoin/23/) 0x000055e96bf2d3c8 in FlushStateToDisk () at validation.cpp:2099
    [#24](/bitcoin-bitcoin/24/) 0x000055e96bdfbea4 in Shutdown () at init.cpp:226
    [#25](/bitcoin-bitcoin/25/) 0x000055e96bcf6cee in BitcoinCore::shutdown (this=0x55e96e4db790) at qt/bitcoin.cpp:303
    [#26](/bitcoin-bitcoin/26/) 0x00007f43ccf4723a in QObject::event (this=0x55e96e4db790, e=<optimized out>) at kernel/qobject.cpp:1245
    [#27](/bitcoin-bitcoin/27/) 0x00007f43cd83b4ec in QApplicationPrivate::notify_helper (this=this@entry=0x55e96db656f0, receiver=receiver@entry=0x55e96e4db790, 
        e=e@entry=0x55e96e4b88b0) at kernel/qapplication.cpp:3720
    [#28](/bitcoin-bitcoin/28/) 0x00007f43cd840f52 in QApplication::notify (this=0x7ffd5a86f330, receiver=0x55e96e4db790, e=0x55e96e4b88b0)
        at kernel/qapplication.cpp:3503
    [#29](/bitcoin-bitcoin/29/) 0x00007f43ccf123ed in QCoreApplication::notifyInternal (this=0x7ffd5a86f330, receiver=0x55e96e4db790, event=event@entry=0x55e96e4b88b0)
        at kernel/qcoreapplication.cpp:935
    [#30](/bitcoin-bitcoin/30/) 0x00007f43ccf15883 in QCoreApplication::sendEvent (event=0x55e96e4b88b0, receiver=<optimized out>) at kernel/qcoreapplication.h:228
    [#31](/bitcoin-bitcoin/31/) QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x55e96e4db4f0)
    ---Type <return> to continue, or q <return> to quit---
        at kernel/qcoreapplication.cpp:1552
    [#32](/bitcoin-bitcoin/32/) 0x00007f43ccf15ebe in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0)
        at kernel/qcoreapplication.cpp:1410
    [#33](/bitcoin-bitcoin/33/) 0x00007f43ccf704b9 in postEventSourceDispatch (s=0x7f43b40012d0) at kernel/qeventdispatcher_glib.cpp:271
    [#34](/bitcoin-bitcoin/34/) 0x00007f43c95164bc in g_main_dispatch (context=0x7f43b4000990)
        at /var/tmp/portage/dev-libs/glib-2.46.2-r3/work/glib-2.46.2/glib/gmain.c:3154
    [#35](/bitcoin-bitcoin/35/) g_main_context_dispatch (context=context@entry=0x7f43b4000990)
        at /var/tmp/portage/dev-libs/glib-2.46.2-r3/work/glib-2.46.2/glib/gmain.c:3769
    [#36](/bitcoin-bitcoin/36/) 0x00007f43c95167c8 in g_main_context_iterate (context=context@entry=0x7f43b4000990, block=block@entry=1, dispatch=dispatch@entry=1, 
        self=<optimized out>) at /var/tmp/portage/dev-libs/glib-2.46.2-r3/work/glib-2.46.2/glib/gmain.c:3840
    [#37](/bitcoin-bitcoin/37/) 0x00007f43c95168d1 in g_main_context_iteration (context=0x7f43b4000990, may_block=1)
        at /var/tmp/portage/dev-libs/glib-2.46.2-r3/work/glib-2.46.2/glib/gmain.c:3901
    [#38](/bitcoin-bitcoin/38/) 0x00007f43ccf70584 in QEventDispatcherGlib::processEvents (this=0x7f43b40008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:418
    [#39](/bitcoin-bitcoin/39/) 0x00007f43ccf10aeb in QEventLoop::exec (this=this@entry=0x7f43c15e6e20, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
    [#40](/bitcoin-bitcoin/40/) 0x00007f43ccd299ad in QThread::exec (this=<optimized out>) at thread/qthread.cpp:503
    [#41](/bitcoin-bitcoin/41/) 0x00007f43ccd2f3e9 in QThreadPrivate::start (arg=0x55e96e4da8e0) at thread/qthread_unix.cpp:337
    [#42](/bitcoin-bitcoin/42/) 0x00007f43cc18560c in start_thread (arg=0x7f43c15e7700) at pthread_create.c:334
    [#43](/bitcoin-bitcoin/43/) 0x00007f43cab2889d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
    
    Thread 2 (Thread 0x7f43a5861700 (LWP 14171)):
    [#0](/bitcoin-bitcoin/0/)  pthread_cond_wait () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
    [#1](/bitcoin-bitcoin/1/)  0x000055e96c0f6ecb in leveldb::(anonymous namespace)::PosixEnv::BGThread (this=0x7f43b4de3240) at leveldb/util/env_posix.cc:574
    [#2](/bitcoin-bitcoin/2/)  leveldb::(anonymous namespace)::PosixEnv::BGThreadWrapper (arg=0x7f43b4de3240) at leveldb/util/env_posix.cc:521
    [#3](/bitcoin-bitcoin/3/)  0x00007f43cc18560c in start_thread (arg=0x7f43a5861700) at pthread_create.c:334
    ---Type <return> to continue, or q <return> to quit---
    [#4](/bitcoin-bitcoin/4/)  0x00007f43cab2889d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
    
    Thread 1 (Thread 0x7f43ced76780 (LWP 14165)):
    [#0](/bitcoin-bitcoin/0/)  pthread_cond_wait () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
    [#1](/bitcoin-bitcoin/1/)  0x00007f43ccd2fbf3 in QWaitConditionPrivate::wait (time=18446744073709551615, this=0x55e96e4db640)
        at thread/qwaitcondition_unix.cpp:136
    [#2](/bitcoin-bitcoin/2/)  QWaitCondition::wait (this=this@entry=0x55e96e4db4a8, mutex=mutex@entry=0x55e96e4db480, time=time@entry=18446744073709551615)
        at thread/qwaitcondition_unix.cpp:208
    [#3](/bitcoin-bitcoin/3/)  0x00007f43ccd2efe6 in QThread::wait (this=<optimized out>, time=18446744073709551615) at thread/qthread_unix.cpp:668
    [#4](/bitcoin-bitcoin/4/)  0x000055e96bcf4ff7 in BitcoinApplication::~BitcoinApplication (this=0x7ffd5a86f330, __in_chrg=<optimized out>) at qt/bitcoin.cpp:345
    [#5](/bitcoin-bitcoin/5/)  0x000055e96bce2e81 in main (argc=2, argv=<optimized out>) at qt/bitcoin.cpp:701
    (gdb)
    
  2. dhimmel commented at 1:18 AM on March 16, 2017: none

    @gmaxwell can you edit your comment to use a markdown code block? GitHub thinks that all the # are cross-referencing old issues / pull requests.

  3. fanquake added the label Bug on Mar 16, 2017
  4. laanwj added the label GUI on Mar 16, 2017
  5. hebasto commented at 2:23 PM on April 26, 2019: member

    I cannot reproduce this issue on current master 653b2b4426cf762f90707c27c3f435142c911ab6 Every time "Disk space is low!" is fired bitcoin-qt shows GUI and shuts down correctly. @gmaxwell if this is still an issue, would you mind providing steps to reproduce it?

  6. Sjors commented at 7:47 PM on April 27, 2019: member

    CheckDiskSpace uses 50 MB as the mimimum free space. With a typical swap gobbling desktop that probably leads to undeterministic behavior, just depending on whether it runs completely out of space.

    50 MB has the additional problem that it's just 3 rev????.dat files. I recently had a microSD card for the blocks dir run out of space, and I couldn't start the node anymore even to prune it. I suggest we increase this to a safer 200 MB. Perhaps more if -prune isn't set, since the user is doomed to run out space in less than a day.

  7. hebasto commented at 8:59 AM on April 28, 2019: member

    @Sjors

    I recently had a microSD card for the blocks dir run out of space, and I couldn't start the node anymore even to prune it.

    What is the capacity of your microSD? I'll try to reproduce this behavior.

  8. hebasto commented at 9:54 AM on April 28, 2019: member

    My try to reproduce an issue reported by @Sjors:

    • create /dev/loop device with 2 GiB capacity, format it and mount it to ~/test-loop-fs
    • src/qt/bitcoin-qt -blocksdir=/home/hebasto/test-loop-fs

    Bitcoin Core hits "Disk space is low!" error.

    After this error I can start Bitcoin Core with the same error. Every time "Disk space is low!" is fired bitcoin-qt shows GUI and shuts down correctly.

    Using additional option -prune=550 also leads to "Disk space is low!" error.

  9. Sjors commented at 3:04 PM on April 28, 2019: member

    256 GB (much less in practice). I didn't use QT, just bitcoind.

  10. hebasto commented at 12:08 PM on April 30, 2019: member

    Another test with bitcoind. After bitcoind hit "Disk space is low!" error it shut down.

    The following runs of bitcoind end with "Disk space is low!" error. Using additional option -prune=550 also leads to "Disk space is low!" error.

  11. MarcoFalke commented at 7:28 PM on May 8, 2020: member

    The issue is probably that error messages are also written to disk. Especially the "Disk space is low!" error is (tried) to written to disk in several places.

  12. MarcoFalke commented at 7:29 PM on May 8, 2020: member

    Anyway, the issue didn't seem to be reproducible, so closing for now.

    Is this still an issue with a recent version of Bitcoin Core? If yes, what are the steps to reproduce?

  13. MarcoFalke closed this on May 8, 2020

  14. DrahtBot locked this on Feb 15, 2022
Labels
Linked (view graph)
#1 JSON-RPC support for mobile devices ("ultra-lightweight" clients)#2 Long-term, safe, store-of-value#3 Encrypt wallet#4 Export/Import wallet in a human readable, future-proof format#5 Make the version number the protocol version and not the client version#6 Treat wallet as a generic keystore#7 Block-header-only, faster startup client#8 RPC command to sign text with wallet private key#9 Fix for GUI on Macs and latest wxWidgets#10 Add address to listtransactions output#11 Nolisten patch#12 Monitor transactions and/or blocks#13 Messages with or about transactions#14 bitcoin: URI and/or bitcoin-request MIME type for click-to-pay#15 Option to specify external IP address#16 Mac UI issues#17 listaccounts method#18 Error when trying to send very precise amount#19 bitcoin(d) --help should output version number#20 JSON-RPC callback#21 Add time to category:move transactions#22 Update the list of hard-coded node IP addresses#23 CORS support#24 Gettransaction#25 sum(getaccounts) != getbalance#26 Confirmations not appearing for sent coins after recovering wallet from archive#27 listaccounts with minconf param was broken!#28 corrupted double-linked list?#29 setaccount / getaccountaddress not working properly#30 Fix bug in setaccount/getaccountaddress#31 -keypool option not advertised when using --help switch#32 Help output#33 Fix statusbar color#34 -rpcsslcertificatechainfile command line option spelled incorrectly in --help text#35 Issue34simple fix for issue 34#36 Show defaults in --help text#37 add -printtoconsole flat#38 the -4way command line argument is broken#39 Help changed, need translations#40 -rpcssl help text#41 Display version in help#42 fix -maxconnections#43 vastly reduce unnecessary database writes

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-13 18:15 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me