View Issue Details

IDProjectCategoryView StatusLast Update
0000453Double CommanderPluginspublic2017-09-04 08:25
Reporterv3264 Assigned ToAlexx2000  
PriorityhighSeveritymajorReproducibilityalways
Status closedResolutionfixed 
ProjectionnoneETAnone 
PlatformLinuxOSGNU/LinuxOS Version3.3.2-6.fc16.x86
Product Version0.5.4Product Build4505,  
Fixed in Version0.5.5 
Summary0000453: Cannot create tar.bz2 archive
DescriptionWhen trying to create a tar.bz2 archive, tar is created but bzip2 aborts, leaving the tar and a bz2 of size 0.

A popup panel tells that
Error:
Access violation

Please report this error to the bug tracker with a description of what you were doing and the following file:
/home/peter/.config/doublecmd/doublecmd.err

Press Ignore to continue or Abort to abort the program.

tar.gz works fine, zip as well
when tar.bz2 is created in a terminal by ``$ tar -cjvf c2.tar.bz2 c2'', DC is unable to open the archive and reports Access violation
Steps To ReproduceSelect a dirtectory in the left panel,
Click on Pack files...,
Select Packer bz2
Click OK

In the error notification window, Ignore terminates the operation and DC works on, but Abort hangs and DC has to be killed.
Additional Information--------------- 28-04-2012, 18:36:05 ---------------
| DC v0.5.4 beta Rev. 4505 -- x86_64-Linux-gtk2
| Fedora release 16 (Verne) -- GTK 2.24.8
Unhandled exception: EAccessViolation: Access violation
  Stack trace:
  $00007F9AC0ABDC84 in /usr/lib64/doublecmd/plugins/wcx/zip/zip.wcx
  $0000003C9660A723 in /lib64/libbz2.so.1
TagsNo tags attached.
Fixed in Revision
Operating systemLinux
WidgetsetGTK2
Architecture64-bit

Relationships

related to 0000582 closed Press Enter on file .bz2 (file with night buld DoubleCOmmander), then crash 
related to 0000346 closed tar archive can't be open (access violation) 

Activities

cobines

2012-04-29 08:24

administrator   ~0000636

Try to reproduce again with this plugin and then paste the message from doublecmd.err:
http://ifile.it/l3gqxjb

v3264

2012-05-02 21:33

reporter   ~0000683

Now we have this:

--------------- 02-05-2012, 19:31:29 ---------------
| DC v0.5.4 beta Rev. 4505 -- x86_64-Linux-gtk2
| Fedora release 16 (Verne) -- GTK 2.24.8
Unhandled exception: EAccessViolation: Access violation
  Stack trace:
  $00007F4B0CC2FC84 line 1032, column 9 of ../inc/objpas.inc in /usr/lib64/doublecmd/plugins/wcx/zip/zip.wcx
  $0000003C9660A723 in /lib64/libbz2.so.1

cobines

2012-05-03 18:45

administrator   ~0000688

Debug info seems wrong. Can you also try this using this version of DC with the plugin above:
http://ifile.it/xyhfpbl

v3264

2012-05-03 22:52

reporter   ~0000690

The bad news is that I seem to be unable to make work it again: yesterday I figured out that I had to change the user in the selinux context of the debugger wcx file.

Today DC won't load the debugger wcx file even if all unix and selinux permissions are set correctly. It keeps saying that "Cannot load ...." and the funny thing is that it says the same when I remove the wcx file from the zip directory.

The original wcx still loads but fails to work as described.

Do you have any clue?

cobines

2012-05-04 09:55

administrator   ~0000692

If you run DC from console does it print out anything when you try to open archive, like "cannot open shared object file"? The plugin also needs to load libbz2 at start and when it can't you get the same message "Cannot load...". Also, confirm that the path to the plugin is set correctly in Options. To check, when you select the plugin in Options, press Configure and it should show the configuration window.

v3264

2012-05-04 23:11

reporter   ~0000694

Configure does not work, says:
Cannot open existing file: /usr/lib64/doublecmd/plugins/wcx/zip/zip.wcx

The console log of an attempt to pack bz2 with wcx not loading:
$ Starting GuiMessageQueue
Starting Double Commander
Double Commander 0.5.4 beta
Revision: Unknown
Build: 2012/04/14
Lazarus: 0.9.30-36740M
Free Pascal: 2.6.1
Platform: x86_64-Linux-gtk2
System: Fedora release 16 (Verne)
Widgetset library: GTK 2.24.8
This program is free software released under terms of GNU GPL 2
(C)opyright 2006-2012 Koblov Alexander (Alexx2000@mail.ru)
   and contributors (see about dialog)
