Code Monkey home page Code Monkey logo

Comments (11)

thibaultcha avatar thibaultcha commented on June 30, 2024

Hi! Sorry for the delay... What is the version of TCBlobDownload you are using?

from tcblobdownload.

NasH5169 avatar NasH5169 commented on June 30, 2024

Thibault,

No problem ! :)

I'm using the last stable available on Git.

Nash.

from tcblobdownload.

purepure avatar purepure commented on June 30, 2024

Get the same issue. Do you have any update?

from tcblobdownload.

thibaultcha avatar thibaultcha commented on June 30, 2024

Hi,

No updates, as I have no time to maintain this project these days. All I can tell you is that this comes from -updateTransferRate (https://github.com/thibaultCha/TCBlobDownload/blob/master/TCBlobDownload/TCBlobDownload/TCBlobDownloader.m#L345)

If you really are desperate you can modify the code to drop this functionality (bad but works), or, the best would be a PR with a fix hem hem :)

I don't have time to look into it before at least 2 weeks...

from tcblobdownload.

purepure avatar purepure commented on June 30, 2024

Thank for your hard work. Your library is really good and helpful.
Btw, I try to comment out implementation of that function but it still crash at another place:

*** Terminating app due to uncaught exception 'NSFileHandleOperationException', reason: '*** -[NSConcreteFileHandle writeData:]: No such process'
*** First throw call stack:
(
    0   CoreFoundation                      0x026d51e4 __exceptionPreprocess + 180
    1   libobjc.A.dylib                     0x024548e5 objc_exception_throw + 44
    2   CoreFoundation                      0x026d4fbb +[NSException raise:format:] + 139
    3   Foundation                          0x021018c1 _NSFileHandleRaiseOperationException + 140
    4   Foundation                          0x020e8b11 -[NSConcreteFileHandle writeData:] + 67
    5   TubeDownloader                      0x00012ce6 -[TCBlobDownloader connection:didReceiveData:] + 598
    6   Foundation                          0x0221de80 ___NSURLConnectionDidReceiveData_block_invoke + 50
    7   Foundation                          0x021b47e1 __65-[NSURLConnectionInternal _withConnectionAndDelegate:onlyActive:]_block_invoke + 62
    8   Foundation                          0x0203cf5e -[NSURLConnectionInternalConnection invokeForDelegate:] + 119
    9   Foundation                          0x0203cec6 -[NSURLConnectionInternal _withConnectionAndDelegate:onlyActive:] + 208
    10  Foundation                          0x0203cdd8 -[NSURLConnectionInternal _withActiveConnectionAndDelegate:] + 76
    11  Foundation                          0x0203d158 _NSURLConnectionDidReceiveData + 87
    12  CFNetwork                           0x007b1171 ___ZN27URLConnectionClient_Classic29_delegate_didReceiveDataArrayEv_block_invoke + 304
    13  CFNetwork                           0x007b03de ___ZN27URLConnectionClient_Classic18_withDelegateAsyncEPKcU13block_pointerFvP16_CFURLConnectionPK33CFURLConnectionClientCurrent_VMaxE_block_invoke_2 + 104
    14  CoreFoundation                      0x02676c69 CFArrayApplyFunction + 57
    15  CFNetwork                           0x00719441 _ZN19RunloopBlockContext7performEv + 155
    16  CFNetwork                           0x007fb3f4 _ZThn16_N19RunloopBlockContext24multiplexerClientPerformEv + 20
    17  CFNetwork                           0x00719257 _ZN17MultiplexerSource7performEv + 299
    18  CFNetwork                           0x0071906c _ZN17MultiplexerSource8_performEPv + 76
    19  CoreFoundation                      0x0265e77f __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 15
    20  CoreFoundation                      0x0265e10b __CFRunLoopDoSources0 + 235
    21  CoreFoundation                      0x0267b1ae __CFRunLoopRun + 910
    22  CoreFoundation                      0x0267a9d3 CFRunLoopRunSpecific + 467
    23  CoreFoundation                      0x0267a7eb CFRunLoopRunInMode + 123
    24  Foundation                          0x020b0e35 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 284
    25  Foundation                          0x0204cdc1 -[NSRunLoop(NSRunLoop) run] + 82
    26  TubeDownloader                      0x00011be2 -[TCBlobDownloader start] + 2306
    27  TubeDownloader                      0x0000e3a6 -[DashboardViewController enableDownload:withType:] + 406
    28  TubeDownloader                      0x0000e06b -[DashboardViewController onVideoDidStart:] + 507
    29  Foundation                          0x02127049 __57-[NSNotificationCenter addObserver:selector:name:object:]_block_invoke + 40
    30  CoreFoundation                      0x02730f04 __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 20
    31  CoreFoundation                      0x02688efb _CFXNotificationPost + 2859
    32  Foundation                          0x0207c00b -[NSNotificationCenter postNotification:] + 121
    33  MediaPlayer                         0x002a9944 -[MPAVController _postPlaybackStateChangedNotificationWithOriginalState:newState:delayable:] + 546
    34  MediaPlayer                         0x002a9f19 -[MPAVController _setState:] + 324
    35  MediaPlayer                         0x0029b97d -[MPAVController play] + 365
    36  MediaPlayer                         0x002d3791 -[UIMovieView play] + 53
    37  MediaPlayer                         0x00278603 -[UIMoviePlayerController play] + 81
    38  QuickTime Plugin                    0x1252f032 applicationIsAdSheet + 4090
    39  Foundation                          0x0208a5ec __NSFireDelayedPerform + 372
    40  CoreFoundation                      0x02693ac6 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 22
    41  CoreFoundation                      0x026934ad __CFRunLoopDoTimer + 1181
    42  CoreFoundation                      0x0267b538 __CFRunLoopRun + 1816
    43  CoreFoundation                      0x0267a9d3 CFRunLoopRunSpecific + 467
    44  CoreFoundation                      0x0267a7eb CFRunLoopRunInMode + 123
    45  Foundation                          0x020b0e35 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 284
    46  Foundation                          0x0204cdc1 -[NSRunLoop(NSRunLoop) run] + 82
    47  TubeDownloader                      0x00011be2 -[TCBlobDownloader start] + 2306
    48  TubeDownloader                      0x0000e3a6 -[DashboardViewController enableDownload:withType:] + 406
    49  TubeDownloader                      0x0000e06b -[DashboardViewController onVideoDidStart:] + 507
    50  Foundation                          0x02127049 __57-[NSNotificationCenter addObserver:selector:name:object:]_block_invoke + 40
    51  CoreFoundation                      0x02730f04 __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 20
    52  CoreFoundation                      0x02688efb _CFXNotificationPost + 2859
    53  Foundation                          0x0207c00b -[NSNotificationCenter postNotification:] + 121
    54  MediaPlayer                         0x002a9944 -[MPAVController _postPlaybackStateChangedNotificationWithOriginalState:newState:delayable:] + 546
    55  MediaPlayer                         0x002a9f19 -[MPAVController _setState:] + 324
    56  MediaPlayer                         0x0029b97d -[MPAVController play] + 365
    57  MediaPlayer                         0x002d3791 -[UIMovieView play] + 53
    58  MediaPlayer                         0x00278603 -[UIMoviePlayerController play] + 81
    59  QuickTime Plugin                    0x1252f032 applicationIsAdSheet + 4090
    60  Foundation                          0x0208a5ec __NSFireDelayedPerform + 372
    61  CoreFoundation                      0x02693ac6 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 22
    62  CoreFoundation                      0x026934ad __CFRunLoopDoTimer + 1181
    63  CoreFoundation                      0x0267b538 __CFRunLoopRun + 1816
    64  CoreFoundation                      0x0267a9d3 CFRunLoopRunSpecific + 467
    65  CoreFoundation                      0x0267a7eb CFRunLoopRunInMode + 123
    66  Foundation                          0x020b0e35 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 284
    67  Foundation                          0x0204cdc1 -[NSRunLoop(NSRunLoop) run] + 82
    68  TubeDownloader                      0x00011be2 -[TCBlobDownloader start] + 2306
    69  TubeDownloader                      0x0000e3a6 -[DashboardViewController enableDownload:withType:] + 406
    70  TubeDownloader                      0x0000e06b -[DashboardViewController onVideoDidStart:] + 507
    71  Foundation                          0x02127049 __57-[NSNotificationCenter addObserver:selector:name:object:]_block_invoke + 40
    72  CoreFoundation                      0x02730f04 __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 20
    73  CoreFoundation                      0x02688efb _CFXNotificationPost + 2859
    74  Foundation                          0x0207c00b -[NSNotificationCenter postNotification:] + 121
    75  MediaPlayer                         0x002a9944 -[MPAVController _postPlaybackStateChangedNotificationWithOriginalState:newState:delayable:] + 546
    76  MediaPlayer                         0x002a9f19 -[MPAVController _setState:] + 324
    77  MediaPlayer                         0x0029b97d -[MPAVController play] + 365
    78  MediaPlayer                         0x002d3791 -[UIMovieView play] + 53
    79  MediaPlayer                         0x00278603 -[UIMoviePlayerController play] + 81
    80  QuickTime Plugin                    0x1252f032 applicationIsAdSheet + 4090
    81  Foundation                          0x0208a5ec __NSFireDelayedPerform + 372
    82  CoreFoundation                      0x02693ac6 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 22
    83  CoreFoundation                      0x026934ad __CFRunLoopDoTimer + 1181
    84  CoreFoundation                      0x0267b538 __CFRunLoopRun + 1816
    85  CoreFoundation                      0x0267a9d3 CFRunLoopRunSpecific + 467
    86  CoreFoundation                      0x0267a7eb CFRunLoopRunInMode + 123
    87  GraphicsServices                    0x037b45ee GSEventRunModal + 192
    88  GraphicsServices                    0x037b442b GSEventRun + 104
    89  UIKit                               0x01114f9b UIApplicationMain + 1225
    90  TubeDownloader                      0x0000f56d main + 141
    91  libdyld.dylib                       0x040f9701 start + 1

Sorry for the loooong log. I add this here for other people, who care about this issue

from tcblobdownload.

thibaultcha avatar thibaultcha commented on June 30, 2024

@purepure Wow, never saw this one. What version of iOS are you running on? How big is the file you are trying to download? How did you initialise your download?

from tcblobdownload.

purepure avatar purepure commented on June 30, 2024

I am using the latest version 7.1 and xcode 5.1.1. The file is small, about 15mb.
My setup is that:

NSString *customPath = [NSTemporaryDirectory() stringByAppendingPathComponent:@"test"];
TCBlobDownloader *downloader = [sharedManager startDownloadWithURL:videoUrl
                                                            customPath:customPath 
                                                           andDelegate:self];
[downloader start];

Just simple like that. I add download's delegate with a simple line of code NSLog() inside to monitor progress. The crash happened when the download finished

from tcblobdownload.

thibaultcha avatar thibaultcha commented on June 30, 2024

Does it work with the TCBlobDownloadExample project? With the same file? You can try by directly running it and copy/paste the file URL in the input field.

from tcblobdownload.

purepure avatar purepure commented on June 30, 2024

oh, I try to use your sample and here is the result: 1 file can be downloaded with yours and one is not. The error is that:

Error Domain=com.thibaultcha.tcblobdownload Code=2 "HTTP error code 416 (requested range not satisfiable) " UserInfo=0x9a49bb0 {httpStatus=416, NSLocalizedDescription=HTTP error code 416 (requested range not satisfiable) }

This error happend when I try to download a video from youtube. The direct url of that video can be access by browser (downloadable)

Maybe I get some mistake when integrate your project, but I dont think so. Because I can download a single file from youtube in my project by your libs. It crash when finished download process as I said before. Hope this help

from tcblobdownload.

thibaultcha avatar thibaultcha commented on June 30, 2024

A 416 would probably be related to this, which is also reported to happen on YouTube videos by @NasH5169.

Ok so let's clarify things, we have:

  • An occasional range exception in updateTransferRate
  • A 416 on some YouTube videos
  • A NSFileHandleOperationException in didReceivaData by the end of the download (for a YouTube file again?)

I never tried TCBlobDownload on YouTube actually, and I see a lot of people use it to download videos on it, as almost all these issues seem related to it (you're trying to download YouTube videos right?)

So I'll try to work on it when I'll have some time, but not before a few weeks, sorry :/ If you are willing to share which videos you want to download, that could help me reproduce the issues. Thanks.

from tcblobdownload.

purepure avatar purepure commented on June 30, 2024

No problem, your work is very good. I will wait for next cool release of this library.

Actually I am trying to download video from youtube and it's cool if I can use all of your lib's features.
You can try any video on youtube, it happened very often. Btw, this is my video:
https://www.youtube.com/watch?v=pyhx21-XgKE
https://www.youtube.com/watch?v=HdNc8TBg5Vc

Sorry for bother you.
BR

from tcblobdownload.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.