* bug#19799: Tangentally related to eww-mode Invalid Date bug just filed
@ 2015-02-07 5:15 Matthew Carter
2015-02-08 19:28 ` Paul Eggert
0 siblings, 1 reply; 7+ messages in thread
From: Matthew Carter @ 2015-02-07 5:15 UTC (permalink / raw)
To: 19799
Excuse the new thread (just signed up to bug-gnu-emacs list, whereas I
filed the original bug via the report function).
I've pinpointed the eww-mode bug to an issue with #'date-to-time in
time-date.el.
It appears to be a manifestation of the Year 2038 problem and caused by
the fact that the cookie being sent has an expiration date beyond year
2038.
As it turns out, I am unable to reproduce the issue on a 64-bit machine
(it only happens on my 32-bit ones).
Would it be better to rework #'date-to-time to handle future dates in a
more graceful manner on 32-bit machines, or to have eww-mode ignore
triggers that cause it to parse dates it cannot handle?
--
Matthew Carter (m@ahungry.com)
http://ahungry.com
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#19799: Tangentally related to eww-mode Invalid Date bug just filed
2015-02-07 5:15 bug#19799: Tangentally related to eww-mode Invalid Date bug just filed Matthew Carter
@ 2015-02-08 19:28 ` Paul Eggert
2015-02-08 20:25 ` Matthew Carter
0 siblings, 1 reply; 7+ messages in thread
From: Paul Eggert @ 2015-02-08 19:28 UTC (permalink / raw)
To: Matthew Carter; +Cc: 19799
> Would it be better to rework #'date-to-time to handle future dates in a
> more graceful manner on 32-bit machines, or to have eww-mode ignore
> triggers that cause it to parse dates it cannot handle?
There is a variant of date-to-time that refuses to throw an error on
out-of-range dates, namely safe-date-to-time. But I'm still puzzled as to why
you're getting this error. date-to-time is supposed to throw a "Specified time
is not representable" for out-of-range dates, but for you it's throwing some
other error. Can you debug why that is happening?
What happens when you run the following in your *scratch* buffer?
(date-to-time "Mon, 06 Mar 2130 20:55:03 GMT")
On my platform (Fedora 21 x86) if I type C-j after that, the debugger is entered
with this backtrace:
Debugger entered--Lisp error: (error . "Specified time is not representable")
signal(error "Specified time is not representable")
apply(signal (error "Specified time is not representable"))
(if (equal err overflow-error) (apply (quote signal) err) (condition-case err$
(let ((overflow-error (quote (error "Specified time is not representable"))))$
(condition-case err (apply (quote encode-time) (parse-time-string date)) (err$
date-to-time("Mon, 06 Mar 2130 20:55:03 GMT")
...
What happens on your platform?
Also, what is your platform? What does (emacs-version) return, for starters?
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#19799: Tangentally related to eww-mode Invalid Date bug just filed
2015-02-08 19:28 ` Paul Eggert
@ 2015-02-08 20:25 ` Matthew Carter
2015-02-09 2:45 ` bug#19798: 24.4; eww-mode error in process sentinel 'Invalid date' when receiving a valid date Paul Eggert
2015-02-09 2:50 ` bug#19799: Tangentally related to eww-mode Invalid Date bug just filed Paul Eggert
0 siblings, 2 replies; 7+ messages in thread
From: Matthew Carter @ 2015-02-08 20:25 UTC (permalink / raw)
To: Paul Eggert; +Cc: 19799
Paul Eggert <eggert@cs.ucla.edu> writes:
>> Would it be better to rework #'date-to-time to handle future dates in a
>> more graceful manner on 32-bit machines, or to have eww-mode ignore
>> triggers that cause it to parse dates it cannot handle?
>
> There is a variant of date-to-time that refuses to throw an error on
> out-of-range dates, namely safe-date-to-time. But I'm still puzzled
> as to why you're getting this error. date-to-time is supposed to
> throw a "Specified time is not representable" for out-of-range dates,
> but for you it's throwing some other error. Can you debug why that is
> happening?
>
> What happens when you run the following in your *scratch* buffer?
>
> (date-to-time "Mon, 06 Mar 2130 20:55:03 GMT")
>
> On my platform (Fedora 21 x86) if I type C-j after that, the debugger
> is entered with this backtrace:
>
> Debugger entered--Lisp error: (error . "Specified time is not representable")
> signal(error "Specified time is not representable")
> apply(signal (error "Specified time is not representable"))
> (if (equal err overflow-error) (apply (quote signal) err) (condition-case err$
> (let ((overflow-error (quote (error "Specified time is not representable"))))$
> (condition-case err (apply (quote encode-time) (parse-time-string date)) (err$
> date-to-time("Mon, 06 Mar 2130 20:55:03 GMT")
> ...
>
> What happens on your platform?
>
> Also, what is your platform? What does (emacs-version) return, for starters?
>
This is on an i686 machine - the eval returns:
Debugger entered--Lisp error: (error "Invalid date: Mon, 06 Mar 2130 20:55:03 GMT")
signal(error ("Invalid date: Mon, 06 Mar 2130 20:55:03 GMT"))
error("Invalid date: %s" "Mon, 06 Mar 2130 20:55:03 GMT")
byte-code("\300\301\302\217\207" [nil (byte-code "\301\302\303\304^H!!\"\207" [date apply encode-time parse-time-string time$
date-to-time("Mon, 06 Mar 2130 20:55:03 GMT")
eval((date-to-time "Mon, 06 Mar 2130 20:55:03 GMT") nil)
eval-last-sexp-1(t)
eval-last-sexp(t)
eval-print-last-sexp(nil)
call-interactively(eval-print-last-sexp nil nil)
command-execute(eval-print-last-sexp)
The version is:
GNU Emacs 24.4.1 (i686-pc-linux-gnu, GTK+ Version 3.14.7) of 2015-01-17 on bisson
Anything up to 2038 will work without issue. I had read OpenBSD fixed
the 2038 date issue using 'long long int' instead of 'time_t' for dates
in the codebase on 32 bit machines.
I think eww-mode should not fail to load subsequent pages though, even
if a cookie date is bad (bad cookies should not halt further page
requests), so maybe eww-mode just needs to catch the thrown error?
--
Matthew Carter (m@ahungry.com)
http://ahungry.com
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#19798: 24.4; eww-mode error in process sentinel 'Invalid date' when receiving a valid date
2015-02-08 20:25 ` Matthew Carter
@ 2015-02-09 2:45 ` Paul Eggert
2015-02-09 2:50 ` bug#19799: Tangentally related to eww-mode Invalid Date bug just filed Paul Eggert
1 sibling, 0 replies; 7+ messages in thread
From: Paul Eggert @ 2015-02-09 2:45 UTC (permalink / raw)
To: Matthew Carter; +Cc: 19798
I reproduced this bug on Fedora 21 i686. I looked at the current master and
fixed some relevant issues, in commit fd6f7d1449c8496ab5c019d2aad7ca5e2980713a
dated today. I then attempted to reproduce the bug but failed, so it appears
that the bug is fixed now in the current master (either by the recent fixes, or
by earlier fixes in the master). Please give it a try.
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#19799: Tangentally related to eww-mode Invalid Date bug just filed
2015-02-08 20:25 ` Matthew Carter
2015-02-09 2:45 ` bug#19798: 24.4; eww-mode error in process sentinel 'Invalid date' when receiving a valid date Paul Eggert
@ 2015-02-09 2:50 ` Paul Eggert
2015-02-09 3:14 ` Matthew Carter
1 sibling, 1 reply; 7+ messages in thread
From: Paul Eggert @ 2015-02-09 2:50 UTC (permalink / raw)
To: Matthew Carter; +Cc: 19799-done
OK, I've fixed the "Invalid date:" bug in master commit
fd6f7d1449c8496ab5c019d2aad7ca5e2980713a dated today. This fixes the problem
with date-to-time on 32-bit hosts, since it now throws the correct exception
rather than the incorrect one, so I'm closing this bug report. I'm leaving
Bug#19798 open for now, until you can verify that the original eww issue is
indeed fixed on the master.
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#19799: Tangentally related to eww-mode Invalid Date bug just filed
2015-02-09 2:50 ` bug#19799: Tangentally related to eww-mode Invalid Date bug just filed Paul Eggert
@ 2015-02-09 3:14 ` Matthew Carter
2015-02-09 6:29 ` bug#19798: " Paul Eggert
0 siblings, 1 reply; 7+ messages in thread
From: Matthew Carter @ 2015-02-09 3:14 UTC (permalink / raw)
To: 19799; +Cc: eggert
Paul Eggert <eggert@cs.ucla.edu> writes:
> OK, I've fixed the "Invalid date:" bug in master commit
> fd6f7d1449c8496ab5c019d2aad7ca5e2980713a dated today. This fixes the
> problem with date-to-time on 32-bit hosts, since it now throws the
> correct exception rather than the incorrect one, so I'm closing this
> bug report. I'm leaving Bug#19798 open for now, until you can verify
> that the original eww issue is indeed fixed on the master.
>
>
>
The issue is fixed, no more failure to load subsequent pages when an
overflowed cookie date is encountered.
Thanks!
--
Matthew Carter (m@ahungry.com)
http://ahungry.com
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#19798: bug#19799: Tangentally related to eww-mode Invalid Date bug just filed
2015-02-09 3:14 ` Matthew Carter
@ 2015-02-09 6:29 ` Paul Eggert
0 siblings, 0 replies; 7+ messages in thread
From: Paul Eggert @ 2015-02-09 6:29 UTC (permalink / raw)
To: Matthew Carter; +Cc: 19799, 19798-done
Matthew Carter wrote:
> The issue is fixed, no more failure to load subsequent pages when an
> overflowed cookie date is encountered.
Thanks for checking, and so I'm closing Bug#19798 too.
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2015-02-09 6:29 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-02-07 5:15 bug#19799: Tangentally related to eww-mode Invalid Date bug just filed Matthew Carter
2015-02-08 19:28 ` Paul Eggert
2015-02-08 20:25 ` Matthew Carter
2015-02-09 2:45 ` bug#19798: 24.4; eww-mode error in process sentinel 'Invalid date' when receiving a valid date Paul Eggert
2015-02-09 2:50 ` bug#19799: Tangentally related to eww-mode Invalid Date bug just filed Paul Eggert
2015-02-09 3:14 ` Matthew Carter
2015-02-09 6:29 ` bug#19798: " Paul Eggert
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).