Ticket #2856 (closed defect: fixed)

Opened 4 years ago

Last modified 4 years ago

mceditor 4.8.4 segfaults in RHEL 6.3 when aspell (en) dictionary is not installed

Reported by: birdie Owned by: slavazanko
Priority: blocker Milestone: 4.8.5
Component: mcedit Version: 4.8.4
Keywords: Cc:
Blocked By: Blocking:
Branch state: merged Votes for changeset: committed-master

Description

I have built Midght Commander from mc-4.8.4-2.fc18.src.rpm ( libssh2-1.4.2-2.fc18.src.rpm also needs to be installed, because this library in RHEL/CentOS is too old ).

Now when I try to edit any file in MC I get this error:

                                                                      
       ┌─────────────────────── Error ────────────────────────┐       
       │ No word lists can be found for the language "en_US". │       
       │                                                      │       
       │                     [ Dismiss ]                      │       
       └──────────────────────────────────────────────────────┘       
                                                                      

Here's a backtrace:

#0  0x0000000000000021 in ?? ()
#1  0x00000000004aeb3a in aspell_clean () at spell.c:329
#2  0x00000000004a42c9 in edit_dlg_deinit (h=0x81f190, sender=<value optimized out>, msg=<value optimized out>, parm=<value optimized out>, data=<value optimized out>) at editwidget.c:129
#3  edit_dialog_callback (h=0x81f190, sender=<value optimized out>, msg=<value optimized out>, parm=<value optimized out>, data=<value optimized out>) at editwidget.c:981
#4  0x000000000043150a in dlg_run_done (h=0x81f190) at dialog.c:1272
#5  0x0000000000432377 in run_dlg (h=0x81f190) at dialog.c:1292
#6  0x00000000004a4f2b in edit_files (files=<value optimized out>) at editwidget.c:1139
#7  0x00000000004a51cb in edit_file (file_vpath=<value optimized out>, line=<value optimized out>) at editwidget.c:1079
#8  0x0000000000463a27 in do_edit_at_line (what_vpath=0x827620, internal=<value optimized out>, start_line=<value optimized out>) at cmd.c:761
#9  0x0000000000463cc0 in do_edit () at cmd.c:169
#10 edit_cmd () at cmd.c:796
#11 0x0000000000478f74 in midnight_execute_cmd (sender=0x7f9530, command=42) at midnight.c:1180
#12 0x000000000042e805 in buttonbar_call (w=0x7f9530, msg=<value optimized out>, parm=1004) at buttonbar.c:153
#13 buttonbar_callback (w=0x7f9530, msg=<value optimized out>, parm=1004) at buttonbar.c:175
#14 0x0000000000431ece in send_message (h=0x7ed120, key=1004, event=<value optimized out>) at ../../lib/widget/widget-common.h:136
#15 dlg_try_hotkey (h=0x7ed120, key=1004, event=<value optimized out>) at dialog.c:465
#16 dlg_key_event (h=0x7ed120, key=1004, event=<value optimized out>) at dialog.c:510
#17 dlg_process_event (h=0x7ed120, key=1004, event=<value optimized out>) at dialog.c:1259
#18 0x0000000000432324 in frontend_run_dlg (h=0x7ed120) at dialog.c:569
#19 run_dlg (h=0x7ed120) at dialog.c:1291
#20 0x000000000047a962 in create_panels_and_run_mc () at midnight.c:962
#21 do_nc () at midnight.c:1778
#22 0x00000000004138dc in main (argc=1, argv=0x7fffffffe668) at main.c:567

MC 4.8.3 works just fine here.

$ mc -V
GNU Midnight Commander 4.8.4
Built with GLib 2.22.5
Using the S-Lang library with terminfo database
With builtin Editor
With subshell support as default
With support for background operations
With mouse support on xterm and Linux console
With internationalization support
With multiple codepages support
Virtual File Systems: cpiofs, tarfs, sfs, extfs, ftpfs, sftpfs, fish, smbfs
Data types: char: 8; int: 32; long: 64; void *: 64; size_t: 64; off_t: 64;

$ gcc --version
gcc (GCC) 4.4.6 20120305 (Red Hat 4.4.6-4)
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

rpmbuild CFLAGS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -Wno-strict-aliasing

Change History

comment:1 follow-up: ↓ 3 Changed 4 years ago by birdie

This problem can be solved by installing aspell-en, but even when this package is missing/not installed, MC shouldn't crash/segfault.

comment:2 Changed 4 years ago by birdie

  • Summary changed from mceditor/mc 4.8.4 crashes in RHEL/CentOS 6.3 to mceditor 4.8.4 segfaults in RHEL 6.3 when aspell (en) dictionary is not installed

comment:3 in reply to: ↑ 1 Changed 4 years ago by andrew_b

libssh2-1.4.2-2.fc18.src.rpm also needs to be installed

This info is not related to this ticket.

MC 4.8.3 works just fine here.

This info is useless because 4.8.3 just doesn't have libaspell support.

This problem can be solved by installing aspell-en, but even when this package is missing/not installed, MC shouldn't crash/segfault.

mc doesn't know about installed dictionaries. mc get dictionaries list via libaspell.

I don't have installed aspell-en and my mc is not crashed. But I'm not RHEL/CentOS user.

Looks like RHEL/CentOS-specific bug. File a bugreport in RH bugzilla.

comment:4 Changed 4 years ago by slavazanko

  • Status changed from new to accepted
  • Owner set to slavazanko

comment:5 Changed 4 years ago by slavazanko

  • Branch state changed from no branch to on review

Created branch 2856_aspell_segfault

Review, please.

comment:6 Changed 4 years ago by andrew_b

  • Keywords regression removed
  • Votes for changeset set to andrew_b

comment:7 Changed 4 years ago by angel_il

  • Votes for changeset changed from andrew_b to andrew_b angel_il
  • Branch state changed from on review to approved

comment:8 Changed 4 years ago by andrew_b

  • Status changed from accepted to testing
  • Votes for changeset changed from andrew_b angel_il to committed-master
  • Resolution set to fixed
  • Branch state changed from approved to merged

comment:9 Changed 4 years ago by andrew_b

  • Status changed from testing to closed
Note: See TracTickets for help on using tickets.