Executable directory: /usr/lib64/doublecmd/
Loading configuration...
WDX: LOAD: /usr/lib64/doublecmd/plugins/wdx/rpm_wdx/rpm_wdx.wdx
WDX: LOAD: /usr/lib64/doublecmd/plugins/wdx/deb_wdx/deb_wdx.wdx
Creating PixmapManager
Loading icon theme DCTheme
Theme hicolor not found.
UDisks: Service found running.
UDisks: Version 1.0.4
TColumnsFileView.Create components
Creating TFileSystemFileSource
FileSystemWatcher thread starting
TColumnsFileView.Create components
TColumnsFileView.Create components
TColumnsFileView.Create components
frmMain.frmMainShow
Creating TWcxArchiveFileSource
Destroying TWcxArchiveFileSource when refcount=1
cm_PackFiles

ldd output on my bzip2:
$ ldd -v /usr/bin/bzip2
    linux-vdso.so.1 => (0x00007fffeb77d000)
    libbz2.so.1 => /lib64/libbz2.so.1 (0x0000003c96600000)
    libc.so.6 => /lib64/libc.so.6 (0x0000003c85600000)
    /lib64/ld-linux-x86-64.so.2 (0x0000003c85200000)

    Version information:
    /usr/bin/bzip2:
        libc.so.6 (GLIBC_2.4) => /lib64/libc.so.6
        libc.so.6 (GLIBC_2.3) => /lib64/libc.so.6
        libc.so.6 (GLIBC_2.3.4) => /lib64/libc.so.6
        libc.so.6 (GLIBC_2.2.5) => /lib64/libc.so.6
    /lib64/libbz2.so.1:
        libc.so.6 (GLIBC_2.4) => /lib64/libc.so.6
        libc.so.6 (GLIBC_2.3) => /lib64/libc.so.6
        libc.so.6 (GLIBC_2.2.5) => /lib64/libc.so.6
        libc.so.6 (GLIBC_2.3.4) => /lib64/libc.so.6
    /lib64/libc.so.6:
        ld-linux-x86-64.so.2 (GLIBC_2.3) => /lib64/ld-linux-x86-64.so.2
        ld-linux-x86-64.so.2 (GLIBC_PRIVATE) => /lib64/ld-linux-x86-64.so.2

cobines

2012-05-05 07:02

administrator   ~0000695

If the plugin is loaded it should output on console:
Zip plugin is loaded

Some reasons it is not loaded might be:
1) Path to the plugin is wrong (file not exists)
2) File is invalid, for you
   $ file /usr/lib64/doublecmd/plugins/wcx/zip/zip.wcx
   should show something like:
   ELF 64-bit LSB shared object, x86-64
   I have checked myself that I uploaded 64-bit version of the plugin.
3) It cannot load libbz2 (file not exists or is not 64-bit)

Can you check with:
$ ldd zip.wcx
if correct library is found.

I have added showing error message from the dynamic lib loader in this build:
http://ifile.it/j2tb93h

If you don't figure it out, try running it and it should show on the console the error message why the plugin is not loaded.

v3264

2012-05-05 10:35

reporter   ~0000697

Thank you for the help!

Now we've got the debug info on the bzip2 failure:

--------------- 05-05-2012, 08:22:32 ---------------
| DC v0.5.4 beta Rev. Unknown -- x86_64-Linux-gtk2
| Fedora release 16 (Verne) -- GTK 2.24.8
Unhandled exception: EAccessViolation: Access violation
  Stack trace:
  $00007F3BF253013C line 1184 of ../inc/heap.inc
  $0000003C9660A723

