Notices


Reply
Thread Tools
Posts: 3,074 | Thanked: 12,960 times | Joined on Mar 2010 @ Sofia,Bulgaria
#1501
continued from the previous post:

@marxian:

cutetube2 is compiled in ARMEL ScratchBox with debug symbols and not stripped -
in debian/rules:
...
qmake "CONFIG+=debug"
...
# dh_strip

unfortunately package qyoutube does not provide debug symbols, so some backtrace information might be missing.

I have coredump as well, though I doubt it will provide more information, as by the time the segfault appears, the block in question (the QNetworkReply that gets deleted in QYouTube::StreamsRequestPrivate::getVideoWebPage() ) as already gone. Will provide it at request though.
__________________
Never fear. I is here.

720p video support on N900,SmartReflex on N900,Keyboard and mouse support on N900
Nothing is impossible - Stable thumb2 on n900

Community SSU developer
kernel-power developer and maintainer

 

The Following 2 Users Say Thank You to freemangordon For This Useful Post:
marxian's Avatar
Posts: 2,448 | Thanked: 9,523 times | Joined on Aug 2010 @ Wigan, UK
#1502
Segfault should be fixed now in qyoutube 0.1.6.
__________________
'Men of high position are allowed, by a special act of grace, to accomodate their reasoning to the answer they need. Logic is only required in those of lesser rank.' - J K Galbraith

My website

GitHub
 

The Following 5 Users Say Thank You to marxian For This Useful Post:
Posts: 3,074 | Thanked: 12,960 times | Joined on Mar 2010 @ Sofia,Bulgaria
#1503
Originally Posted by marxian View Post
Segfault should be fixed now in qyoutube 0.1.6.
If https://github.com/marxoft/qyoutube/...823733a2a1b7d8 is the commit that is supposed to fix the segfault, I am afraid there is still a possibility for it .

