Bug 1882862 - udisksd segmentation faults in ped_geometry_set_start when increasing the size of an extended partition in gnome-disks
Summary: udisksd segmentation faults in ped_geometry_set_start when increasing the siz...
Keywords:
Status: NEW
Alias: None
Product: Fedora
Classification: Fedora
Component: parted
Version: 33
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Brian Lane
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-09-26 01:25 UTC by Matt Fagnani
Modified: 2020-09-29 09:38 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed:
Type: Bug


Attachments (Terms of Use)

Description Matt Fagnani 2020-09-26 01:25:37 UTC
Description of problem:

I connected a 500 GB external hard drive via USB while using a Fedora 33 KDE Plasma spin installation. The partition layout of the drive is:
108 GB ext3 partition
171 GB extended partition containing 63 GB ext3 and 108 GB ext4
220 GB free space 

I tried to increase the size of the extended partition on that drive using gnome-disks 3.38.0 by clicking Additional partition options, increasing the extended partition's size to 392 GB, and clicking Resize. The following error message was shown by gnome-disks: Error resizing partition: Remote peer disconnected (g-dbus-error-quark, 4)

udisksd had a segmentation fault in ped_geometry_set_start at cs/geom.c:183 in parted-3.3-5.fc33.x86_64. geom was a null pointer, so geom->end was a null pointer dereference at that line. geom = 0x0 was in frame 1 in resize_part at part.c:844 in libblockdev-part-0:2.24-5.fc33.x86_64 which was passed to ped_geometry_set_start.