-------------------------------------------
I had to create a new symlink /lib64/libbz2.so.1.0 because of this:
$ ldd /usr/lib64/doublecmd/plugins/wcx/zip/zip.wcx
ldd: warning: you do not have execution permission for `/usr/lib64/doublecmd/plugins/wcx/zip/zip.wcx'
    linux-vdso.so.1 => (0x00007fff005ff000)
    libdl.so.2 => /lib64/libdl.so.2 (0x00007f13f76f2000)
    libbz2.so.1.0 => not found
    libc.so.6 => /lib64/libc.so.6 (0x00007f13f7339000)
    /lib64/ld-linux-x86-64.so.2 (0x0000003c85200000)

If you look back, my bzip2 looks for libbz2.so.1, which has always existed in /lib64. Actaually I have this:
-rwxr-xr-x. 1 root root 66552 Feb 8 2011 libbz2.so.1.0.6

Just in case, here is my whole console log of the DC session:
$ Starting GuiMessageQueue
Starting Double Commander
Double Commander 0.5.4 beta
Revision: Unknown
Build: 2012/04/14
Lazarus: 0.9.30-36740M
Free Pascal: 2.6.1
Platform: x86_64-Linux-gtk2
System: Fedora release 16 (Verne)
Widgetset library: GTK 2.24.8
This program is free software released under terms of GNU GPL 2
(C)opyright 2006-2012 Koblov Alexander (Alexx2000@mail.ru)
   and contributors (see about dialog)
Executable directory: /usr/lib64/doublecmd/
Loading configuration...
WDX: LOAD: /usr/lib64/doublecmd/plugins/wdx/rpm_wdx/rpm_wdx.wdx
WDX: LOAD: /usr/lib64/doublecmd/plugins/wdx/deb_wdx/deb_wdx.wdx
Creating PixmapManager
Loading icon theme DCTheme
Theme hicolor not found.
UDisks: Service found running.
UDisks: Version 1.0.4
TColumnsFileView.Create components
Creating TFileSystemFileSource
FileSystemWatcher thread starting
TColumnsFileView.Create components
TColumnsFileView.Create components
TColumnsFileView.Create components
frmMain.frmMainShow
Creating TWcxArchiveFileSource
Zip plugin is loaded
WCX module loaded /usr/lib64/doublecmd/plugins/wcx/zip/zip.wcx at 000000000198B200
Creating connection TWcxArchiveFileSourceConnection
Creating connection TWcxArchiveFileSourceConnection
Creating connection TWcxArchiveFileSourceConnection
Creating connection TWcxArchiveFileSourceConnection
Found registered plugin /usr/lib64/doublecmd/plugins/wcx/zip/zip.wcx for archive /home/peter/cf.tar.bz2
cm_PackFiles
Unhandled exception: EAccessViolation: Access violation
  Stack trace:
  $00007F3BF253013C line 1184 of ../inc/heap.inc
  $0000003C9660A723

Destroying TWcxArchiveFileSource when refcount=0
cm_ShowSysFiles
Finished Double Commander
Destroying main form
Drive watcher finished
Waiting for workers thread 00007F3C094213C0
Finalized workers thread 00007F3C094213C0
Waiting for workers thread 00007F3C09421DC0
Finalized workers thread 00007F3C09421DC0
Waiting for workers thread 00007F3C09423540
Finalized workers thread 00007F3C09423540
Waiting for workers thread 00007F3C09424E40
Finalized workers thread 00007F3C09424E40
Waiting for FileSystemWatcher thread
FileSystemWatcher thread finished
Destroying TFileSystemFileSource when refcount=0
Main form destroyed
Finishing GuiMessageQueue
Destroying connection TWcxArchiveFileSourceConnection
Destroying connection TWcxArchiveFileSourceConnection
Destroying connection TWcxArchiveFileSourceConnection
Destroying connection TWcxArchiveFileSourceConnection
Shutting down PixmapManager

[1]+ Done doublecmd

v3264

2012-05-05 10:38

reporter   ~0000698

Just an afterthought:
$ ldd /usr/lib64/doublecmd/plugins/wcx/zip/zip.wcx.orig
ldd: warning: you do not have execution permission for `/usr/lib64/doublecmd/plugins/wcx/zip/zip.wcx.orig'
    linux-vdso.so.1 => (0x00007fff8b7ff000)
    libdl.so.2 => /lib64/libdl.so.2 (0x00007fc36dc0f000)
    libbz2.so.1 => /lib64/libbz2.so.1 (0x00007fc36d9ff000)
    libc.so.6 => /lib64/libc.so.6 (0x00007fc36d646000)
    /lib64/ld-linux-x86-64.so.2 (0x0000003c85200000)

cobines

2012-05-05 11:02

administrator   ~0000699

Yes, I remember that Fedora doesn't have this symlink libbz2.so.1.0, although for example Ubuntu and Debian do. On Debian, where I built the plugin, libbz2.so points to libbz2.so.1.0 so maybe that's why it needs this symlink.

The debug info still seems wrong or at least missing something in between. FPC has some bugs regarding giving debug info.

Can you try using the build I posted before:
http://ifile.it/xyhfpbl

Or if you have GDB installed then:
$ gdb -ex run -ex "set logging file /tmp/dc.log" -ex "set pagination off" -ex "set logging on" -ex "bt full" /usr/lib64/doublecmd/doublecmd
After it crashes it should dump the log to /tmp/dc.log.

v3264

2012-05-06 21:21

reporter   ~0000709

I used the one you had posted earlier (Revision: Unknown). Nevertheless, I downloaded it again from the link and copied it to DC install dir. Maybe that's why the line number in heap.inc differs from the previous result.
 
