i-rinat / freshplayerplugin

ppapi2npapi compatibility layer
MIT License
727 stars 52 forks source link

crunchyroll problems again! #123

Closed toddfraser88 closed 9 years ago

toddfraser88 commented 9 years ago

I'm having trouble with crunchyroll again.

It appears to load the plugin properly, but the video will not play, just sits there. other sites play just fine.

I'm not sure if it's the plugin this time though, I've rolled back to previous versions, and the problem is still there.

any help?

toddfraser88 commented 9 years ago

seems to work fine in chromium, but not firefox, weird.

any help?

i-rinat commented 9 years ago

Random videos I checked works fine, I can't reproduce. Now I've checked again, and they still work. Can you try to launch Firefox in private mode (firefox -private) and try again?

toddfraser88 commented 9 years ago

I tried firefox in private mode - no change for crunchyroll (it also broke my profile and I had to recover it)

I have some output from the console from just after the ad finished and just before when the video was supposed to play.

[fresh 3304] [PPB] {fake} ppb_audio_input_enumerate_devices [fresh 3304] [PPB] {fake} ppb_audio_input_enumerate_devices [fresh 3304] [PPB] {fake} ppb_audio_input_enumerate_devices [fresh 3304] [PPB] {fake} ppb_url_loader_grant_universal_access loader=826 [fresh 3304] [PPB] {fake} ppb_url_loader_grant_universal_access loader=828 [fresh 3304] [PPB] {fake} ppb_audio_input_enumerate_devices [fresh] [warning] handle_tcp_connect_stage2, evdns returned code 66, count = 0 (cp150757.edgefcs.net:1935) [fresh] [warning] ppb_tcp_socket_get_local_address, not connected [fresh] [warning] ppb_tcp_socket_get_remote_address, not connected [fresh] [warning] handle_tcp_connect_stage2, evdns returned code 66, count = 0 (cp150757.edgefcs.net:443) [fresh] [warning] ppb_tcp_socket_get_local_address, not connected [fresh] [warning] ppb_tcp_socket_get_remote_address, not connected [fresh] [warning] handle_tcp_connect_stage2, evdns returned code 66, count = 0 (cp150757.edgefcs.net:80) [fresh] [warning] ppb_tcp_socket_get_local_address, not connected [fresh] [warning] ppb_tcp_socket_get_remote_address, not connected console.error: hola_firefox_ext: 2015-01-16 18:15:14.321 ERROR: be_tab_unblocker: 499 http://flash.quantserve.com/quant.swf?title=chromeless&flashPlayer=LNX%2016%2C0%2C0%2C235&lc=%5F1421432113822%5F5379&use%5Fexplicit%5Fconfig=1&config%5Furl=http%3A%2F%2Fwww%2Ecrunchyroll%2Ecom%2Fxml%2F%3Freq%3DRpcApiVideoPlayer%5FGetChromelessConfig&videoID=1&labels=chromeless&playOnly=true&qcv=2%2E1%2E1&publisherID=p%2D2c9Xi7EeE3Hx2&media=widget&pageURL=http%3A%2F%2Fwww%2Ecrunchyroll%2Ecom%2Faldnoahzero%2Fepisode%2D12%2Dchildhoods%2Dend%2D656679&fpf=&url=http%3A%2F%2Fstatic%2Eak%2Ecrunchyroll%2Ecom%2Fflash%2F20141106111727%2E95dffd358a0c758f7dd74a2148a7f8fb%2FStandardVideoPlayer%2Eswf&server=http%3A%2F%2Fflash%2Equantserve%2Ecom error NS_ERROR_INVALID_CONTENT_ENCODING 1421432116107 GMPInstallManager.simpleCheckAndInstall INFO Last check was: 227 seconds ago, minimum seconds: 86400 1421432116107 GMPInstallManager.simpleCheckAndInstall INFO Will not check for updates. [fresh 3304] [PPB] {fake} ppb_audio_input_enumerate_devices [fresh 3304] [PPB] {fake} ppb_audio_input_enumerate_devices [fresh 3304] [PPB] {fake} ppb_audio_input_enumerate_devices

not sure if it helps.

toddfraser88 commented 9 years ago

can you try this in an ubuntu virtualbox VM? thats what I'm using at the moment.

i-rinat commented 9 years ago

Although this issue looks different, give recent version a try. It has a fix for network code, about network name resolution.

Also, does ping cp150757.edgefcs.net resolve name to an IP address? Log mentions proxy addon. Can you try without it?

i-rinat commented 9 years ago

BTW, which version of Ubuntu do you use? Is it 32 bit or 64 bit?

toddfraser88 commented 9 years ago

I'm using ubuntu 64-bit,

ping resolved to an IP Address, but IP Address did not respond to ping

