Bug 643256

Summary: mc crashes on SIGSEV when had copy multiple files
Product: [Fedora] Fedora Reporter: Frantisek Hanzlik <franta>
Component: mcAssignee: Jindrich Novy <jnovy>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: rawhideCC: dvlasenk, jnovy, pahan, pknirsch, slavazanko
Target Milestone: ---   
Target Release: ---   
Hardware: i686   
OS: Linux   
Whiteboard:
Fixed In Version: mc-4.7.5-1.fc13 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-12-09 07:30:05 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Frantisek Hanzlik 2010-10-15 05:19:09 UTC
Maybe this bug appears when mc operate over many (several thousands) files.
In this case I did:

- start mc, cd to my local Fedora 14 i386 updates-testing repo (4321 files)
- on second panel I FTP to Fedora 14 rawhide repo (17845 files):
  "/#ftp:download.fedora.redhat.com/pub/fedora/linux/development/14/i386/os/"
- compare these dirs by file sizes, in local directory it give 2674 equally lenghty files
- pressing F5 (copy) and entering "../../os/Packages/" to copy these 2674 files to my local rawhide repo
- after hitting ENTER to copy start, mc crashes. I's perfectly always repeatable.

When running under gdb with debuginfo pkgs installed, it says:
Program received signal SIGSEGV, Segmentation fault.
0x0808d0ac in file_op_context_create_ui_without_init (ctx=0x82786e8, with_eta=1, dialog_type=FILEGUI_DIALOG_MULTI_ITEM) at filegui.c:347
347                 ui->progress_total_gauge->from_left_to_right = FALSE;


Version-Release number of selected component (if applicable):
mc-4.7.4-2.fc14.i686

Additional info:
It appears as when operate on very small directories (only several tens or hunderts files), all is OK. Crashes when number of files is greater.

Comment 1 Frantisek Hanzlik 2010-10-15 06:53:06 UTC
Small refine: I hasn't checked "Verbose operation" in my default saved configuration. Then mc behaves as I wrote - crashes. But when I check "Verbose operation" box, then mc is working as expected, without crashes.

Comment 2 Jindrich Novy 2010-11-30 12:36:51 UTC
Sorry for later reply, but could you please submit a backtrace and output of "p ui->progress_total_gauge" in gdb here?

Comment 3 Frantisek Hanzlik 2010-12-08 01:30:20 UTC
When it isn't sufficient, please notify me:

Program received signal SIGSEGV, Segmentation fault.
0x0808d0ac in file_op_context_create_ui_without_init (ctx=0x82634b8, with_eta=1, dialog_type=FILEGUI_DIALOG_MULTI_ITEM) at filegui.c:347 
347                 ui->progress_total_gauge->from_left_to_right = FALSE;
(gdb) bt
#0  0x0808d0ac in file_op_context_create_ui_without_init (ctx=0x82634b8, with_eta=1, dialog_type=FILEGUI_DIALOG_MULTI_ITEM) at filegui.c:347
#1  0x0808d120 in file_op_context_create_ui (ctx=0x82634b8, with_eta=1, dialog_type=FILEGUI_DIALOG_MULTI_ITEM) at filegui.c:360
#2  0x0808b13d in panel_operate (source_panel=0x8252cf0, operation=OP_COPY, force_single=0) at file.c:2152
#3  0x0807f049 in copy_cmd () at cmd.c:406
#4  0x0809b8f5 in midnight_execute_cmd (sender=0x8240980, command=7010) at main.c:1030
#5  0x0809c495 in midnight_callback (h=0x82439b0, sender=0x8240980, msg=DLG_ACTION, parm=7010, data=0x0) at main.c:1604
#6  0x0806bc6b in buttonbar_call (w=0x8240980, msg=WIDGET_HOTKEY, parm=1005) at widget.c:3019
#7  buttonbar_callback (w=0x8240980, msg=WIDGET_HOTKEY, parm=1005) at widget.c:3107
#8  0x08061f72 in send_message (h=0x82439b0, key=1005, event=0xbffff554) at dialog.h:269
#9  dlg_try_hotkey (h=0x82439b0, key=1005, event=0xbffff554) at dialog.c:888
#10 dlg_key_event (h=0x82439b0, key=1005, event=0xbffff554) at dialog.c:935
#11 dlg_process_event (h=0x82439b0, key=1005, event=0xbffff554) at dialog.c:1003
#12 0x0806233a in frontend_run_dlg (h=0x82439b0) at dialog.c:1045
#13 run_dlg (h=0x82439b0) at dialog.c:1075
#14 0x0809ce6f in create_panels_and_run_mc (argc=1, argv=0xbffff774) at main.c:1716
#15 do_nc (argc=1, argv=0xbffff774) at main.c:1798
#16 main (argc=1, argv=0xbffff774) at main.c:2048
(gdb) p ui->progress_total_gauge
$1 = (WGauge *) 0x0
(gdb)

Comment 4 Frantisek Hanzlik 2010-12-08 01:53:42 UTC
Addition to my comment #3:
This crash occurs, when I wand copy directory contens (60 normal files) do another directory (/etc/sysconfig/).
MC crashes almost immediately after hit confirmation ENTER - only text in destination field is erased, otherwise screen seems same as before crash.
Crash occurs both in GUI (gnome-terminal) or console - above output is from console run, as in GUI mouse cursor stay in mode when isn't possible capture text on screen (cursor is as arrow, not as vertical line) and I not know how switch it (maybe terminating gdb and then let new mc instance switch to text can help, but...)

Comment 5 Jindrich Novy 2010-12-09 07:30:05 UTC
Found a culprit and it is now fixed. One has to have a "Classic progressbar" switched off to make the crash happen. Thanks for the report!

Comment 6 Fedora Update System 2010-12-09 10:05:05 UTC
mc-4.7.4-3.fc14 has been submitted as an update for Fedora 14.
https://admin.fedoraproject.org/updates/mc-4.7.4-3.fc14

Comment 7 Fedora Update System 2010-12-09 10:07:01 UTC
mc-4.7.4-3.fc13 has been submitted as an update for Fedora 13.
https://admin.fedoraproject.org/updates/mc-4.7.4-3.fc13

Comment 8 Fedora Update System 2011-01-12 17:13:17 UTC
mc-4.7.5-1.fc14 has been submitted as an update for Fedora 14.
https://admin.fedoraproject.org/updates/mc-4.7.5-1.fc14

Comment 9 Fedora Update System 2011-01-12 17:15:37 UTC
mc-4.7.5-1.fc13 has been submitted as an update for Fedora 13.
https://admin.fedoraproject.org/updates/mc-4.7.5-1.fc13

Comment 10 Fedora Update System 2011-01-21 22:52:00 UTC
mc-4.7.5-1.fc14 has been pushed to the Fedora 14 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 11 Fedora Update System 2011-01-21 22:56:32 UTC
mc-4.7.5-1.fc13 has been pushed to the Fedora 13 stable repository.  If problems still persist, please make note of it in this bug report.