danog / MadelineProto

Async PHP client API for the telegram MTProto protocol
https://docs.madelineproto.xyz
GNU Affero General Public License v3.0
2.84k stars 660 forks source link

Socket error #398

Closed alimhv closed 5 years ago

alimhv commented 6 years ago

I get this error when to connect my session \danog\MadelineProto\Exception: Connection: couldn't connect to socket. in /var/www/html/myphp/MadelineProtoBot/MadelineProto/src/danog/MadelineProto/ Connection.php:117 TL Trace (YOU ABSOLUTELY MUST READ THE TEXT BELOW): my protocol is tcp_full

danog commented 6 years ago

Try using http or tcp_abridged. Also I would need the full logs to debug properly.

alimhv commented 6 years ago

I try with http or tcp_abridged but not working again

this full error @danog please help me


TL:                 Parsing TL_mtproto_v1.json...
TL:                 Parsing TL_telegram_v73.tl...
TL:                 Parsing TL_secret.tl...
TL:                 Parsing TL_calls.tl...
TL:                 CRC32 mismatch (e8201c08, dbf948c1) for decryptedDataBlock#dbf948c1 random_id:long random_bytes:string flags:# voice_call_id:flags.2?int128 in_seq_no:flags.4?int out_seq_no:flags.4?int recent_received_mask:flags.5?int proto:flags.3?int extra:flags.1?string raw_data:flags.0?string = DecryptedDataBlock;
TL:                 CRC32 mismatch (d20a6f5c, cc0d0e76) for simpleDataBlock#cc0d0e76 random_id:long random_bytes:string raw_data:string = DecryptedDataBlock;
TL:                 Parsing TL_botAPI.tl...
DataCenter:         Connecting to DC 2 (main server, ipv4, tcp_full)...
MTProto:            Generating permanent authorization key for DC 2...
AuthKeyHandler:     Requesting pq...
ResponseHandler:    Trying to assign a response of type ResPQ to its request...
ResponseHandler:    Does the request of return type ResPQ match?
ResponseHandler:    Yes
AuthKeyHandler:     Factorization 1906496143981155709 = 1249340969 * 1526001461
RSA:                Encrypting with rsa key...
AuthKeyHandler:     Starting Diffie Hellman key exchange
ResponseHandler:    Trying to assign a response of type Server_DH_Params to its request...
ResponseHandler:    Does the request of return type Server_DH_Params match?
ResponseHandler:    Yes
AuthKeyHandler:     Server-client time delta = 0.0 s
AuthKeyHandler:     Executing p/g checks (1/2)...
AuthKeyHandler:     Executing p/g checks (2/2)...
AuthKeyHandler:     Executing g check...
AuthKeyHandler:     Executing g_a check (1/2)...
AuthKeyHandler:     Executing g_a check (2/2)...
AuthKeyHandler:     Generating b...
AuthKeyHandler:     Generating g_b...
AuthKeyHandler:     Executing g_a check (1/2)...
AuthKeyHandler:     Executing g_a check (2/2)...
AuthKeyHandler:     Executing g_b check...
AuthKeyHandler:     Preparing client_DH_inner_data...
AuthKeyHandler:     Executing set_client_DH_params...
ResponseHandler:    Trying to assign a response of type Set_client_DH_params_answer to its request...
ResponseHandler:    Does the request of return type Set_client_DH_params_answer match?
ResponseHandler:    Yes
AuthKeyHandler:     Generating authorization key...
AuthKeyHandler:     Diffie Hellman key exchange processed successfully!
AuthKeyHandler:     Auth key generated
MTProto:            Generating temporary authorization key for DC 2...
AuthKeyHandler:     Requesting pq...
ResponseHandler:    Trying to assign a response of type ResPQ to its request...
ResponseHandler:    Does the request of return type ResPQ match?
ResponseHandler:    Yes
AuthKeyHandler:     Factorization 2181592505171129591 = 1456533271 * 1497797921
RSA:                Encrypting with rsa key...
AuthKeyHandler:     Starting Diffie Hellman key exchange
ResponseHandler:    Trying to assign a response of type Server_DH_Params to its request...
ResponseHandler:    Does the request of return type Server_DH_Params match?
ResponseHandler:    Yes
AuthKeyHandler:     Server-client time delta = -1.0 s
AuthKeyHandler:     Executing p/g checks (1/2)...
AuthKeyHandler:     Executing p/g checks (2/2)...
AuthKeyHandler:     Executing g check...
AuthKeyHandler:     Executing g_a check (1/2)...
AuthKeyHandler:     Executing g_a check (2/2)...
AuthKeyHandler:     Generating b...
AuthKeyHandler:     Generating g_b...
AuthKeyHandler:     Executing g_a check (1/2)...
AuthKeyHandler:     Executing g_a check (2/2)...
AuthKeyHandler:     Executing g_b check...
AuthKeyHandler:     Preparing client_DH_inner_data...
AuthKeyHandler:     Executing set_client_DH_params...
ResponseHandler:    Trying to assign a response of type Set_client_DH_params_answer to its request...
ResponseHandler:    Does the request of return type Set_client_DH_params_answer match?
ResponseHandler:    Yes
AuthKeyHandler:     Generating authorization key...
AuthKeyHandler:     Diffie Hellman key exchange processed successfully!
AuthKeyHandler:     Auth key generated
AuthKeyHandler:     Binding authorization keys...
MsgIdHandler:       WARNING: Given message id (6545297441282735105) is bigger than or equal to the current limit (6545297441282667521). Consider syncing your date.
AuthKeyHandler:     Successfully binded temporary and permanent authorization keys.
MTProto:            Writing client info (also executing help.getConfig)...
DataCenter:         Connecting to DC 1 (main server, ipv4, tcp_full)...
Exception:          Connection: couldn't connect to socket. in Connection.php:122
\danog\MadelineProto\Exception: Connection: couldn't connect to socket. in /var/www/html/myphp/MadelineProtoBot/MadelineProto/src/danog/MadelineProto/Connection.php:122
TL Trace (YOU ABSOLUTELY MUST READ THE TEXT BELOW):