$ ping cp150757.edgefcs.net PING a156.vi5g5.akafms.net (61.9.225.172) 56(84) bytes of data. ^C --- a156.vi5g5.akafms.net ping statistics --- 58 packets transmitted, 0 received, 100% packet loss, time 57199ms

newer version of fresh player had same result.

[fresh 4186] [PPB] {fake} ppb_url_loader_grant_universal_access loader=2153 [fresh] [warning] handle_tcp_connect_stage2, evdns returned code 66, count = 0 (cp150757.edgefcs.net:1935) [fresh] [warning] ppb_tcp_socket_get_local_address, not connected [fresh] [warning] ppb_tcp_socket_get_remote_address, not connected [fresh] [warning] handle_tcp_connect_stage2, evdns returned code 66, count = 0 (cp150757.edgefcs.net:443) [fresh] [warning] ppb_tcp_socket_get_local_address, not connected [fresh] [warning] ppb_tcp_socket_get_remote_address, not connected [fresh] [warning] handle_tcp_connect_stage2, evdns returned code 66, count = 0 (cp150757.edgefcs.net:80) [fresh] [warning] ppb_tcp_socket_get_local_address, not connected [fresh] [warning] ppb_tcp_socket_get_remote_address, not connected [fresh 4186] [PPB] {fake} ppb_audio_input_enumerate_devices 1421643972207 GMPInstallManager.simpleCheckAndInstall INFO Last check was: 35611 seconds ago, minimum seconds: 86400 1421643972207 GMPInstallManager.simpleCheckAndInstall INFO Will not check for updates. [fresh 4186] [PPB] {fake} ppb_audio_input_enumerate_devices [fresh 4186] [PPB] {fake} ppb_audio_input_enumerate_devices [fresh 4186] [PPB] {fake} ppb_url_loader_grant_universal_access loader=2167 [fresh 4186] [PPB] {fake} ppb_audio_input_enumerate_devices [fresh 4186] [PPB] {fake} ppb_audio_input_enumerate_devices [fresh 4186] [PPB] {fake} ppb_audio_input_enumerate_devices [fresh 4186] [PPB] {fake} ppb_audio_input_enumerate_devices [fresh 4186] [PPB] {fake} ppb_audio_input_enumerate_devices

toddfraser88 commented 9 years ago

Just tried on a fresh Kubuntu 64-bit installation. same result.

toddfraser88 commented 9 years ago

I think i disovered the source of the problem,

my router, a mikrotik RB951G-2HnD, seems to be blocking just the crunchyroll player.

not sure why it would be doing that though, or why other sites play just fine.

is there anyway I could diagnose this?

i-rinat commented 9 years ago

I tried Ubuntu 14.04 on a real hardware, Ubuntu 14.04 in a virtual machine, but with no success. I mean, crunchyroll works. But there is one notable difference. I don't see advertisements for some reason. All blocker scripts are disabled in my browser, but I see only some flashes of "Advertisement: 0" strings and then it plays video. Probably that was the cause.

Error 66 from libevent's evdns is a generic internal error, something that should never happen. It could be some unsupported DNS reply format, or library bug, or even memory corruption, where some part of program writes where it shouldn't write and tampers data.

BTW, which libevent version do you have?

toddfraser88 commented 9 years ago

libevent 2.0.5

but yeah I think it might be my router doing it, I switched the VM to my mum and dads network and it worked fine.

It's weird though, because it's working fine outside the VM, as well as inside the VM if I use cromium.

toddfraser88 commented 9 years ago

I can confirm it's Mikrotik RouterOS thats causing this, I setup a simple RouterOS gateway VM on my Mum and Dads network and the problem was reproduced.

Do you want to try this for yourself?

routeros here - http://download2.mikrotik.com/routeros/6.25/mikrotik-6.25.iso

i-rinat commented 9 years ago

routeros here

I tried it and indeed reproduced the same issue as you had. After some digging I found interesting hack which is used nowadays to defend against DNS poisoning attacks. Clients send queries in randomized case, i.e. something like GooGlE.cOm instead of plain google.com. Correct DNS implementation maintains case in response, but actual lookup is performed in a case-insensitive manner. Clients check whenever returned name is the same that was requested. Here comes the main part. Mikrotik responses are all lowercased, and thus don't match with requests. That's considered as an error, and connection fails at name resolution time.

i-rinat commented 9 years ago

Added randomize_dns_case config option in 93e0a99de8c9b778a47931c4dfb307f4e250f7cb.

Add randomize_dns_case = 0 line to ~/.config/freshwrapper.conf file. That will disable mixed case trick, and should solve the issue.

toddfraser88 commented 9 years ago

It works! you are awesome!! Thanks very much!!!