Imagine getVideoInfo() called twice in a row. On the first call member variable reply is NULL, so we are safe (https://github.com/marxoft/qyoutube/...quest.cpp#L174 doesn;t get called). On lines 180 and 181 a new reply is created and finished() signal is connected. at this point we have a valid pointer in reply member variable. Before the finished() signal is emitted, a second getVideoInfo() (or some of the other function which uses reply) call is issued (whoever is the one that calls it). Now, on line 174 the first reply will get deleted, leading to use-after-free and thus - a segfault.

I think you should either have a separate QNetworkReply* for each function that issues a request and fail the function if there is already a reply which is not finished for it, or remove reply member altogether and use qobject_cast(sender()); to have the needed QNetworkReply * for getting the result and calling deleteLater()

I'll cook a quick patch on github using the second approach and will request a merge.

EDIT: Maybe the best approach is to use QSignalMapper
EDIT2: https://github.com/marxoft/qyoutube/pull/1
__________________
Never fear. I is here.

720p video support on N900,SmartReflex on N900,Keyboard and mouse support on N900
Nothing is impossible - Stable thumb2 on n900

Community SSU developer
kernel-power developer and maintainer


Last edited by freemangordon; 2015-11-08 at 20:06.
 

The Following 2 Users Say Thank You to freemangordon For This Useful Post:
marxian's Avatar
Posts: 2,448 | Thanked: 9,523 times | Joined on Aug 2010 @ Wigan, UK
#1504
Request is not intended to support parallel requests. It is supposed to act like a state machine, so once it enters Loading state, no further requests should be made (except internally, such as following a redirect) until the state changes again. The mistake is in leaving it to the application to police this (which is what cutetube2 does). So, as far as cutetube2 goes, there should be no possibility of a segfault using qyoutube 0.1.6, but if some other application were to make a further call to one of the request methods during the Loading state, there could be a problem. I prefer to fix this by enforcing the intended behaviour.
__________________
'Men of high position are allowed, by a special act of grace, to accomodate their reasoning to the answer they need. Logic is only required in those of lesser rank.' - J K Galbraith

My website

GitHub
 

The Following 2 Users Say Thank You to marxian For This Useful Post:
Posts: 3,074 | Thanked: 12,960 times | Joined on Mar 2010 @ Sofia,Bulgaria
#1505
Originally Posted by marxian View Post
Request is not intended to support parallel requests. It is supposed to act like a state machine, so once it enters Loading state, no further requests should be made (except internally, such as following a redirect) until the state changes again. The mistake is in leaving it to the application to police this (which is what cutetube2 does). So, as far as cutetube2 goes, there should be no possibility of a segfault using qyoutube 0.1.6, but if some other application were to make a further call to one of the request methods during the Loading state, there could be a problem. I prefer to fix this by enforcing the intended behaviour.
Ofc I am fine with whatever fix you may end up with, as long as there are no more segfaults.

In the meanwhile, YT changed its base.js, making the current decryption function extractor non-functional. here is a fix https://github.com/marxoft/qyoutube/pull/2
__________________
Never fear. I is here.

720p video support on N900,SmartReflex on N900,Keyboard and mouse support on N900
Nothing is impossible - Stable thumb2 on n900

Community SSU developer
kernel-power developer and maintainer


Last edited by freemangordon; 2015-11-11 at 13:54.
 

The Following 5 Users Say Thank You to freemangordon For This Useful Post:
Posts: 3,074 | Thanked: 12,960 times | Joined on Mar 2010 @ Sofia,Bulgaria
#1506
Here is a fix for non-working YT encrypted videos on N900, needs CSSU(testing or thumb):

http://46.249.74.23/libsoup/libsoup2...+0m5_armel.deb

Download the package to a directory of your choice.

One should manually install the needed libgnutls26 dependency before installing upgraded libsoup deb, make sure you have maemo extras enabled:

as root:
apt-get install libgnutls26

you'll also need libgpg-error0 from extras-devel:
enable extras-devel repo, update, close application manager and in terminal, as root:

apt-get install libgpg-error0

after that, as root:

dpkg -i $DOWNLOAD_DIR/libsoup2.4-1_2.30.2-1+squeeze1+0m5_armel.deb

if media-player is the player you use with cutetube2, a reboot is needed (or mafw-gst-renderer process restart) for the new library to take effect
__________________
Never fear. I is here.

720p video support on N900,SmartReflex on N900,Keyboard and mouse support on N900
Nothing is impossible - Stable thumb2 on n900

Community SSU developer
kernel-power developer and maintainer


Last edited by freemangordon; 2015-11-11 at 18:09.
 

The Following 14 Users Say Thank You to freemangordon For This Useful Post:
Posts: 190 | Thanked: 206 times | Joined on Jan 2010 @ Accra,Ghana
#1507
Hi marxian. I've been unable to play any videos for the last two weeks. i keep getting "no streams found". I tried the fix above but sstill no change. I also changed the media player but same result!
 
marxian's Avatar
Posts: 2,448 | Thanked: 9,523 times | Joined on Aug 2010 @ Wigan, UK
#1508
Originally Posted by tcbl50 View Post
Hi marxian. I've been unable to play any videos for the last two weeks. i keep getting "no streams found". I tried the fix above but sstill no change. I also changed the media player but same result!
Have you updated to the latest version of qyoutube (0.1.7)? The qyoutube library is used to retreive the video streams, so it's important to have the latest version installed to ensure that the video streams continue to work. The same also applies to the qdailymotion and qvimeo libraries.
__________________
'Men of high position are allowed, by a special act of grace, to accomodate their reasoning to the answer they need. Logic is only required in those of lesser rank.' - J K Galbraith

My website

GitHub
 

The Following 4 Users Say Thank You to marxian For This Useful Post:
Posts: 190 | Thanked: 206 times | Joined on Jan 2010 @ Accra,Ghana
#1509
I should update qyoutube separately from cutetube? Never knew that thanks!
 
Posts: 190 | Thanked: 206 times | Joined on Jan 2010 @ Accra,Ghana
#1510
Originally Posted by marxian View Post
Have you updated to the latest version of qyoutube (0.1.7)? The qyoutube library is used to retreive the video streams, so it's important to have the latest version installed to ensure that the video streams continue to work. The same also applies to the qdailymotion and qvimeo libraries.
thanks that did the trick. i was just wondering why HAM never gave me ay notification. one last favour. i am also getting no streams found with xhamster. i would be really grateful if u update that plugin.

thanks for great app. been using it for the last three years
 
Reply

Tags
youtube

Thread Tools

 
Forum Jump


All times are GMT. The time now is 11:07.