Play RAR files without extract them on SMB/NFS (RAR2FS?)

This is general talk area for things that NOT RELATED WITH TV! Instead, about internal works like web site, forum, wiki, or talking, etc...

hasse69
Posts: 66
Joined: Fri Feb 10, 2012 8:09 pm

Re: Play RAR files without extract them on SMB/NFS (RAR2FS?)

Post by hasse69 »

Ok, your system looks fine. Actually it might be that the abort you get is because it is doing the *right* thing ;)
I actually was able to reproduce a similar scenario with a simple test application on another machine, using pthread_cancel but not pthread_exit.
The thread that dies and results in the abort should really have nothing to do with the C++ destructors etc that float around.
But for some reason the forced unwind of the stack cause problems, at least on your system. I attach a new version of rar2fs.c here.
I have removed what I think is the failing call to pthread_exit. This is the next release candidate. I will officially remove all but one
call to pthread_exit in the trunk since, obviously, I have no control over them :?
You do not have the required permissions to view the files attached to this post.
User avatar
juusso
SamyGO Moderator
Posts: 10129
Joined: Sun Mar 07, 2010 6:20 pm

Re: Play RAR files without extract them on SMB/NFS (RAR2FS?)

Post by juusso »

Just few seconds...

Code: Select all

# rar2fs --exclude=.lock --fake-iso --seek-length=2 -o allow_other ./Shrek.3D.rar ./test -f
rar2_init()
rar2_getattr2()   /
MISS    /   (collision: no)
STAT retrieved for /dtv/usb/sda/TV/rar/
rar2_getattr2()   /
MISS    /   (collision: no)
STAT retrieved for /dtv/usb/sda/TV/rar/
rar2_getattr2()   /
MISS    /   (collision: no)
STAT retrieved for /dtv/usb/sda/TV/rar/
rar2_readdir2()   /
listrar()   /   arch=/dtv/usb/sda/TV/rar/Shrek.3D.rar
Looking up /Shrek.3D.avi in cache
Adding /Shrek.3D.avi to cache
rar2_getattr2()   /Shrek.3D.avi
rar2_getattr2()   /
MISS    /   (collision: no)
STAT retrieved for /dtv/usb/sda/TV/rar/
rar2_getattr2()   /
MISS    /   (collision: no)
STAT retrieved for /dtv/usb/sda/TV/rar/
rar2_getattr2()   /Shrek.3D.avi
rar2_getattr2()   /Shrek.3D.trp
MISS    /Shrek.3D.trp   (collision: no)
rar2_open()   /Shrek.3D.avi
(00863) OPEN    /Shrek.3D.avi [0x0][called from 00288]
(00863) ALLOC   /Shrek.3D.avi [0xa86d0         ]
PIPE 0xa8740 created towards child 926
Reader thread started, fp=0xa8740
preload_index()   /Shrek.3D.avi
Preloading index for /dtv/usb/sda/TV/rar/Shrek.3D.r2i
Reader thread wakeup, select()=1
rar2_read()   /Shrek.3D.avi   size=16384, offset=0, fh=689872
PID 00863 calling lread_rar(), seq = 1, size=16384, offset=0/0
Reader thread wakeup, select()=1
Reader thread acknowledge
1083434128 thread wakeup (1, 1)
lread_rar: RETURN 16384
Reader thread wakeup, select()=1
rar2_flush()   /Shrek.3D.avi
(00863) FLUSH   /Shrek.3D.avi [0xa86d0         ][called from 00288]
lflush()   /Shrek.3D.avi
rar2_release()   /Shrek.3D.avi
(00863) RELEASE /Shrek.3D.avi [0xa86d0         ]
Reader thread wakeup, select()=1
Reader thread stopped
PIPE 0xa8740 closed towards child 00926
(00863) FREE    /Shrek.3D.avi [0xa86d0         ]
rar2_getattr2()   /Shrek.3D.smi
MISS    /Shrek.3D.smi   (collision: no)
rar2_getattr2()   /Shrek.3D.SMI
MISS    /Shrek.3D.SMI   (collision: no)
rar2_getattr2()   /Shrek.3D.srt
MISS    /Shrek.3D.srt   (collision: no)
rar2_getattr2()   /Shrek.3D.SRT
MISS    /Shrek.3D.SRT   (collision: no)
rar2_getattr2()   /Shrek.3D.sub
MISS    /Shrek.3D.sub   (collision: no)
rar2_getattr2()   /Shrek.3D.SUB
MISS    /Shrek.3D.SUB   (collision: no)
rar2_getattr2()   /Shrek.3D.ttxt
MISS    /Shrek.3D.ttxt   (collision: no)
rar2_getattr2()   /Shrek.3D.TTXT
MISS    /Shrek.3D.TTXT   (collision: no)
rar2_getattr2()   /Shrek.3D.txt
MISS    /Shrek.3D.txt   (collision: no)
rar2_getattr2()   /Shrek.3D.TXT
MISS    /Shrek.3D.TXT   (collision: no)
rar2_getattr2()   /Shrek.3D.avi
rar2_open()   /Shrek.3D.avi
(00863) OPEN    /Shrek.3D.avi [0x0][called from 00288]
(00863) ALLOC   /Shrek.3D.avi [0xa86d0         ]
PIPE 0xa8740 created towards child 929
Reader thread started, fp=0xa8740
preload_index()   /Shrek.3D.avi
Preloading index for /dtv/usb/sda/TV/rar/Shrek.3D.r2i
rar2_flush()   /Shrek.3D.avi
(00863) FLUSH   /Shrek.3D.avi [0xa86d0         ][called from 00288]
lflush()   /Shrek.3D.avi
rar2_release()   /Shrek.3D.avi
(00863) RELEASE /Shrek.3D.avi [0xa86d0         ]
Reader thread wakeup, select()=1
Reader thread stopped
PIPE 0xa8740 closed towards child 00929
(00863) FREE    /Shrek.3D.avi [0xa86d0         ]
rar2_open()   /Shrek.3D.avi
(00863) OPEN    /Shrek.3D.avi [0x0][called from 00288]
(00863) ALLOC   /Shrek.3D.avi [0xa86d0         ]
PIPE 0xa8740 created towards child 931
Reader thread started, fp=0xa8740
preload_index()   /Shrek.3D.avi
Preloading index for /dtv/usb/sda/TV/rar/Shrek.3D.r2i
rar2_read()   /Shrek.3D.avi   size=49152, offset=16384, fh=689872
PID 00863 calling lread_rar(), seq = 1, size=49152, offset=16384/0
Reader thread wakeup, select()=1
Reader thread wakeup, select()=1
Reader thread acknowledge
1083434128 thread wakeup (1, 1)
lread_rar: RETURN 49152
rar2_getattr2()   /Shrek.3D.avi
rar2_read()   /Shrek.3D.avi   size=36864, offset=182042624, fh=689872
PID 00863 calling lread_rar(), seq = 2, size=36864, offset=182042624/65536
lread_rar: RETURN 36864
rar2_read()   /Shrek.3D.avi   size=65536, offset=182079488, fh=689872
PID 00863 calling lread_rar(), seq = 2, size=65536, offset=182079488/65536
lread_rar: RETURN 65536
rar2_read()   /Shrek.3D.avi   size=131072, offset=182145024, fh=689872
PID 00863 calling lread_rar(), seq = 2, size=131072, offset=182145024/65536
lread_rar: RETURN 131072
Reader thread wakeup, select()=1
rar2_read()   /Shrek.3D.avi   size=131072, offset=182276096, fh=689872
PID 00863 calling lread_rar(), seq = 2, size=131072, offset=182276096/65536
lread_rar: RETURN 131072
rar2_read()   /Shrek.3D.avi   size=131072, offset=182407168, fh=689872
PID 00863 calling lread_rar(), seq = 2, size=131072, offset=182407168/65536
lread_rar: RETURN 131072
rar2_read()   /Shrek.3D.avi   size=131072, offset=182538240, fh=689872
PID 00863 calling lread_rar(), seq = 2, size=131072, offset=182538240/65536
lread_rar: RETURN 131072
rar2_read()   /Shrek.3D.avi   size=131072, offset=182669312, fh=689872
PID 00863 calling lread_rar(), seq = 2, size=131072, offset=182669312/65536
lread_rar: RETURN 131072
rar2_read()   /Shrek.3D.avi   size=131072, offset=182800384, fh=689872
PID 00863 calling lread_rar(), seq = 2, size=131072, offset=182800384/65536
lread_rar: RETURN 131072
rar2_read()   /Shrek.3D.avi   size=73728, offset=182931456, fh=689872
PID 00863 calling lread_rar(), seq = 2, size=73728, offset=182931456/65536
lread_rar: RETURN 73728
rar2_getattr2()   /Shrek.3D.avi
rar2_flush()   /Shrek.3D.avi
(00863) FLUSH   /Shrek.3D.avi [0xa86d0         ][called from 00288]
lflush()   /Shrek.3D.avi
rar2_release()   /Shrek.3D.avi
(00863) RELEASE /Shrek.3D.avi [0xa86d0         ]
Reader thread stopped
PIPE 0xa8740 closed towards child 00931
(00863) FREE    /Shrek.3D.avi [0xa86d0         ]
rar2_getattr2()   /Shrek.3D.avi
rar2_open()   /Shrek.3D.avi
(00863) OPEN    /Shrek.3D.avi [0x0][called from 00288]
(00863) ALLOC   /Shrek.3D.avi [0xa86d0         ]
PIPE 0xa8740 created towards child 937
Reader thread started, fp=0xa8740
preload_index()   /Shrek.3D.avi
Preloading index for /dtv/usb/sda/TV/rar/Shrek.3D.r2i
rar2_read()   /Shrek.3D.avi   size=4096, offset=0, fh=689872
PID 00863 calling lread_rar(), seq = 1, size=4096, offset=0/0
Reader thread wakeup, select()=1
Reader thread wakeup, select()=1
Reader thread acknowledge
1083434128 thread wakeup (1, 1)
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=4096, fh=689872
PID 00863 calling lread_rar(), seq = 2, size=4096, offset=4096/4096
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=8192, fh=689872
PID 00863 calling lread_rar(), seq = 3, size=4096, offset=8192/8192
lread_rar: RETURN 4096
rar2_getattr2()   /Shrek.3D.avi
rar2_read()   /Shrek.3D.avi   size=4096, offset=0, fh=689872
PID 00863 calling lread_rar(), seq = 4, size=4096, offset=0/12288
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=8192, fh=689872
PID 00863 calling lread_rar(), seq = 5, size=4096, offset=8192/12288
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=182042624, fh=689872
PID 00863 calling lread_rar(), seq = 6, size=4096, offset=182042624/12288
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=0, fh=689872
PID 00863 calling lread_rar(), seq = 6, size=4096, offset=0/12288
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=8192, fh=689872
PID 00863 calling lread_rar(), seq = 7, size=4096, offset=8192/12288
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=12288, fh=689872
PID 00863 calling lread_rar(), seq = 8, size=4096, offset=12288/12288
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=8192, fh=689872
PID 00863 calling lread_rar(), seq = 9, size=4096, offset=8192/16384
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=12288, fh=689872
PID 00863 calling lread_rar(), seq = 10, size=4096, offset=12288/16384
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=16384, fh=689872
PID 00863 calling lread_rar(), seq = 11, size=4096, offset=16384/16384
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=12288, fh=689872
PID 00863 calling lread_rar(), seq = 12, size=4096, offset=12288/20480
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=16384, fh=689872
PID 00863 calling lread_rar(), seq = 13, size=4096, offset=16384/20480
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=20480, fh=689872
PID 00863 calling lread_rar(), seq = 14, size=4096, offset=20480/20480
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=16384, fh=689872
PID 00863 calling lread_rar(), seq = 15, size=4096, offset=16384/24576
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=20480, fh=689872
PID 00863 calling lread_rar(), seq = 16, size=4096, offset=20480/24576
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=24576, fh=689872
PID 00863 calling lread_rar(), seq = 17, size=4096, offset=24576/24576
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=20480, fh=689872
PID 00863 calling lread_rar(), seq = 18, size=4096, offset=20480/28672
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=24576, fh=689872
PID 00863 calling lread_rar(), seq = 19, size=4096, offset=24576/28672
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=28672, fh=689872
PID 00863 calling lread_rar(), seq = 20, size=4096, offset=28672/28672
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=24576, fh=689872
PID 00863 calling lread_rar(), seq = 21, size=4096, offset=24576/32768
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=28672, fh=689872
PID 00863 calling lread_rar(), seq = 22, size=4096, offset=28672/32768
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=32768, fh=689872
PID 00863 calling lread_rar(), seq = 23, size=4096, offset=32768/32768
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=28672, fh=689872
PID 00863 calling lread_rar(), seq = 24, size=4096, offset=28672/36864
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=32768, fh=689872
PID 00863 calling lread_rar(), seq = 25, size=4096, offset=32768/36864
lread_rar: RETURN 4096
Reader thread wakeup, select()=1
rar2_read()   /Shrek.3D.avi   size=4096, offset=36864, fh=689872
PID 00863 calling lread_rar(), seq = 26, size=4096, offset=36864/36864
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=32768, fh=689872
PID 00863 calling lread_rar(), seq = 27, size=4096, offset=32768/40960
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=36864, fh=689872
PID 00863 calling lread_rar(), seq = 28, size=4096, offset=36864/40960
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=40960, fh=689872
PID 00863 calling lread_rar(), seq = 29, size=4096, offset=40960/40960
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=36864, fh=689872
PID 00863 calling lread_rar(), seq = 30, size=4096, offset=36864/45056
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=40960, fh=689872
PID 00863 calling lread_rar(), seq = 31, size=4096, offset=40960/45056
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=45056, fh=689872
PID 00863 calling lread_rar(), seq = 32, size=4096, offset=45056/45056
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=40960, fh=689872
PID 00863 calling lread_rar(), seq = 33, size=4096, offset=40960/49152
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=45056, fh=689872
PID 00863 calling lread_rar(), seq = 34, size=4096, offset=45056/49152
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=49152, fh=689872
PID 00863 calling lread_rar(), seq = 35, size=4096, offset=49152/49152
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=45056, fh=689872
PID 00863 calling lread_rar(), seq = 36, size=4096, offset=45056/53248
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=49152, fh=689872
PID 00863 calling lread_rar(), seq = 37, size=4096, offset=49152/53248
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=53248, fh=689872
PID 00863 calling lread_rar(), seq = 38, size=4096, offset=53248/53248
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=49152, fh=689872
PID 00863 calling lread_rar(), seq = 39, size=4096, offset=49152/57344
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=53248, fh=689872
PID 00863 calling lread_rar(), seq = 40, size=4096, offset=53248/57344
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=57344, fh=689872
PID 00863 calling lread_rar(), seq = 41, size=4096, offset=57344/57344
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=53248, fh=689872
PID 00863 calling lread_rar(), seq = 42, size=4096, offset=53248/61440
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=57344, fh=689872
PID 00863 calling lread_rar(), seq = 43, size=4096, offset=57344/61440
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=61440, fh=689872
PID 00863 calling lread_rar(), seq = 44, size=4096, offset=61440/61440
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=57344, fh=689872
PID 00863 calling lread_rar(), seq = 45, size=4096, offset=57344/65536
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=61440, fh=689872
PID 00863 calling lread_rar(), seq = 46, size=4096, offset=61440/65536
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=65536, fh=689872
PID 00863 calling lread_rar(), seq = 47, size=4096, offset=65536/65536
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=61440, fh=689872
PID 00863 calling lread_rar(), seq = 48, size=4096, offset=61440/69632
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=65536, fh=689872
PID 00863 calling lread_rar(), seq = 49, size=4096, offset=65536/69632
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=69632, fh=689872
PID 00863 calling lread_rar(), seq = 50, size=4096, offset=69632/69632
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=65536, fh=689872
PID 00863 calling lread_rar(), seq = 51, size=4096, offset=65536/73728
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=69632, fh=689872
PID 00863 calling lread_rar(), seq = 52, size=4096, offset=69632/73728
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=73728, fh=689872
PID 00863 calling lread_rar(), seq = 53, size=4096, offset=73728/73728
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=69632, fh=689872
PID 00863 calling lread_rar(), seq = 54, size=4096, offset=69632/77824
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=73728, fh=689872
PID 00863 calling lread_rar(), seq = 55, size=4096, offset=73728/77824
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=77824, fh=689872
PID 00863 calling lread_rar(), seq = 56, size=4096, offset=77824/77824
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=73728, fh=689872
PID 00863 calling lread_rar(), seq = 57, size=4096, offset=73728/81920
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=77824, fh=689872
PID 00863 calling lread_rar(), seq = 58, size=4096, offset=77824/81920
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=90112, fh=689872
PID 00863 calling lread_rar(), seq = 59, size=4096, offset=90112/81920
lread_rar: RETURN 4096
rar2_read()   /Shrek.3D.avi   size=4096, offset=77824, fh=689872
PID 00863 calling lread_rar(), seq = 60, size=4096, offset=77824/94208
lread_rar: RETURN 4096
Reader thread wakeup, select()=1
Reader thread wakeup, select()=1
Reader thread wakeup, select()=1
Reader thread wakeup, select()=1
Reader thread wakeup, select()=1
Reader thread wakeup, select()=1
Reader thread wakeup, select()=1
Reader thread wakeup, select()=1
Reader thread wakeup, select()=1
Reader thread wakeup, select()=1
Reader thread wakeup, select()=1
Reader thread wakeup, select()=1
Reader thread wakeup, select()=1
Reader thread wakeup, select()=1
Reader thread wakeup, select()=1
Reader thread wakeup, select()=1
Reader thread wakeup, select()=1
Reader thread wakeup, select()=1
Reader thread wakeup, select()=1
Reader thread wakeup, select()=1
rar2_flush()   /Shrek.3D.avi
(00863) FLUSH   /Shrek.3D.avi [0xa86d0         ][called from 00288]
lflush()   /Shrek.3D.avi
rar2_release()   /Shrek.3D.avi
(00863) RELEASE /Shrek.3D.avi [0xa86d0         ]
Reader thread wakeup, select()=1
Reader thread stopped
PIPE 0xa8740 closed towards child 00937
(00863) FREE    /Shrek.3D.avi [0xa86d0         ]
LE40B653T5W,UE40D6750,UE65Q8C
Have questions? Read SamyGO Wiki, Search on forum first!
FFB (v0.8), FFB for CI+ . Get root on: C series, D series, E series, F series, H series. rooting K series, exeDSP/exeTV patches[C/D/E/F/H]