Core was generated by `/usr/libexec/udisks2/udisksd'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  ped_geometry_set_start (geom=0x0, start=211768830) at cs/geom.c:183
183             return ped_geometry_set (geom, start, geom->end - start + 1);
[Current thread is 1 (Thread 0x7fb66d37d640 (LWP 6843))]

(gdb) p geom
$1 = (PedGeometry *) 0x0
(gdb) p geom->end
Cannot access memory at address 0x18

(gdb) bt full
#0  ped_geometry_set_start (geom=0x0, start=211768830) at cs/geom.c:183
#1  0x00007fb67417bab9 in resize_part
    (part=part@entry=0x7fb65c002ad0, dev=dev@entry=0x7fb65c093210, disk=disk@entry=0x7fb65c005870, size=0, align=align@entry=BD_PART_ALIGN_OPTIMAL, error=error@entry=0x7fb66d37c668) at part.c:844
        constr = 0x7fb65c013210
        geom = 0x0
        orig_flag_state = <optimized out>
        start = 211768830
        end = <optimized out>
        max_end = <optimized out>
        new_size = 0
        status = 0
        tolerance = <optimized out>
#2  0x00007fb67417da3d in bd_part_resize_part
    (disk=0x55a1ab7f0180 "/dev/sdb", part=0x55a1ab803080 "/dev/sdb2", size=<optimized out>, align=BD_PART_ALIGN_OPTIMAL, error=0x7fb66d37c668) at part.c:1286
        dev = 0x7fb65c093210
        ped_disk = 0x7fb65c005870
        ped_part = 0x7fb65c002ad0
        part_num_str = <optimized out>
        part_num = 2
        ret = 0
        progress_id = 55
        msg = <optimized out>
        old_size = 171200218112
--Type <RET> for more, q to quit, c to continue without paging--c
        new_size = 0
#3  0x000055a1aa40b319 in handle_resize (partition=0x7fb668004920, invocation=0x7fb668085630, size=0, options=<optimized out>) at udiskslinuxpartition.c:902
        block = 0x7fb668004ad0
        object = 0x55a1ab7f9230
        daemon = 0x55a1ab766f00
        state = 0x55a1ab780000
        partition_table_object = 0x55a1ab7f9180
        partition_table_block = 0x7fb668004a40
        caller_uid = 1000
        error = 0x0
        job = 0x7fb668011b00
        partition_object = 0x0
        wait_data = {object_path = 0x55a1ab75fbc0 "/org/freedesktop/UDisks2/block_devices/sdb2", new_size = 0}
        fd = 0
        part = 0x55a1ab803080 "/dev/sdb2"
        __func__ = "handle_resize"
#4  0x00007fb675276b10 in ffi_call_unix64 () at ../src/x86/unix64.S:76
#5  0x00007fb6752760a3 in ffi_call (cif=<optimized out>, fn=<optimized out>, rvalue=<optimized out>, avalue=<optimized out>) at ../src/x86/ffi64.c:525
        classes = {X86_64_INTEGER_CLASS, 32694, 1973883931, 32694}
        stack = <optimized out>
        argp = 0x7fb66d37c6d0 "\n"
        arg_types = <optimized out>
        gprcount = 5
        ssecount = <optimized out>
        ngpr = 1
        nsse = 0
        i = <optimized out>
        avn = <optimized out>
        ret_in_memory = <optimized out>
        reg_args = <optimized out>
#6  0x00007fb675a70e6d in g_cclosure_marshal_generic (closure=<optimized out>, return_gvalue=<optimized out>, n_param_values=<optimized out>, param_values=<optimized out>, invocation_hint=<optimized out>, marshal_data=<optimized out>) at ../gobject/gclosure.c:1500
        rtype = <optimized out>
        rvalue = 0x7fb66d37c830
        n_args = <optimized out>
        atypes = <optimized out>
        args = <optimized out>
        i = <optimized out>
        cif = {abi = FFI_UNIX64, nargs = 5, arg_types = 0x7fb66d37c800, rtype = 0x7fb675277190 <ffi_type_sint32>, bytes = 0, flags = 10}
        cc = <optimized out>
        enum_tmpval = 0x7fb66d37c840
        tmpval_used = 0
#7  0x00007fb675a6b632 in g_closure_invoke (closure=0x55a1ab7d7dc0, return_value=0x7fb66d37ca40, n_param_values=4, param_values=0x7fb65c0077f0, invocation_hint=0x7fb66d37ca20) at ../gobject/gclosure.c:810
        marshal = 0x7fb675a703d0 <g_type_iface_meta_marshal>
        marshal_data = 0x18
        in_marshal = 0
        real_closure = 0x55a1ab7d7da0
        __func__ = "g_closure_invoke"
#8  0x00007fb675a93a7e in signal_emit_unlocked_R.isra.0 (node=<optimized out>, detail=0, instance=0x7fb668004920, emission_return=0x7fb66d37cad0, instance_and_params=0x7fb65c0077f0) at ../gobject/gsignal.c:3776
        accumulator = 0x55a1ab7d7e80
        emission = Python Exception <class 'TypeError'> can only concatenate str (not "NoneType") to str: 
{next = 0x0, instance = 0x7fb668004920, ihint = {signal_id = 74, detail = 0, run_type = G_SIGNAL_RUN_LAST}, state = EMISSION_RUN, chain_type = }
        hlist = <optimized out>
        handler_list = <optimized out>
        return_accu = 0x7fb66d37ca40
        accu = {g_type = 0x14, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
        signal_id = 74
        max_sequential_handler_number = 1360
        return_value_altered = <optimized out>
#9  0x00007fb675cce31c in _udisks_partition_skeleton_handle_method_call (connection=<optimized out>, sender=sender@entry=0x7fb660003720 ":1.394", object_path=object_path@entry=0x7fb660009fc0 "/org/freedesktop/UDisks2/block_devices/sdb2", interface_name=interface_name@entry=0x7fb660019650 "org.freedesktop.UDisks2.Partition", method_name=method_name@entry=0x7fb6600109b0 "Resize", parameters=parameters@entry=0x55a1ab850380, invocation=0x7fb668085630, user_data=0x7fb668004920) at udisks-generated.c:22302
        skeleton = <optimized out>
        info = <optimized out>
        iter = {x = {94152855716736, 2, 2, 0, 140421204308992, 140421633779069, 140421271394192, 3579507750, 140421493148660, 140421493148192, 14, 94152854669696, 140724758235623, 4193904554, 140421493148576, 0}}
        child = 0x0
        paramv = 0x7fb65c0077f0
        num_params = <optimized out>
        n = <optimized out>
        signal_id = 74
        return_value = {g_type = 0x14, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
        __func__ = "_udisks_partition_skeleton_handle_method_call"
#10 0x00007fb675bce91e in dispatch_in_thread_func (task=<optimized out>, source_object=<optimized out>, task_data=0x7fb668001120, cancellable=<optimized out>) at ../gio/gdbusinterfaceskeleton.c:540
        run_in_thread = <optimized out>
        flags = <optimized out>
        object = 0x55a1ab7f9230
        authorized = 1
#11 0x00007fb675b5fc3e in g_task_thread_pool_thread (thread_data=0x55a1ab76ab20, pool_data=<optimized out>) at ../gio/gtask.c:1417
        task = 0x55a1ab76ab20
#12 0x00007fb6759a9a44 in g_thread_pool_thread_proxy (data=<optimized out>) at ../glib/gthreadpool.c:354
        task = 0x55a1ab76ab20
        pool = <optimized out>
#13 0x00007fb6759a6f0e in g_thread_proxy (data=0x55a1ab836800) at ../glib/gthread.c:820
        thread = 0x55a1ab836800
        __func__ = "g_thread_proxy"
#14 0x00007fb6755013f9 in start_thread (arg=0x7fb66d37d640) at pthread_create.c:463
        ret = <optimized out>
        pd = 0x7fb66d37d640
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140421493151296, -9033935575989222736, 140724757427806, 140724757427807, 0, 140421493151296, 9065140332876137136, 9065158727005766320}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = 0
#15 0x00007fb675839b03 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95


Version-Release number of selected component (if applicable):
gnome-disk-utility-3.38.0-1.fc33.x86_64
udisks2-2.9.1-2.fc33.x86_64
libblockdev-part-2.24-5.fc33.x86_64
parted-3.3-5.fc33.x86_64

How reproducible:
This crash happened 5/5 times I tried it including increasing the extended partition by different sizes from 100-220 GB.

Steps to Reproduce:
1. connect an external drive using USB using Fedora 33
2. start gnome-disks
3. set up a partition layout with an extended partition like described above
4. select Extended partition
5. click Additional partition options
6. select Resize
7. increase extended partition size to the rest of the available space 
8. select Resize


Actual results:
udisksd segmentation faults in ped_geometry_set_start when increasing the size of an extended partition in gnome-disks

Expected results:
The extended partition would be increased in size properly.

Additional info:
I ran the following commands to run udisksd under valgrind:
sudo systemctl stop udisks2
sudo valgrind --log-file=valgrind-gnome-disks-udisksd-4.txt /usr/libexec/udisks2/udisksd &

An invalid read at the address 0x18 in ped_geometry_set_start at geom.c:183 resulting in a segmentation fault at that line happened. I guess that the crash address was for geom->end with geom = 0x0 plus the offset 0x18. 

==2366== Memcheck, a memory error detector
==2366== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==2366== Using Valgrind-3.16.1 and LibVEX; rerun with -h for copyright info
==2366== Command: /usr/libexec/udisks2/udisksd
==2366== Parent PID: 2364
==2366== 
==2371== Warning: invalid file descriptor 1024 in syscall close()
==2371== Warning: invalid file descriptor 1025 in syscall close()
==2371== Warning: invalid file descriptor 1026 in syscall close()
==2371== Warning: invalid file descriptor 1027 in syscall close()
==2371==    Use --log-fd=<number> to select an alternative log fd.
==2371== Warning: invalid file descriptor 1028 in syscall close()
==2371== Warning: invalid file descriptor 1029 in syscall close()
==2372== Warning: invalid file descriptor 1024 in syscall close()
==2372== Warning: invalid file descriptor 1025 in syscall close()
==2372== Warning: invalid file descriptor 1026 in syscall close()
==2372== Warning: invalid file descriptor 1027 in syscall close()
==2372==    Use --log-fd=<number> to select an alternative log fd.
==2372== Warning: invalid file descriptor 1028 in syscall close()
==2372== Warning: invalid file descriptor 1029 in syscall close()
==2373== Warning: invalid file descriptor 1024 in syscall close()
==2373== Warning: invalid file descriptor 1025 in syscall close()
==2373== Warning: invalid file descriptor 1026 in syscall close()
==2373== Warning: invalid file descriptor 1027 in syscall close()
==2373==    Use --log-fd=<number> to select an alternative log fd.
==2373== Warning: invalid file descriptor 1028 in syscall close()
==2373== Warning: invalid file descriptor 1029 in syscall close()
==2374== Warning: invalid file descriptor 1024 in syscall close()
==2374== Warning: invalid file descriptor 1025 in syscall close()
==2374== Warning: invalid file descriptor 1026 in syscall close()
==2374== Warning: invalid file descriptor 1027 in syscall close()
==2374==    Use --log-fd=<number> to select an alternative log fd.
==2374== Warning: invalid file descriptor 1028 in syscall close()
==2374== Warning: invalid file descriptor 1029 in syscall close()
==2375== Warning: invalid file descriptor 1024 in syscall close()
==2375== Warning: invalid file descriptor 1025 in syscall close()
==2375== Warning: invalid file descriptor 1026 in syscall close()
==2375== Warning: invalid file descriptor 1027 in syscall close()
==2375==    Use --log-fd=<number> to select an alternative log fd.
==2375== Warning: invalid file descriptor 1028 in syscall close()
==2375== Warning: invalid file descriptor 1029 in syscall close()
==2376== Warning: invalid file descriptor 1024 in syscall close()
==2376== Warning: invalid file descriptor 1025 in syscall close()
==2376== Warning: invalid file descriptor 1026 in syscall close()
==2376== Warning: invalid file descriptor 1027 in syscall close()
==2376==    Use --log-fd=<number> to select an alternative log fd.
==2376== Warning: invalid file descriptor 1028 in syscall close()
==2376== Warning: invalid file descriptor 1029 in syscall close()
==2377== Warning: invalid file descriptor 1024 in syscall close()
==2377== Warning: invalid file descriptor 1025 in syscall close()
==2377== Warning: invalid file descriptor 1026 in syscall close()
==2377== Warning: invalid file descriptor 1027 in syscall close()
==2377==    Use --log-fd=<number> to select an alternative log fd.
==2377== Warning: invalid file descriptor 1028 in syscall close()
==2377== Warning: invalid file descriptor 1029 in syscall close()
==2378== Warning: invalid file descriptor 1024 in syscall close()
==2378== Warning: invalid file descriptor 1025 in syscall close()
==2378== Warning: invalid file descriptor 1026 in syscall close()
==2378== Warning: invalid file descriptor 1027 in syscall close()
==2378==    Use --log-fd=<number> to select an alternative log fd.
==2378== Warning: invalid file descriptor 1028 in syscall close()
==2378== Warning: invalid file descriptor 1029 in syscall close()
==2379== Warning: invalid file descriptor 1024 in syscall close()
==2379== Warning: invalid file descriptor 1025 in syscall close()
==2379== Warning: invalid file descriptor 1026 in syscall close()
==2379== Warning: invalid file descriptor 1027 in syscall close()
==2379==    Use --log-fd=<number> to select an alternative log fd.
==2379== Warning: invalid file descriptor 1028 in syscall close()
==2379== Warning: invalid file descriptor 1029 in syscall close()
==2380== Warning: invalid file descriptor 1024 in syscall close()
==2380== Warning: invalid file descriptor 1025 in syscall close()
==2380== Warning: invalid file descriptor 1026 in syscall close()
==2380== Warning: invalid file descriptor 1027 in syscall close()
==2380==    Use --log-fd=<number> to select an alternative log fd.
==2380== Warning: invalid file descriptor 1028 in syscall close()
==2380== Warning: invalid file descriptor 1029 in syscall close()
==2381== Warning: invalid file descriptor 1024 in syscall close()
==2381== Warning: invalid file descriptor 1025 in syscall close()
==2381== Warning: invalid file descriptor 1026 in syscall close()
==2381== Warning: invalid file descriptor 1027 in syscall close()
==2381==    Use --log-fd=<number> to select an alternative log fd.
==2381== Warning: invalid file descriptor 1028 in syscall close()
==2381== Warning: invalid file descriptor 1029 in syscall close()
==2382== Warning: invalid file descriptor 1024 in syscall close()
==2382== Warning: invalid file descriptor 1025 in syscall close()
==2382== Warning: invalid file descriptor 1026 in syscall close()
==2382== Warning: invalid file descriptor 1027 in syscall close()
==2382==    Use --log-fd=<number> to select an alternative log fd.
==2382== Warning: invalid file descriptor 1028 in syscall close()
==2382== Warning: invalid file descriptor 1029 in syscall close()
==2383== Warning: invalid file descriptor 1024 in syscall close()
==2383== Warning: invalid file descriptor 1025 in syscall close()
==2383== Warning: invalid file descriptor 1026 in syscall close()
==2383== Warning: invalid file descriptor 1027 in syscall close()
==2383==    Use --log-fd=<number> to select an alternative log fd.
==2383== Warning: invalid file descriptor 1028 in syscall close()
==2383== Warning: invalid file descriptor 1029 in syscall close()
==2384== Warning: invalid file descriptor 1024 in syscall close()
==2384== Warning: invalid file descriptor 1025 in syscall close()
==2384== Warning: invalid file descriptor 1026 in syscall close()
==2384== Warning: invalid file descriptor 1027 in syscall close()
==2384==    Use --log-fd=<number> to select an alternative log fd.
==2384== Warning: invalid file descriptor 1028 in syscall close()
==2384== Warning: invalid file descriptor 1029 in syscall close()
==2385== Warning: invalid file descriptor 1024 in syscall close()
==2385== Warning: invalid file descriptor 1025 in syscall close()
==2385== Warning: invalid file descriptor 1026 in syscall close()
==2385== Warning: invalid file descriptor 1027 in syscall close()
==2385==    Use --log-fd=<number> to select an alternative log fd.
==2385== Warning: invalid file descriptor 1028 in syscall close()
==2385== Warning: invalid file descriptor 1029 in syscall close()
==2386== Warning: invalid file descriptor 1024 in syscall close()
==2386== Warning: invalid file descriptor 1025 in syscall close()
==2386== Warning: invalid file descriptor 1026 in syscall close()
==2386== Warning: invalid file descriptor 1027 in syscall close()
==2386==    Use --log-fd=<number> to select an alternative log fd.
==2386== Warning: invalid file descriptor 1028 in syscall close()
==2386== Warning: invalid file descriptor 1029 in syscall close()
==2388== Warning: invalid file descriptor 1024 in syscall close()
==2388== Warning: invalid file descriptor 1025 in syscall close()
==2388== Warning: invalid file descriptor 1026 in syscall close()
==2388== Warning: invalid file descriptor 1027 in syscall close()
==2388==    Use --log-fd=<number> to select an alternative log fd.
==2388== Warning: invalid file descriptor 1028 in syscall close()
==2388== Warning: invalid file descriptor 1029 in syscall close()
==2389== Warning: invalid file descriptor 1024 in syscall close()
==2389== Warning: invalid file descriptor 1025 in syscall close()
==2389== Warning: invalid file descriptor 1026 in syscall close()
==2389== Warning: invalid file descriptor 1027 in syscall close()
==2389==    Use --log-fd=<number> to select an alternative log fd.
==2389== Warning: invalid file descriptor 1028 in syscall close()
==2389== Warning: invalid file descriptor 1029 in syscall close()
==2390== Warning: invalid file descriptor 1024 in syscall close()
==2390== Warning: invalid file descriptor 1025 in syscall close()
==2390== Warning: invalid file descriptor 1026 in syscall close()
==2390== Warning: invalid file descriptor 1027 in syscall close()
==2390==    Use --log-fd=<number> to select an alternative log fd.
==2390== Warning: invalid file descriptor 1028 in syscall close()
==2390== Warning: invalid file descriptor 1029 in syscall close()
==2411== Warning: invalid file descriptor 1024 in syscall close()
==2411== Warning: invalid file descriptor 1025 in syscall close()
==2411== Warning: invalid file descriptor 1026 in syscall close()
==2411== Warning: invalid file descriptor 1027 in syscall close()
==2411==    Use --log-fd=<number> to select an alternative log fd.
==2411== Warning: invalid file descriptor 1028 in syscall close()
==2411== Warning: invalid file descriptor 1029 in syscall close()
==2412== Warning: invalid file descriptor 1024 in syscall close()
==2412== Warning: invalid file descriptor 1025 in syscall close()
==2412== Warning: invalid file descriptor 1026 in syscall close()
==2412== Warning: invalid file descriptor 1027 in syscall close()
==2412==    Use --log-fd=<number> to select an alternative log fd.
==2412== Warning: invalid file descriptor 1028 in syscall close()
==2412== Warning: invalid file descriptor 1029 in syscall close()
==2366== Thread 7 pool-udisksd:
==2366== Invalid read of size 8
==2366==    at 0x7CC6B20: ped_geometry_set_start (geom.c:183)
==2366==    by 0x7C8CAB8: resize_part (part.c:844)
==2366==    by 0x7C8EA3C: bd_part_resize_part (part.c:1286)
==2366==    by 0x133318: handle_resize.lto_priv.0 (udiskslinuxpartition.c:902)
==2366==    by 0x5489B0F: ffi_call_unix64 (unix64.S:76)
==2366==    by 0x54890A2: ffi_call (ffi64.c:525)
==2366==    by 0x4CA8E6C: g_cclosure_marshal_generic (gclosure.c:1500)
==2366==    by 0x4CA3631: g_closure_invoke (gclosure.c:810)
==2366==    by 0x4CCBA7D: signal_emit_unlocked_R.isra.0 (gsignal.c:3776)
==2366==    by 0x4A4431B: _udisks_partition_skeleton_handle_method_call (udisks-generated.c:22302)
==2366==    by 0x4BE191D: dispatch_in_thread_func (gdbusinterfaceskeleton.c:540)
==2366==    by 0x4B72C3D: g_task_thread_pool_thread (gtask.c:1417)
==2366==  Address 0x18 is not stack'd, malloc'd or (recently) free'd
==2366== 
==2366== 
==2366== Process terminating with default action of signal 11 (SIGSEGV): dumping core
==2366==  Access not within mapped region at address 0x18
==2366==    at 0x7CC6B20: ped_geometry_set_start (geom.c:183)
==2366==    by 0x7C8CAB8: resize_part (part.c:844)
==2366==    by 0x7C8EA3C: bd_part_resize_part (part.c:1286)
==2366==    by 0x133318: handle_resize.lto_priv.0 (udiskslinuxpartition.c:902)
==2366==    by 0x5489B0F: ffi_call_unix64 (unix64.S:76)
==2366==    by 0x54890A2: ffi_call (ffi64.c:525)
==2366==    by 0x4CA8E6C: g_cclosure_marshal_generic (gclosure.c:1500)
==2366==    by 0x4CA3631: g_closure_invoke (gclosure.c:810)
==2366==    by 0x4CCBA7D: signal_emit_unlocked_R.isra.0 (gsignal.c:3776)
==2366==    by 0x4A4431B: _udisks_partition_skeleton_handle_method_call (udisks-generated.c:22302)
==2366==    by 0x4BE191D: dispatch_in_thread_func (gdbusinterfaceskeleton.c:540)
==2366==    by 0x4B72C3D: g_task_thread_pool_thread (gtask.c:1417)
==2366==  If you believe this happened as a result of a stack
==2366==  overflow in your program's main thread (unlikely but
==2366==  possible), you can try to increase the size of the
==2366==  main thread stack using the --main-stacksize= flag.
==2366==  The main thread stack size used in this run was 8388608.
==2366== 
==2366== HEAP SUMMARY:
==2366==     in use at exit: 643,535 bytes in 9,832 blocks
==2366==   total heap usage: 467,213 allocs, 457,381 frees, 70,218,273 bytes allocated
==2366== 
==2366== LEAK SUMMARY:
==2366==    definitely lost: 288 bytes in 3 blocks
==2366==    indirectly lost: 96 bytes in 4 blocks
==2366==      possibly lost: 4,260 bytes in 33 blocks
==2366==    still reachable: 561,571 bytes in 9,188 blocks
==2366==                       of which reachable via heuristic:
==2366==                         length64           : 3,968 bytes in 74 blocks
==2366==                         newarray           : 2,048 bytes in 48 blocks
==2366==         suppressed: 0 bytes in 0 blocks
==2366== Rerun with --leak-check=full to see details of leaked memory
==2366== 
==2366== For lists of detected and suppressed errors, rerun with: -s
==2366== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)

Comment 1 Tomáš Bžatek 2020-09-29 09:38:32 UTC
Parted has so many issues that we're slowly porting all partitioning code away from it. For the moment occassional crashes are expected.


Note You need to log in before you can comment on or make changes to this bug.