Bug 294542 - Krusader archive handling broken.
Summary: Krusader archive handling broken.
Status: RESOLVED FIXED
Alias: None
Product: krusader
Classification: Applications
Component: general (show other bugs)
Version: 2.4.0-beta1 "Migration"
Platform: Debian unstable Linux
: NOR normal
Target Milestone: ---
Assignee: Krusader Bugs Distribution List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-02-21 03:07 UTC by gargamon
Modified: 2018-05-06 00:15 UTC (History)
8 users (show)

See Also:
Latest Commit:
Version Fixed In: 51013da69a226d23c2404617541f05bf7d22e61b
Sentry Crash Report:


Attachments
Screenshot (38.18 KB, image/png)
2012-11-01 21:35 UTC, Pyroman
Details

Note You need to log in before you can comment on or make changes to this bug.
Description gargamon 2012-02-21 03:07:13 UTC
Version:           2.4.0 (using KDE 4.6.5) 
OS:                Linux

When attempting to "browse" an archive, Krusader fails and gives the error as "krarc is disabled". It looks like the fix for bug 280939 caused this behavior.

Reproducible: Always

Steps to Reproduce:
Select an archive and try to browse it.

Actual Results:  
The archive is not shown and the error message "krarc is disabled" is shown.

Expected Results:  
The files within the archive should be visible.

I'm not sure if the fix for 280939 is the long term answer for that issue, but if so it wasn't indicated in the report.
Comment 1 Jan Lepper 2012-02-23 14:01:25 UTC
No, disabling krarc wasn't supposed to be a long term answer.
Unfortunately it might take some time to fix krarc.
The coming release will likely have read-only support.
See the discussion on the mailing list: http://groups.google.com/group/krusader-devel/browse_thread/thread/c58a306b0dd8ce4c
Comment 2 gargamon 2012-02-24 03:15:50 UTC
Thanks for the response. Your comments in http://bugs.kde.org/show_bug.cgi?id=290376 seems to indicate that the problem lies in kio and not krarc. If that is true then krarc should be enabled again and the bug in kio should be addressed. 

As for the problem in https://bugs.kde.org/show_bug.cgi?id=280939, it shouldn't be an issue. By definition, cut is very similar to delete. The user is trying to paste a file within a deleted archive so the action (deleting the archive) should be expected. If cut instantly deleted the file (as I believe it should) then there would be no issue. As it is currently coded the delete happens when the file is pasted somewhere(mved). If there is no paste then the file does not get deleted. This could be a bug in itself, ie: I cut a file, then I copied some text and my file was not deleted and I could not paste it any more. Another way of looking at this is that the user is trying to paste a file into itself. By definition that should fail, and deleting the file could easily be the expected outcome.   

Sorry about the rant.
Comment 3 Milko Krachounov 2012-02-27 12:08:11 UTC
It seems to me that deleting the archive when you're cutting it and pasting it inside itself is a proper behaviour.