Serializable.php(35):   ___construct("\\Socket",[],"149.154.175.50",443,"tcp_full",2,false)
DataCenter.php(97):     __construct("\\Socket",[],"149.154.175.50",443,"tcp_full",2,false)
MTProto.php(640):       dc_connect(1)
MTProto.php(802):       connect_to_all_dcs()
MTProto.php(773):       parse_dc_options([{"_":"dcOption","ipv6":false,"media_only":false,"tcpo_only":false,"cdn":false,"static":false,"id":1,"ip_address":"149.154.175.50","port":443},{"_":"dcOption","ipv6":true,"media_only":false,"tcpo_only":false,"cdn":false,"static":false,"id":1,"ip_address":"2001:0b28:f23d:f001:0000:0000:0000:000a","port":443},{"_":"dcOption","ipv6":false,"media_only":false,"tcpo_only":false,"cdn":false,"static":false,"id":2,"ip_address":"149.154.167.50","port":443},{"_":"dcOption","ipv6":false,"media_only":false,"tcpo_only":false,"cdn":false,"static":true,"id":2,"ip_address":"149.154.167.51","port":443},{"_":"dcOption","ipv6":true,"media_only":false,"tcpo_only":false,"cdn":false,"static":false,"id":2,"ip_address":"2001:067c:04e8:f002:0000:0000:0000:000a","port":443},{"_":"dcOption","ipv6":false,"media_only":false,"tcpo_only":false,"cdn":false,"static":false,"id":3,"ip_address":"149.154.175.100","port":443},{"_":"dcOption","ipv6":true,"media_only":false,"tcpo_only":false,"cdn":false,"static":false,"id":3,"ip_address":"2001:0b28:f23d:f003:0000:0000:0000:000a","port":443},{"_":"dcOption","ipv6":false,"media_only":false,"tcpo_only":false,"cdn":false,"static":false,"id":4,"ip_address":"149.154.167.92","port":443},{"_":"dcOption","ipv6":true,"media_only":false,"tcpo_only":false,"cdn":false,"static":false,"id":4,"ip_address":"2001:067c:04e8:f004:0000:0000:0000:000a","port":443},{"_":"dcOption","ipv6":false,"media_only":true,"tcpo_only":false,"cdn":false,"static":false,"id":4,"ip_address":"149.154.165.120","port":443},{"_":"dcOption","ipv6":false,"media_only":false,"tcpo_only":false,"cdn":false,"static":false,"id":5,"ip_address":"91.108.56.125","port":443},{"_":"dcOption","ipv6":true,"media_only":false,"tcpo_only":false,"cdn":false,"static":false,"id":5,"ip_address":"2001:0b28:f23f:f005:0000:0000:0000:000a","port":443}])
MTProto.php(751):       parse_config()
MTProto.php(676):       get_config({"_":"config","phonecalls_enabled":false,"default_p2p_contacts":false,"date":1523945816,"expires":1523949426,"test_mode":false,"this_dc":2,"dc_options":[{"_":"dcOption","ipv6":false,"media_only":false,"tcpo_only":false,"cdn":false,"static":false,"id":1,"ip_address":"149.154.175.50","port":443},{"_":"dcOption","ipv6":true,"media_only":false,"tcpo_only":false,"cdn":false,"static":false,"id":1,"ip_address":"2001:0b28:f23d:f001:0000:0000:0000:000a","port":443},{"_":"dcOption","ipv6":false,"media_only":false,"tcpo_only":false,"cdn":false,"static":false,"id":2,"ip_address":"149.154.167.50","port":443},{"_":"dcOption","ipv6":false,"media_only":false,"tcpo_only":false,"cdn":false,"static":true,"id":2,"ip_address":"149.154.167.51","port":443},{"_":"dcOption","ipv6":true,"media_only":false,"tcpo_only":false,"cdn":false,"static":false,"id":2,"ip_address":"2001:067c:04e8:f002:0000:0000:0000:000a","port":443},{"_":"dcOption","ipv6":false,"media_only":false,"tcpo_only":false,"cdn":false,"static":false,"id":3,"ip_address":"149.154.175.100","port":443},{"_":"dcOption","ipv6":true,"media_only":false,"tcpo_only":false,"cdn":false,"static":false,"id":3,"ip_address":"2001:0b28:f23d:f003:0000:0000:0000:000a","port":443},{"_":"dcOption","ipv6":false,"media_only":false,"tcpo_only":false,"cdn":false,"static":false,"id":4,"ip_address":"149.154.167.92","port":443},{"_":"dcOption","ipv6":true,"media_only":false,"tcpo_only":false,"cdn":false,"static":false,"id":4,"ip_address":"2001:067c:04e8:f004:0000:0000:0000:000a","port":443},{"_":"dcOption","ipv6":false,"media_only":true,"tcpo_only":false,"cdn":false,"static":false,"id":4,"ip_address":"149.154.165.120","port":443},{"_":"dcOption","ipv6":false,"media_only":false,"tcpo_only":false,"cdn":false,"static":false,"id":5,"ip_address":"91.108.56.125","port":443},{"_":"dcOption","ipv6":true,"media_only":false,"tcpo_only":false,"cdn":false,"static":false,"id":5,"ip_address":"2001:0b28:f23f:f005:0000:0000:0000:000a","port":443}],"chat_size_max":200,"megagroup_size_max":100000,"forwarded_count_max":100,"online_update_period_ms":120000,"offline_blur_timeout_ms":5000,"offline_idle_timeout_ms":30000,"online_cloud_timeout_ms":300000,"notify_cloud_delay_ms":30000,"notify_default_delay_ms":1500,"chat_big_size":10,"push_chat_period_ms":60000,"push_chat_limit":2,"saved_gifs_limit":200,"edit_time_limit":172800,"rating_e_decay":2419200,"stickers_recent_limit":30,"stickers_faved_limit":5,"channels_read_media_period":604800,"pinned_dialogs_count_max":5,"call_receive_timeout_ms":20000,"call_ring_timeout_ms":90000,"call_connect_timeout_ms":30000,"call_packet_timeout_ms":10000,"me_url_prefix":"https:\/\/t.me\/","disabled_features":[]})
MTProto.php(642):       init_authorization()
MTProto.php(241):       connect_to_all_dcs()````
danog commented 6 years ago

