Hi All, During testing we are experiencing some different issues with the smsbox when using an sms-service and a keyword to return contents of a URL. See end of mail for trace and a stack trace, the sms box behaviour varies, it throws an access violation in the debugger and panics when run outside debugger.
Scenario: fakesmsc - bearerbox - smsbox - IIS webserver Note: The IIS webserver has a limit of 10 connections on it. >From debugging, it appears to be a problem in the handle_transaction function. It occurs when the connection is broken with the WebServer. Here are some snippets of the handle_transaction function, I have check CVS and it appears to be the latest source of gwlib/http.c. I left out some code for brevity (marked with ...): static void handle_transaction(Connection *conn, void *data) ... while (trans->state != transaction_done) { switch (trans->state) { case connecting: ..... if ((rc = send_request(trans)) == 0) { trans->state = reading_status; conn_register(trans->conn, client_fdset, handle_transaction, trans); } else { list_produce(trans->caller, trans); /*** WHY DOES IT STAY IN WHILE LOOP ***/ } break; .... } } If send_request fails why does the driver put the transaction onto the caller list and stay in the while loop processing the transaction? This appears to me to be a race condition and it explains the different behaviours I get with the SMS box. I would suggest that if send_request fails then "goto error;" is called as this puts the transaction onto the caller list and exits the handle_transaction function. This has fixed the problem for me. What do others think? Comments are welcome? Kindest Regards, Michael Mulcahy. Debug: 2003-03-28 17:56:15 [10] DEBUG: Get info about connecting socket 2003-03-28 17:56:15 [10] DEBUG: HTTP: Sending request: 2003-03-28 17:56:15 [10] DEBUG: Octet string at 00F4DD20: 2003-03-28 17:56:15 [10] DEBUG: len: 86 2003-03-28 17:56:15 [10] DEBUG: size: 87 2003-03-28 17:56:15 [10] DEBUG: immutable: 0 2003-03-28 17:56:15 [10] DEBUG: data: 47 45 54 20 68 74 74 70 GET http 2003-03-28 17:56:15 [10] DEBUG: data: 3a 2f 2f 6b 69 65 6c 79 ://kiely 2003-03-28 17:56:15 [10] DEBUG: data: 2f 74 65 73 74 5f 77 77 /test_ww 2003-03-28 17:56:15 [10] DEBUG: data: 2e 61 73 70 20 48 54 54 .asp HTT 2003-03-28 17:56:15 [10] DEBUG: data: 50 2f 31 2e 31 0d 0a 48 P/1.1..H 2003-03-28 17:56:15 [10] DEBUG: data: 6f 73 74 3a 20 6b 69 65 ost: kie 2003-03-28 17:56:15 [10] DEBUG: data: 6c 79 0d 0a 55 73 65 72 ly.. 2003-03-28 17:56:15 [10] DEBUG: Octet string dump ends. 2003-03-28 17:56:15 [10] ERROR: Error writing 86 octets to fd 3016: 2003-03-28 17:56:15 [10] ERROR: Error writing 86 octets to fd 3016: 2003-03-28 17:56:15 [10] ERROR: Couldn't send request to <http://kiely/test_ww.asp> 2003-03-28 17:56:15 [5] DEBUG: message length 49, sending 1 messages 2003-03-28 17:56:15 [10] PANIC: Internal error: Invalid HTTPServer state. Stack Trace: conn_get_connect_result(Connection * 0x00000000) line 534 + 3 bytes handle_transaction(Connection * 0x00fb7750, void * 0x01c7b210) line 1134 + 15 bytes poll_callback(int 0x00003d1c, int 0x00000004, void * 0x00fb7750) line 863 + 19 bytes poller(void * 0x01c79640) line 324 + 55 bytes ANAM Wireless Internet Solutions http://www.anam.com mailto:[EMAIL PROTECTED] +353 1 284 7555 Castle Yard, Saint Patrick's Road, Dalkey, County Dublin, Ireland