DO NOT EVER INSTALL FIRMWARE UPGRADE
hasse69
Posts: 66
Joined: Fri Feb 10, 2012 8:09 pm

Re: Play RAR files without extract them on SMB/NFS (RAR2FS?)

Post by hasse69 »

juuso wrote:Just few seconds...
Yes. This was expected. Nothing I can do really about this particular file not being able to playback properly without the .r2i file :(
As I said before, playback of compressed archives is best-effort. There are no guarantees. But the application should never crash which I think is not the case anymore?

Can you also try this patch? If all is ok it should actually crash :)
You do not have the required permissions to view the files attached to this post.
User avatar
juusso
SamyGO Moderator
Posts: 10129
Joined: Sun Mar 07, 2010 6:20 pm

Re: Play RAR files without extract them on SMB/NFS (RAR2FS?)

Post by juusso »

Yes, crashed. :roll:

Code: Select all

# rar2fs --exclude=.lock --fake-iso --seek-length=2 -o allow_other ./Shrek.3D.rar ./test -f
rar2_init()
rar2_getattr2()   /
MISS    /   (collision: no)
STAT retrieved for /dtv/usb/sda/TV/rar/
rar2_getattr2()   /
MISS    /   (collision: no)
STAT retrieved for /dtv/usb/sda/TV/rar/
rar2_getattr2()   /
MISS    /   (collision: no)
STAT retrieved for /dtv/usb/sda/TV/rar/
rar2_readdir2()   /
listrar()   /   arch=/dtv/usb/sda/TV/rar/Shrek.3D.rar
Looking up /Shrek.3D.avi in cache
Adding /Shrek.3D.avi to cache
rar2_getattr2()   /Shrek.3D.avi
rar2_getattr2()   /
MISS    /   (collision: no)
STAT retrieved for /dtv/usb/sda/TV/rar/
rar2_getattr2()   /
MISS    /   (collision: no)
STAT retrieved for /dtv/usb/sda/TV/rar/
rar2_getattr2()   /Shrek.3D.avi
rar2_getattr2()   /Shrek.3D.trp
MISS    /Shrek.3D.trp   (collision: no)
rar2_open()   /Shrek.3D.avi
(00674) OPEN    /Shrek.3D.avi [0x0][called from 00271]
(00674) ALLOC   /Shrek.3D.avi [0xa86d0         ]
PIPE 0xa8740 created towards child 712
Reader thread started, fp=0xa8740
preload_index()   /Shrek.3D.avi
Preloading index for /dtv/usb/sda/TV/rar/Shrek.3D.r2i
Reader thread wakeup, select()=1
rar2_read()   /Shrek.3D.avi   size=16384, offset=0, fh=689872
PID 00674 calling lread_rar(), seq = 1, size=16384, offset=0/0
Reader thread wakeup, select()=1
Reader thread acknowledge
1083434128 thread wakeup (1, 1)
lread_rar: RETURN 16384
rar2_flush()   /Shrek.3D.avi
(00674) FLUSH   /Shrek.3D.avi [0xa86d0         ][called from 00271]
lflush()   /Shrek.3D.avi
rar2_release()   /Shrek.3D.avi
(00674) RELEASE /Shrek.3D.avi [0xa86d0         ]
Reader thread stopped
terminate called without an active exception
Aborted (core dumped)
#
LE40B653T5W,UE40D6750,UE65Q8C
Have questions? Read SamyGO Wiki, Search on forum first!
FFB (v0.8), FFB for CI+ . Get root on: C series, D series, E series, F series, H series. rooting K series, exeDSP/exeTV patches[C/D/E/F/H]