You want the archive to disappear from the directory and appear inside the archive. You should be *expecting* that there would be no references left to it after such operation, and that it would be unlinked from the disk. If you were expecting something else, I have absolutely no idea what that would be. It's what happens in programming (a cyclic reference is not enough to keep an object alive), it's what happens in real life (if your only reference to a book in a library is inside the book itself you'd never find the book).  Even science fiction films appear to consider this the proper thing when you try to place objects inside themselves.

You have much more counter-intuitive situations that lead to file destruction:
When you do "cat file > file" in a shell, your file is surprisingly truncated. Nobody disabled redirection in bash because of that. That's called an overkill.

Unless there are lots of people *actually* complaining about having their *real* archives lost from this, it shouldn't be a big issue. On the other hand, not being able to read archives is a damn huge one – it renders Krusader suddenly useless for a lot of people. Somebody had a trouble in a test tube, meanwhile in the real world people are actually trying to extract files and failing.

When it comes to overreactions, disabling krarc over such a non-issue would be like switching to Windows over krarc not working... Only if the latter didn't make more sense.

P.S. Why can't we downvote bugs? I want to vote against the original one.
Comment 4 Jan Lepper 2012-04-09 12:17:10 UTC
I agree that deleting the archive is the proper behaviour, yet I doubt deletion is the intended result in any case. 
Also, unlike in a shell evironment, krusader by default asks for confirmation before doing destructive operations like file deletion.
In retrospect I agree that disabling krac was an overreaction, but at that time I believed that https://bugs.kde.org/show_bug.cgi?id=290376 was caused by it too. Since krarc is unfortunately not the most maintainable piece of code, I estimated that it couldn't be fixed quickly and thus disabled it to prevent further damage.
Comment 5 Jan Lepper 2012-04-09 12:21:47 UTC
I'm going to enable krarc again in the next days.
Comment 6 Jan Lepper 2012-05-24 15:32:55 UTC
KrArc is enabled again.
Comment 7 Pyroman 2012-11-01 21:35:11 UTC
Created attachment 74923 [details]
Screenshot

(In reply to comment #0)
> When attempting to "browse" an archive, Krusader fails and gives the error
> as "krarc is disabled".
I still get this error when trying to browse most archives, e.g. tar.gz, 7z e.t.c., but tar.bz2 works.
Krarc write support is enabled and all thar archive formats are enabled. (screenshot: http://storage8.static.itmages.ru/i/12/1102/h_1351805610_3852281_60b498fa53.png )
Version: 2.4.0 beta3 (also tried built from GIT)
KDE: 4.9.2
OS: Kubuntu 12.10 32bit.
Comment 8 Jan Lepper 2012-11-13 11:44:25 UTC
On Thu, 01 Nov 2012 21:35:11 +0000
BrainFucker <retratserif@gmail.com> wrote:

> https://bugs.kde.org/show_bug.cgi?id=294542
> 
> --- Comment #7 from BrainFucker <retratserif@gmail.com> ---
> Created attachment 74923 [details]
>   --> https://bugs.kde.org/attachment.cgi?id=74923&action=edit
> Screenshot
> 
> (In reply to comment #0)
> > When attempting to "browse" an archive, Krusader fails and gives
> > the error as "krarc is disabled".
> I still get this error when trying to browse most archives, e.g.
> tar.gz, 7z e.t.c., but tar.bz2 works.
> Krarc write support is enabled and all thar archive formats are
> enabled. (screenshot:
> http://storage8.static.itmages.ru/i/12/1102/h_1351805610_3852281_60b498fa53.png
> )
> Version: 2.4.0 beta3 (also tried built from GIT)
> KDE: 4.9.2
> OS: Kubuntu 12.10 32bit.
> 

This looks like some old version of kio_krarc.so is lingering around
somewhere.
Please delete kio_krarc.so from /usr/(local/)lib/kde4 and/or wherever
you have kde installed, then reinstall krusader.

OR you simple have to run cmake again with -DKRARC_ENABLED.
Comment 9 Pyroman 2012-11-13 18:39:46 UTC
(In reply to comment #8)
> This looks like some old version of kio_krarc.so is lingering around
> somewhere.
> Please delete kio_krarc.so from /usr/(local/)lib/kde4 and/or wherever
> you have kde installed, then reinstall krusader.
> 
> OR you simple have to run cmake again with -DKRARC_ENABLED.

Krusader was installed from sources to the /usr/local. Removing /usr/lib/kde4/kio_krarc.so and reinstalling the Krusader didn't help. Rebuilding with  -DKRARC_ENABLED=1 also didn't help. But copying /usr/local/lib/kde4/kio_krarc.so to /usr/lib/kde4/kio_krarc.so solved the problem.

Looks like there is a bug here, Krusader looks for kio_krarc.so in /usr/lib/kde4, not in the directory where it was installed (/usr/local/lib/kde4).
Comment 10 Jan Lepper 2012-11-13 19:06:35 UTC
On Tue, 13 Nov 2012 18:39:46 +0000
BrainFucker <retratserif@gmail.com> wrote:

> https://bugs.kde.org/show_bug.cgi?id=294542
> 
> --- Comment #9 from BrainFucker <retratserif@gmail.com> ---
> (In reply to comment #8)
> > This looks like some old version of kio_krarc.so is lingering around
> > somewhere.
> > Please delete kio_krarc.so from /usr/(local/)lib/kde4 and/or
> > wherever you have kde installed, then reinstall krusader.
> > 
> > OR you simple have to run cmake again with -DKRARC_ENABLED.
> 
> Krusader was installed from sources to the /usr/local. Removing
> /usr/lib/kde4/kio_krarc.so and reinstalling the Krusader didn't help.
> Rebuilding with  -DKRARC_ENABLED=1 also didn't help. But copying
> /usr/local/lib/kde4/kio_krarc.so to /usr/lib/kde4/kio_krarc.so solved
> the problem.
> 
> Looks like there is a bug here, Krusader looks for kio_krarc.so in
> /usr/lib/kde4, not in the directory where it was installed
> (/usr/local/lib/kde4).
> 

Actually this is not a bug, you have to export
KDEDIRS=/usr/local:/usr, otherwise plugins/ioslaves in /usr/local won't
be used.
Comment 11 Jan Lepper 2013-01-02 20:06:51 UTC
On Tue, 13 Nov 2012 18:39:46 +0000
BrainFucker <retratserif@gmail.com> wrote:

> https://bugs.kde.org/show_bug.cgi?id=294542
> 
> --- Comment #9 from BrainFucker <retratserif@gmail.com> ---
> (In reply to comment #8)
> > This looks like some old version of kio_krarc.so is lingering around
> > somewhere.
> > Please delete kio_krarc.so from /usr/(local/)lib/kde4 and/or
> > wherever you have kde installed, then reinstall krusader.
> > 
> > OR you simple have to run cmake again with -DKRARC_ENABLED.
> 
> Krusader was installed from sources to the /usr/local. Removing
> /usr/lib/kde4/kio_krarc.so and reinstalling the Krusader didn't help.
> Rebuilding with  -DKRARC_ENABLED=1 also didn't help. But copying
> /usr/local/lib/kde4/kio_krarc.so to /usr/lib/kde4/kio_krarc.so solved
> the problem.
> 
> Looks like there is a bug here, Krusader looks for kio_krarc.so in
> /usr/lib/kde4, not in the directory where it was installed
> (/usr/local/lib/kde4).
> 

Hi,

you need to export KDEDIRS=/usr/local:/usr for libraries
in /usr/local/lib/kde4 to be used.

Jan
Comment 12 Stanislav 2013-01-15 20:07:03 UTC
I export variable `KDEDIRS=/usr/local:/usr` to /etc/environment. But its bug is remained.
Ubuntu 12.10 x64, Krusader 2.4.0 beta1(3). Solve the problem? Thanks.
Comment 13 icegood 2013-01-16 18:54:54 UTC
Stanislav, i manually compiled krusader and confirm that there is no problem with this bug anymore.

Have kubuntu 12.10+krusader 2.4.0-beta3 Using KDE Development Platform 4.9.3
Comment 14 Stanislav 2013-01-16 20:40:33 UTC
Hmm, what am I doing wrong?
~~~
sudo apt-get install gcc g++ cmake zlib1g-dev gettext kdelibs5-dev libkonq5-dev libphonon-dev

cmake -DCMAKE_INSTALL_PREFIX=/home/user/app/krusader-2.4.0-b3-2 -DQT_INCLUDES=/usr/share/qt4/include
make
sudo make install
~~~
Comment 15 Kevin Kofler 2013-01-16 23:18:27 UTC
If you use -DCMAKE_INSTALL_PREFIX=/home/user/app/krusader-2.4.0-b3-2, you also have to set KDEDIRS=/home/user/app/krusader-2.4.0-b3-2. Comment #11 assumed you were installing in the default prefix, which is /usr/local.