Looks like your ISP has blocked telegram. Try running from another server.

terrasoff commented 6 years ago

I've similar issue. Using last master version. Sometimes it works well but after some cases it falls down to endless loop

{"log":"\u001b[33;1mAPI:            \u0009Serializing MadelineProto...\u001b[0m\r\n","stream":"stdout","time":"2018-05-14T19:06:31.824826258Z"}
{"log":"\u001b[33;1mSerialization:  \u0009Waiting for exclusive lock of serialization lockfile...\u001b[0m\r\n","stream":"stdout","time":"2018-05-14T19:06:31.824831175Z"}
{"log":"\u001b[33;1mSerialization:  \u0009Lock acquired, serializing\u001b[0m\r\n","stream":"stdout","time":"2018-05-14T19:06:31.82500757Z"}
{"log":"\u001b[37;2mCallHandler:    \u0009Calling method (try number 1 for auth.checkPhone)...\u001b[0m\r\n","stream":"stdout","time":"2018-05-14T19:06:31.841345234Z"}
{"log":"\u001b[37;2mMessageHandler: \u0009Sending msg_container as encrypted message to DC 2\u001b[0m\r\n","stream":"stdout","time":"2018-05-14T19:06:31.84189752Z"}
{"log":"\u001b[37;2mMessageHandler: \u0009Inside of msg_container, sending auth.checkPhone as encrypted message to DC 2\u001b[0m\r\n","stream":"stdout","time":"2018-05-14T19:06:31.841914437Z"}
{"log":"\u001b[37;2mMessageHandler: \u0009Inside of msg_container, sending msgs_ack as encrypted message to DC 2\u001b[0m\r\n","stream":"stdout","time":"2018-05-14T19:06:31.841920195Z"}
{"log":"\u001b[37;2mCallHandler:    \u0009Getting response (try number 1 for auth.checkPhone)...\u001b[0m\r\n","stream":"stdout","time":"2018-05-14T19:06:31.847278986Z"}
{"log":"\u001b[97;2;41mCallHandler:    \u0009An error getting response of method auth.checkPhone: Nothing in the socket! in Socket on line 125. Retrying...\u001b[0m\r\n","stream":"stdout","time":"2018-05-14T19:06:31.98338212Z"}
{"log":"\u001b[37;2mConnection:     \u0009Reopening...\u001b[0m\r\n","stream":"stdout","time":"2018-05-14T19:06:31.98341734Z"}
{"log":"\u001b[37;2mCallHandler:    \u0009Getting response (try number 2 for auth.checkPhone)...\u001b[0m\r\n","stream":"stdout","time":"2018-05-14T19:06:31.983422628Z"}
{"log":"\u001b[33;1mMessageHandler: \u0009Trying to read from closed socket, sending initial ping\u001b[0m\r\n","stream":"stdout","time":"2018-05-14T19:06:31.983493079Z"}
{"log":"\u001b[37;2mCallHandler:    \u0009Calling method (try number 1 for ping)...\u001b[0m\r\n","stream":"stdout","time":"2018-05-14T19:06:31.983718412Z"}
{"log":"\u001b[37;2mMessageHandler: \u0009Sending msg_container as encrypted message to DC 2\u001b[0m\r\n","stream":"stdout","time":"2018-05-14T19:06:31.984323357Z"}
{"log":"\u001b[37;2mMessageHandler: \u0009Inside of msg_container, sending ping as encrypted message to DC 2\u001b[0m\r\n","stream":"stdout","time":"2018-05-14T19:06:31.984338134Z"}
{"log":"\u001b[37;2mMessageHandler: \u0009Inside of msg_container, sending msgs_ack as encrypted message to DC 2\u001b[0m\r\n","stream":"stdout","time":"2018-05-14T19:06:31.984395422Z"}
{"log":"\u001b[37;2mCallHandler:    \u0009Getting response (try number 1 for ping)...\u001b[0m\r\n","stream":"stdout","time":"2018-05-14T19:06:32.123960084Z"}
{"log":"\u001b[37;2mResponseHandler: \u0009Received msg_container from DC 2\u001b[0m\r\n","stream":"stdout","time":"2018-05-14T19:06:32.4452806Z"}
{"log":"\u001b[37;2mResponseHandler: \u0009Inside of container, received new_session_created from DC 2\u001b[0m\r\n","stream":"stdout","time":"2018-05-14T19:06:32.445346127Z"}
{"log":"\u001b[97;2;41mMsgIdHandler:   \u0009WARNING: Given message id (6555515066232585217) is bigger than or equal to the current limit (6555515066232583169). Consider syncing your date.\u001b[0m\r\n","stream":"stdout","time":"2018-05-14T19:06:32.445481487Z"}
{"log":"\u001b[37;2mResponseHandler: \u0009Inside of container, received pong from DC 2\u001b[0m\r\n","stream":"stdout","time":"2018-05-14T19:06:32.445490176Z"}
{"log":"\u001b[37;2mCallHandler:    \u0009Getting response (try number 2 for ping)...\u001b[0m\r\n","stream":"stdout","time":"2018-05-14T19:06:32.445494989Z"}
{"log":"\u001b[37;2mCallHandler:    \u0009Got response for method ping @ try 1 (response try 2)\u001b[0m\r\n","stream":"stdout","time":"2018-05-14T19:06:32.445499804Z"}
{"log":"\u001b[97;2;41mCallHandler:    \u0009An error getting response of method auth.checkPhone: Nothing in the socket! in Socket on line 125. Retrying...\u001b[0m\r\n","stream":"stdout","time":"2018-05-14T19:06:56.467540503Z"}
{"log":"\u001b[37;2mCallHandler:    \u0009Getting response (try number 3 for auth.checkPhone)...\u001b[0m\r\n","stream":"stdout","time":"2018-05-14T19:06:56.467595138Z"}
{"log":"\u001b[97;2;41mCallHandler:    \u0009An error getting response of method auth.checkPhone: Nothing in the socket! in Socket on line 125. Retrying...\u001b[0m\r\n","stream":"stdout","time":"2018-05-14T19:07:20.491185901Z"}
{"log":"\u001b[37;2mCallHandler:    \u0009Getting response (try number 4 for auth.checkPhone)...\u001b[0m\r\n","stream":"stdout","time":"2018-05-14T19:07:20.49124168Z"}
...

Maybe it's about lost connection to socket. Hard to say. @danog do you have thoughts?

m4h4n commented 6 years ago

hi i have same problem by this message :

PHP Fatal error: Uncaught danog\MadelineProto\NothingInTheSocketException: Nothing in the socket! in phar:///mt/madeline.phar/vendor/danog/madelineproto/src/Socket.php:252 Stack trace:

0 phar:///mt/madeline.phar/vendor/danog/madelineproto/src/danog/MadelineProto/Server/Proxy.php(44): SocketBase->read(64)

1 phar:///mt/madeline.phar/vendor/danog/madelineproto/src/danog/MadelineProto/Server.php(68): danog\MadelineProto\Server\Proxy->loop()

2 phar:///mt/madeline.phar/vendor/danog/madelineproto/src/danog/MadelineProto/Server.php(53): danog\MadelineProto\Server->handle(Object(SocketBase))

3 /mt/mtproxyd(34): danog\MadelineProto\Server->start()

4 {main}

thrown in phar:///mt/madeline.phar/vendor/danog/madelineproto/src/Socket.php on line 252

danog commented 5 years ago

Will be fixed in 4.0

danog commented 5 years ago

Fixed