DO NOT EVER INSTALL FIRMWARE UPGRADE
hasse69
Posts: 66
Joined: Fri Feb 10, 2012 8:09 pm

Re: Play RAR files without extract them on SMB/NFS (RAR2FS?)

Post by hasse69 »

juuso wrote:Yes, crashed. :roll:
No problem. Also this was expected. Now I know exactly where the call to pthread_exit() is causing the crash.
Its annoying but I will remove this call in the next release of rar2fs. It is safe to do it and possible since I do
not expect any result code from this thread.
To better understand what is going on with your short playback time when you have no .r2i file it would
require that I can obtain the same rar file from somewhere :(
What I can test is if other media players also behave the same or if this is unique to your system.
hasse69
Posts: 66
Joined: Fri Feb 10, 2012 8:09 pm

Re: Play RAR files without extract them on SMB/NFS (RAR2FS?)

Post by hasse69 »

Using the previous patch that crashed, can you also try this.
The file errhnd.hpp should go into the unrar folder. You need to rebuild libunrar.so and replace it on target.

EDIT: Question, do you observe this crash also when running rar2fs on your NAS or is it only on your target?
You do not have the required permissions to view the files attached to this post.
User avatar
juusso
SamyGO Moderator
Posts: 10129
Joined: Sun Mar 07, 2010 6:20 pm

Re: Play RAR files without extract them on SMB/NFS (RAR2FS?)

Post by juusso »

All tests we have made these days - only on Samsung TV. I haven`t checked it on NAS.
Now i`m away from TV until tomorrow, so new tests are postponed. :roll:
LE40B653T5W,UE40D6750,UE65Q8C
Have questions? Read SamyGO Wiki, Search on forum first!
FFB (v0.8), FFB for CI+ . Get root on: C series, D series, E series, F series, H series. rooting K series, exeDSP/exeTV patches[C/D/E/F/H]

DO NOT EVER INSTALL FIRMWARE UPGRADE
User avatar
juusso
SamyGO Moderator
Posts: 10129
Joined: Sun Mar 07, 2010 6:20 pm

Re: Play RAR files without extract them on SMB/NFS (RAR2FS?)

Post by juusso »

hasse69 wrote:Using the previous patch that crashed, can you also try this.
The file errhnd.hpp should go into the unrar folder. You need to rebuild libunrar.so and replace it on target.
Using same known shrek movie... (haven`t found any other...)

Code: Select all

# rar2fs --exclude=.lock --fake-iso --seek-length=2 -o allow_other ./Shrek.3D.rar ./test -f
rar2_init()
rar2_getattr2()   /
MISS    /   (collision: no)
STAT retrieved for /dtv/usb/sda/TV/rar/
rar2_getattr2()   /
MISS    /   (collision: no)
STAT retrieved for /dtv/usb/sda/TV/rar/
rar2_getattr2()   /
MISS    /   (collision: no)
STAT retrieved for /dtv/usb/sda/TV/rar/
rar2_readdir2()   /
listrar()   /   arch=/dtv/usb/sda/TV/rar/Shrek.3D.rar
Looking up /Shrek.3D.avi in cache
Adding /Shrek.3D.avi to cache
rar2_getattr2()   /Shrek.3D.avi
rar2_getattr2()   /
MISS    /   (collision: no)
STAT retrieved for /dtv/usb/sda/TV/rar/
rar2_getattr2()   /
MISS    /   (collision: no)
STAT retrieved for /dtv/usb/sda/TV/rar/
rar2_getattr2()   /Shrek.3D.avi
rar2_getattr2()   /Shrek.3D.trp
MISS    /Shrek.3D.trp   (collision: no)
rar2_open()   /Shrek.3D.avi
(00573) OPEN    /Shrek.3D.avi [0x0][called from 00276]
(00573) ALLOC   /Shrek.3D.avi [0xa86d0         ]
PIPE 0xa8740 created towards child 610
Reader thread started, fp=0xa8740
preload_index()   /Shrek.3D.avi
Preloading index for /dtv/usb/sda/TV/rar/Shrek.3D.r2i
Reader thread wakeup, select()=1
rar2_read()   /Shrek.3D.avi   size=16384, offset=0, fh=689872
PID 00573 calling lread_rar(), seq = 1, size=16384, offset=0/0
Reader thread wakeup, select()=1
Reader thread acknowledge
1083434128 thread wakeup (1, 1)
lread_rar: RETURN 16384
Reader thread wakeup, select()=1
rar2_flush()   /Shrek.3D.avi
(00573) FLUSH   /Shrek.3D.avi [0xa86d0         ][called from 00276]
lflush()   /Shrek.3D.avi
rar2_release()   /Shrek.3D.avi
(00573) RELEASE /Shrek.3D.avi [0xa86d0         ]
Reader thread wakeup, select()=1
Reader thread stopped
terminate called without an active exception
Aborted (core dumped)
LE40B653T5W,UE40D6750,UE65Q8C
Have questions? Read SamyGO Wiki, Search on forum first!
FFB (v0.8), FFB for CI+ . Get root on: C series, D series, E series, F series, H series. rooting K series, exeDSP/exeTV patches[C/D/E/F/H]

DO NOT EVER INSTALL FIRMWARE UPGRADE
hasse69
Posts: 66
Joined: Fri Feb 10, 2012 8:09 pm

Re: Play RAR files without extract them on SMB/NFS (RAR2FS?)

Post by hasse69 »

Ok, so this was a run using a new version of libunrar.so that had a patched errhnd.hpp file?
Bummer! Well it was a long shot just disabling the exception handling in libunrar.
User avatar
juusso
SamyGO Moderator
Posts: 10129
Joined: Sun Mar 07, 2010 6:20 pm

Re: Play RAR files without extract them on SMB/NFS (RAR2FS?)

Post by juusso »

Yes, this was running patched libunrar.so and patch9.
LE40B653T5W,UE40D6750,UE65Q8C
Have questions? Read SamyGO Wiki, Search on forum first!
FFB (v0.8), FFB for CI+ . Get root on: C series, D series, E series, F series, H series. rooting K series, exeDSP/exeTV patches[C/D/E/F/H]

DO NOT EVER INSTALL FIRMWARE UPGRADE

Post Reply

Return to “General”