The gdb log:
#0 SYSFREEMEM (P=0xd9d8) at ../inc/heap.inc:1186
        result = 30
        SYSFREEMEM = 30
        RESULT = 30
        PMC = 0xd9d0
        LOC_FREELISTS = 0x7fffefbaa368
0000001 0x00007ffff4231358 in ?? ()
No symbol table info available.
#2 0x0000000000000000 in ?? ()
No symbol table info available.
Missing separate debuginfos, use: debuginfo-install doublecmd-gtk-0.5.4-2.1.x86_
A debugging session is active.

        Inferior 1 [process 2411] will be killed.

Quit anyway? (y or n)


This time DC didn't arrive to the Ignore/Abort dialog, but otherwise the effect was the same: a normal tar file, and a bz2 file of 0 length.


debuginfo-install said:
Could not find debuginfo for main pkg: doublecmd-gtk-0.5.4-2.1.x86_64,
it found a half a dozen others,but I refrained from downloading them.

cobines

2012-05-07 15:54

administrator   ~0000711

OK, thanks.
I think maybe memory overwriting happens because we cannot get proper debug info on this. I can't find the error this way and I can't reproduce on my machine, so I'll have to leave it unresolved for now.

v3264

2013-07-22 22:35

reporter   ~0001084

Last edited: 2013-07-22 22:37

Now bz2 creation and open ***works***, all other archivers work as well except rar: doubleclicking on a rar file does not open it, instead I get a "Cannot open existing file" error message. (But rar has not been working for quite a long time.)

DC version:
================================
Double Commander
Version: 0.5.6 beta
Revision: 5261
Build date: 2013/07/20
Lazarus: 1.0.10.0-Unknown
FPC: 2.6.0
Platform: x86_64-Linux-gtk2
OS version: Fedora release 19 (Schrödinger’s Cat)

Widgetset library: GTK 2.24.19

OS version:
================================
$ uname -a
Linux nbhu 3.9.9-302.fc19.x86_64 0000001 SMP Sat Jul 6 13:41:07 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

Alexx2000

2013-07-23 07:25

administrator   ~0001085

You need to install libunrar package (see my repo https://build.opensuse.org/package/show/home:Alexx2000/libunrar) for .rar support.

v3264

2013-07-23 21:25

reporter   ~0001086

I did not know that, but in the meantime I found an other solution:
- got and installed rar from here: http://www.rarlab.com/download.htm
- reconfigured DC like this:
-- DC/Configuration/Options/Plugins: disable unrar
-- DC/Configuration/Options/Archivers/RAR/Adding: changed
     %P a -y {-p%W} {-v%V} {%S} %AQA @%LQ
      to
     rar a {-p%W} {-v%V} {%S} %AQA @%LQ

(The last step was because in the original config %P must have stood for unrar, then rar wouldn't take -y)

Issue History

Date Modified Username Field Change
2012-04-28 21:13 v3264 New Issue
2012-04-29 08:24 cobines Note Added: 0000636
2012-05-02 08:03 Alexx2000 Status new => feedback
2012-05-02 21:33 v3264 Note Added: 0000683
2012-05-02 21:33 v3264 Status feedback => new
2012-05-03 18:45 cobines Note Added: 0000688
2012-05-03 22:52 v3264 Note Added: 0000690
2012-05-04 09:55 cobines Note Added: 0000692
2012-05-04 23:11 v3264 Note Added: 0000694
2012-05-05 07:02 cobines Note Added: 0000695
2012-05-05 10:35 v3264 Note Added: 0000697
2012-05-05 10:38 v3264 Note Added: 0000698
2012-05-05 11:02 cobines Note Added: 0000699
2012-05-06 09:28 cobines Relationship added related to 0000346
2012-05-06 21:21 v3264 Note Added: 0000709
2012-05-07 15:54 cobines Note Added: 0000711
2012-05-07 16:04 cobines Status new => acknowledged
2012-05-07 16:05 cobines Category File operations => Plugins
2012-09-26 13:06 Alexx2000 Relationship added related to 0000582
2013-07-22 22:35 v3264 Note Added: 0001084
2013-07-22 22:37 v3264 Note Edited: 0001084
2013-07-23 07:25 Alexx2000 Note Added: 0001085
2013-07-23 07:25 Alexx2000 Status acknowledged => resolved
2013-07-23 07:25 Alexx2000 Fixed in Version => 0.5.5
2013-07-23 07:25 Alexx2000 Resolution open => fixed
2013-07-23 07:25 Alexx2000 Assigned To => Alexx2000
2013-07-23 21:25 v3264 Note Added: 0001086
2017-09-04 08:25 Alexx2000 Status resolved => closed