BUG: Bg. copy & RO overwrite, assertion fail

David Sterba dave at jikos.cz
Tue Jul 1 17:27:44 UTC 2003


Hi,

assume this situation:
1. make a directory
2. copy some files into this dir
3. remove write acces
4. copy the same files into the directory again
   in background
5. [expect] file replace query dialog should pop up
   (as in foreground mode)
   [got] assertion fail in filegui.c:685

The test ctx->ui != NULL fails and the program silently
continues (i.e. no warning message).

The problem is in:
file.c:1934 (panel_operate).
    if (do_bg)
	ctx->ui = NULL;
    else
	file_op_context_create_ui (ctx, operation, 1);

and the assertion later filegui.c:685 (file_progress_real_query_replace)
    g_return_val_if_fail (ctx->ui != NULL, FILE_CONT);
fails.

One solution is to let create the UI context for foreground and also
for background.


Btw, the context in the parent process is not destroyed. The line
is commented out. (file.c:1913)
I think, it' a leak, because the operation context is created locally
in panel_operate and destruction does not affect the child.


David





More information about the mc-devel mailing list