Trying to exec a filename with frogs in it causes the first
validnamedup() in sysexec to throw an error. The waserror
branch then tries to free(file) causing an invalid pointer
in munmap_chunk.
I can provide a trace if necessary but I think it's just
a matter of not trying to free file before it
On 9vx, iostats suicides:
term% iostats echo
iostats 128: suicide: sys: trap: page fault pc=0xb21c
Apparently, after a fork, a child retains it's parent's
pid in _tos-pid. It isn't updated until the next syscall
finishes with kexit.
This is a problem if the child's first function call
Thank you for the detailed reports.
It makes it very easy to fix the bugs!
It really is my pleasure. Hunting bugs is
one of my favorite pastimes. Well, that's
not completely true: hunting bugs is usually
only fun when dealing with code of a certain
quality. Plan 9 makes the cut, as does all
of
I added devsd and wrote an sd loopback yesterday afternoon.
It worked pretty well except that when I ran fdisk,
/dev/sd00/data disappeared. I was going to debug that
before saying anything.
Here's the fix for the fdisk problem:
/sys/src/cmd/disk/prep/edit.c:503,508 - edit.c:503,509
term% cat /dev/drivers | grep kbin # kbin(3)
Sorry about the terseness. I meant to also say that
you'll have to add the kbin device to your kernel
configuration and recompile. I don't think it's in
the default.
Anthony
I now have a more-or-less unused MacBook. I'm
considering spending some time trying to get Plan 9
working on it. Has anyone gotten beyond confirming
that it won't work out of the box?
I have Plan 9 booting on an Intel Macbook. When I was
first testing it out, there were problems with the
SATA
That code path is for the proc that called rfork(). The
new child proc returns through forkchild().
Pavel Zholkover paulz...@gmail.com once said:
I'm typing from my phone so I don't have go sources in front of me,
but 0xdfffefc0 looks like the address I used for per thread G and M
structs - just bellow struct Tos.
Andrey and I also tried running on a 32-bit 9vx with the same effect.
Is
Anthony Martin al...@pbrane.org once said:
The Tos structure is bigger on 64-bit 9vx so the references
to GS will need a different offset. You'll have to change
both src/8l/pass.c:/^patch and the runtime.
I forgot to mention that on 9vx, USTKTOP is at 0x1000.
Anthony
ron minnich rminn...@gmail.com once said:
are you saying change 8l so that it creates code that works on 9vx in
the special case that it runs on a 64-bit system? Then we're going to
need to make 8l aware of way too much stuff.
I'm talking about Go's linker. In the Go runtime, the G and M
Pavel Zholkover paulz...@gmail.com once said:
I have no idea what is causing it to die, I've tried adding a bunch of
INT $3 to see how far in the flow I can get, but all I get this:
9vx panic: unknown trap/intr: 0x203
aborting, to dump core.
for an INT $3 just before
CALL SI //
Waserror increments up-nerrlab before setting up
the next label on the error stack which means the
poperror in question returns it to zero.
Anthony
Steve Simon st...@quintile.net once said:
The difference comes from the fact that sleep is deep inside its
stack/errlab hierarchy when it receives a note. This causes it
to jump to the notify function (still in the users context),
the notify function then calls back into the kernel (noted()).
% 9vx panic: vxproc_run: Function not implemented
This sounds like a problem setting up the LDT.
Are you on amd64 or i386? Also, you should run
ktrace with the -d flag so we can see a trace
of the child procs.
Anthony
% ktrace -d ./9vx -r /n/plan9 -u glenda -g -S
namec #/
namec #e/terminal
namec #e/cputype
namec #e/rootdir
namec #e/service
namec #e/user
namec #e/sysname
namec #Zplan9/
namec /
namec #p
namec /proc
I've read through the MMU code more than
a few times and never noticed this. Who
reads past tmpunmap anyways? ;)
Anthony
diff -c /sys/src/9/pc/mmu.c /tmp/mmu.c
/sys/src/9/pc/mmu.c:934,940 - /tmp/mmu.c:934,940
void*
kaddr(ulong pa)
{
- if(pa (ulong)-KZERO)
+ if(pa =
andrey mirtchovski mirtchov...@gmail.com once said:
cross-compilation (GOOS=plan9, GOARCH=386, link with -s), but there
are a few issues -- the build fails at crypto, so fmt is not compiled.
for a hello world you need to manually make install pkg/strconv and
pkg/reflect and pkg/fmt.
Anthony Martin al...@pbrane.org once said:
Right now, if you want to run Go binaries on Plan 9, you have to
apply the patch at the bottom of this message. In the future we
should probably have the runtime use the segment(3) device.
That should have been '9vx' instead of 'Plan 9'. Sorry
Pavel Zholkover paulz...@gmail.com once said:
I'm not sure I understand the reason 9vx will fail to reserve 768mb
with brk() while my Plan 9 install on kvm+qemu with 128mb or ram works
fine, as long as it is not written to.
The reason is because 9vx gives user processes a virtual
address space
Anthony Martin al...@pbrane.org once said:
-#define MaxArena32 (2U30)
+#define MaxArena32 (240U20)
I forgot to mention this earlier but for the curious, I
used 240mb here because that is USTKTOP-USTKSIZE in 9vx.
Anthony
P.S.
Has anyone ran into the SEGMAPSIZE limit on native Plan 9
Sergey Kish sergey.k...@gmail.com once said:
Today I've implemented same on go. It also falls but it may be my
fault
error: read /dev/draw/new: unknown id for draw image
You're giving bad data to devdraw. The Go code on the gist
is sending
long(id) 'n' long(id) byte(namelen)
Another thing to check would be any encoding of the data
passed to a write, i.e., try opening the data file in
binary mode.
Anthony
This is really weird. I don't even know what could I check. 'listen1'
source code is pretty clean, and it calls command and args with a simple
'exec' call. The only thing that was also unusual is that the 'net'
variable, which is supposed to be set to a directory, is always blank,
but the
Greg Comeau com...@panix.com once said:
man nm shows a symbol type of L that is possible denoting it as
a leaf function text segment symbol. Often a leaf function
is distinguished by being at the end of a call hierarchy and
can sometimes yield difference in code generation regarding
stack
I was investigating a bug in the Go toolchain's
fork of ar(1), called gopack, and I discovered
two similar bugs in native ar.
1. With a __.SYMDEF file of size (2*n)+1 bytes,
the size given in the header will incorrectly
include the padding byte.
2. When writing an archive member file to
tlaro...@polynum.com once said:
There is one utility used by MetaPost scripts: a binary newer using
POSIX (sys/stat.h) mainly because if on POSIX compliant systems one can
use find(1) with -cnewer, Plan9 has not find(1).
[...]
What would be the prefered way using utilities available on
ron minnich rminn...@gmail.com once said:
For a first pass, you could create a nanosleep for plan 9
that rounds to milliseconds and then use sleep()
Yup. This is the right thing to do. The prof command
in the Go distribution has a minimum sampling interval
of one millisecond so you don't even
Attached is a modified version of p9p yacc that
supports the Go grammar. I'll be sending a
version of Plan 9 yacc later today.
The following is a description of the changes.
1. The %error-verbose directive is ignored.
2. A description of the final grammar is
printed before the state
Anton fluffyl...@gmail.com once said:
However, as it won't work on my laptop natively, i'm
forced to use 9vx (running in kvm is too slow). It has
one magor drawback - it is freezing my entire system
after some random time. Symptoms are - no reaction on
input (mouse/keyboard), no changes in
cinap_len...@gmx.de once said:
/lib/mainkampf is part of an ongoing project to make
venti sha-1 hashes easy to remember by translating
them into hitler-speeches.
Well now that it's gone, how about using
excerpts from Industrial Society and its
Future?
I can send a patch to add /lib/kaczynski.
A few people were asking about this so I
wrote up a tutorial. I also uploaded a
copy to http://apm.sdf.org/go/NOTES for
anyone who has trouble with attachments.
Cheers,
Anthony
# Building Go on Plan 9
# Anthony Martin
# al...@pbrane.org
# This document will guide you through the process
John Floren j...@jfloren.net once said:
How many different Go porting efforts do we now
have for Plan 9? There's apparently yours, Ron's,
Lucio's, and I think the 9front guys have/had
something cooking too.
That's it as far as I know.
Which ones can actually be updated with hg pull?
None
with attachments.
Cheers,
Anthony
# Building Go on Plan 9
# Anthony Martin
# al...@pbrane.org
# This document will guide you through the process
# of compiling the commands and packages in the Go
# source code distribution.
#
# Before we get started you should make sure you
# have GNU Make installed
Charles Forsyth charles.fors...@gmail.com once said:
modified library headers?
% ls (386 sys)^/include/go
386/include/go/u.h
386/include/go/ureg_amd64.h
386/include/go/ureg_arm.h
386/include/go/ureg_x86.h
sys/include/go/ar.h
sys/include/go/bio.h
sys/include/go/bootexec.h
sys/include/go/goenv.h
erik quanstrom quans...@quanstro.net once said:
386/include/go/ureg_arm.h
386/include/go/ureg_x86.h
surely that's the wrong place.
You would think so but that's how
where the headers are expected to
be for Go's libmach.
% gg 'include.*ureg'
src/cmd/cov/main.c:14: #include ureg_x86.h
Anthony Martin al...@pbrane.org once said:
You would think so but that's how
where the headers are expected to
be for Go's libmach.
how where?
I shouldn't type when tired.
Anthony
Lyndon Nerenberg lyn...@orthanc.ca once said:
I stopped at gmake. What can't mk do that demands gmake?
There's nothing wrong with mk. It's just that
I highly doubt we could get a separate set of
mkfiles included in the Go distribution.
I've tried to get things going with the smallest
set of
Lucio De Re lu...@proxima.alt.za once said:
Have you tried? It's a non-invasive change, and once they are set
up it's unlikely they will need to be updated often.
I think Anthony is on the right path on this point, in that I've had
to update a couple of mkfiles in the recent past because
Pavel Zholkover paulz...@gmail.com once said:
Is the builder going to be based on the native
build or will it be cross-compiled ?
It will be native.
Anthony
erik quanstrom quans...@quanstro.net once said:
IMO using anything other than Make to build
the Go distribution is a fool's errand and
simply too much of a maintenance burden.
We would have to carefully watch upstream
changes to any of the many Makefiles.
Using make isn't as bad as
Lucio De Re lu...@proxima.alt.za once said:
New features in Go require a new function in the reflect.c module
(src/cmd/gc/reflect.c). The C compiler (8c, in this case) reports an
error which does not seem to apply:
8c -I/go/include -I/go/386/include -FTVw ../gc/reflect.c
Charles Forsyth charles.fors...@gmail.com once said:
I abandoned my old CL and sent another that
allows 64-bit switch expressions for all of
the Go compilers. A patch for [5678kqv]c
will be hitting sources soon. Stay tuned.
Anthony
Eli Cohen echol...@gmail.com once said:
% echo b115200 /dev/eiaU0/eiaUctl
% mount -ncC /dev/eiaU0/eiaU /n/anything
% ls /n/anything
anything
the output of ls is just whatever directory i mount it in, though accessing
arductl and ardudata works fine despite their absence from the directory
The first GoSF meetup¹ will be this Wednesday,
April 18th, and I'll be there if anyone wants
to talk about the port of Go to Plan 9 (or
about Plan 9 in general).
Cheers,
Anthony
1. http://www.meetup.com/golangsf/events/49802152/
Peter A. Cejchan tyap...@gmail.com once said:
BTW, what is the current status of 9Go ... I still use 60.2
I just noticed this mail. Sorry.
To build the current Go codebase you need four patches.
Two should be applied to the Plan 9 tree:
/n/sources/patch/kernel-tsemacquire
Christoph Lohmann 2...@r-36.net once said:
All mentioned words are part of the eternal fight
between DP9IK and SP9SSS. As we all know is DP9IK winning.
We mustn't fight each other! Surely we should
be united against the common enemy!
Anthony
% sed -n 20,32p /sys/src/cmd/grep/grep.y
prog: /* empty */
{
yyerror(empty pattern);
}
| expr newlines
{
$$.beg = ral(Tend);
$$.end = $$.beg;
$$ = re2cat(re2star(re2or(re2char(0x00, '\n'-1),
John Floren j...@jfloren.net once said:
Write a basic http server for Plan 9 (in C) and run Apache Benchmark
against it. Somewhere around 100 concurrent connections, I tend to get
failure. There's code in /sys/src/9/ip that has a hard limit on the #
of concurrent connections IIRC.
What
Pavel Klinkovsky pavel.klinkov...@gmail.com once said:
I made another test.
I compared compilation of exp/locale/collate of the Go build 14738 and
14739 (and later).
Compilation of 14738 does not consume RAM a lot.
Compilation of 14739 (and later) consume a huge amount of RAM
(involving
erik quanstrom quans...@quanstro.net once said:
On Fri Nov 2 09:44:43 EDT 2012, pavel.klinkov...@gmail.com wrote:
How much memory does your system have?
- 512 MB RAM
- 512 MB swap
Changeset 14739 grew the Unicode collation tables
in the exp/locale/collate package by a
Charles Forsyth charles.fors...@gmail.com once said:
On 22 November 2012 03:44, Bruce Ellis bruce.el...@gmail.com wrote:
uintptr in all over the go packages because it is right.
I hadn't noticed that particularly, but having grep'd the source, I
see it's also used for variables that are
Charles Forsyth charles.fors...@gmail.com once said:
this is just a sample, but there were other likely candidates:
Ah. I thought we were talking about Go code not C. Carry on.
Anthony
lu...@proxima.alt.za once said:
Yes, the tsemacquire syscall is not currently implemented in 9vx.
The ticks field is also not present in the mach structure, so adding
tsemacquire isn't trivial. I was hoping to get away with just adding
the field, but if the comment is correct, I need at
Richard Miller 9f...@hamnavoe.com once said:
Is there a good reason to forbid multiple processes to open
the mousein device? I can't think what trouble it could cause
(writes have to be atomic anyway because the driver will only
parse a complete input), and it makes it awkward to debug
a new
Charles Forsyth charles.fors...@gmail.com once said:
MOVQ isn't a 32-bit instruction.
It is if you're using MMX registers.
Anthony
erik quanstrom quans...@quanstro.net once said:
On Mon Dec 10 19:11:39 EST 2012, al...@pbrane.org wrote:
Charles Forsyth charles.fors...@gmail.com once said:
MOVQ isn't a 32-bit instruction.
It is if you're using MMX registers.
does 8g default to using mmx?
No. They're written using
erik quanstrom quans...@quanstro.net once said:
No. They're written using BYTE instructions where needed.
Currently 8g will only generate 387 style fp code but the
is to eventually use SSE. See http://golang.org/issue/3912.
that's not what i read. i read that it's going to be a
What's the story behind the curious reference
to this phrase in the code for timesync(8)?
Who wrote this code? presotto?
It's rather funny.
Anthony
This is really great. Thanks for all your work, Erik.
Anthony
I'm curious about the origins of the maxround
function in the compilers. Specifically, why is
5c different from all the others?
It seems the common implementation gives rise
to unnecessarily large stack frames.
For convenience:
/sys/src/cmd/6c/swt.c:/^maxround
Aram Hăvărneanu ara...@mgk.ro once said:
?c and ?g use the same calling convention, and segmented stacks are
implemented by the linker. You don't need cgo in order to call C code
from Go. Why do you want cgo?
This isn't true. Most of the Plan 9 compilers will pass the
first function argument
I have a few suggestions and corrections.
1. You have to actually allocate space for your local variables.
This means either calculating how much space you'll need and
annotating the TEXT pseudo-instruction or decrementing the SP
as you go.
2. Calls into the kernel must look like normal
lu...@proxima.alt.za once said:
I think the Go tool does cover C programs and even (somebody will
correct me if I'm wrong, I hope) assembler ones. It would be silly if
it didn't, or at least hard to use for things like the runtime. One
of Go's weak spots is that a lot of unconventional
dexen deVries dexen.devr...@gmail.com once said:
trying to create a standalone awk script (#!/usr/local/plan9/bin/awk -f).
how to open a file in BEGIN pattern section and set it as next input file?
not helped so far: FILENAME=foo.txt
nor ARGV[1]=foo.txt; nextfile;
ARGV[ARGC++] = foo.txt
Thank you. I very much appreciate the work that went into this.
And thanks to Erik for his previous set of patches.
Anthony
cinap_len...@gmx.de once said:
or GO could just stop using *OMG-OPTIMIZED* SSE memmove()
in the note handler.
This is exactly what I did in my patch. This was just
a regression. Someone changed memmove a few weeks ago.
Nothing to see here.
Anthony
erik quanstrom quans...@quanstro.net once said:
since even ghostscript doesn't get into this state, i'd be interested
in the line of code (and types of the variables) that hits this fatal
condition.
I posted a small piece of code that triggers this on golang-dev.
Here it is:
% cat x.c
Skip Tavakkolian skip.tavakkol...@gmail.com once said:
is this the patch set you're referring to?
https://codereview.appspot.com/download/issue9796043_58001.diff
if so, is there a diff set for go1.2?
Hi Skip,
There were a few problems with that CL that I'm just now
starting to iron out so I
erik quanstrom quans...@labs.coraid.com once said:
On Mon Dec 2 10:01:48 EST 2013, lu...@proxima.alt.za wrote:
is the threat standing? that is, if the plan 9 port is broken again
when 1.5 rolls around in just a few more months, does the plan 9
port get booted then, too?
The threat
Steve Simon st...@quintile.net once said:
Whne I looked at Go - maybe 2 years ago, I could not see why
plan9 would not adopt go's 8c/8l and libbio.
obviously others disagree as they have not been back-ported,
but why not? - I'am not trolling, genuine question.
We couldn't adopt the Go
erik quanstrom quans...@quanstro.net once said:
2. Use of Go's libbio, rather than Plan 9's. Alternatively libbio on Plan 9
can be changed. It's not clear to me why this would be a bad thing.
i object to the macros they have been adding. they haven't been included
in p9p, either. adding
erik quanstrom quans...@quanstro.net once said:
since kprocs don't get notes (it's an error to write to the note file),
sleep in a kproc can't get interrupted. this code will never fire.
It looks like they can on 9front.
The following is from pc/vgavesa.c:/^vesaproc
/*
*
Anthony Martin al...@pbrane.org once said:
erik quanstrom quans...@quanstro.net once said:
since kprocs don't get notes (it's an error to write to the note file),
sleep in a kproc can't get interrupted. this code will never fire.
It looks like they can on 9front.
Actually, this isn't
Charles Forsyth charles.fors...@gmail.com once said:
I also ripped out all the swap stuff. Either I'm on a machine with at last
a Gb or two of RAM, or it's embedded
and there's no paging disk, or both.
What do you do when you're out of memory? Panic?
Do you still have something like the
Skip Tavakkolian skip.tavakkol...@gmail.com once said:
is anyone else seeing similar results for cmd/pack?
% go test
PASS
ok cmd/pack 172.505s
this is on an atom (d525 @ 1.8ghz, 4gb). same test on an arm (quad core a9
@ 1.7ghz, 2gb, linux 3.8) takes much less time:
% go test
PASS
Skip Tavakkolian skip.tavakkol...@gmail.com once said:
thanks; i should have checked that. running it on the fossil+venti server
brings it down a bit. still, it's not stellar.
bootes% go test
PASS
ok cmd/pack 81.480s
bootes% go test
PASS
ok cmd/pack 79.719s
Here's a CL to buffer the
Yoann Padioleau p...@fb.com once said:
in the newseg() function there is:
[...]
I think it should be
if(mapsize (SEGMAPSIZE))
mapsize = SEGMAPSIZE;
Yes, you're correct.
The code allows the creation of a segment VM map with more
than SEGMAPSIZE Ptes.
Personally, I'd remove
erik quanstrom quans...@quanstro.net once said:
i don't know where a history of stuff older than sources (2002) is.
/n/sources/extra/9hist
Anthony
Richard Miller 9f...@hamnavoe.com once said:
- finally, after receiving a Google Account: sign-in attempt blocked
email from google, followed their suggestion to:
change your settings at
https://www.google.com/settings/security/lesssecureapps so that your
account is no longer protected
minux minux...@gmail.com once said:
On Nov 30, 2014 3:10 PM, Mats Olsson plan9@gmail.com wrote:
Just googled and found: https://code.google.com/p/go-wiki/wiki/GoArm
So it seems that it's supported.
go on arm only supports Linux, Freebsd, Netbsd, nacl and Darwin
(unofficial).
plan 9
erik quanstrom quans...@quanstro.net once said:
We're all just waiting for the tree to open up again.
i thought that was the promise of dcs -- you don't have to wait.
where did this whole thing fail?
Well, I really meant we're waiting for the point in the
development schedule that allows
During the investigation of a failure in the Go test suite,
I was led to the following question:
Why does pread(2) modify the channel offset?
When pread and pwrite were added to the kernel in Feb 2001,
neither of them modified the underlying channel offset for
a given file descriptor. This was
hiro 23h...@gmail.com once said:
Also, crazy closed firmware blobs is a violation of our COC. Some
people here develop firmware blobs and don't want to hear such
insults.
It says more about you that you're insulted by something so innocuous.
Email me privately if you'd like some real insults.
erik quanstrom once said:
> unfortunately, the simlification removes the code that solves an important
> use case. it's important to be able to specify the protocol or network stack,
> such as in
>
> ip/ping /net.alt/icmp!someaddress
Most commands use an -x option
arisawa once said:
> is this a feature or a bug?
It looks like a bug to me. The code in
/sys/src/cmd/ip/ping.c:/^isv4name
is too clever for it's own good.
Anthony
Casey Rodarmor once said:
> > Let's say I have a process A which forks a child process B with the
> > RFNAMEG so it receives a copy of A's namespace.
> >
> > If process A then makes a change to its namespace, will process B see
> > that change? Or does B receive a distinct
Anthony Martin <al...@pbrane.org> once said:
> Casey Rodarmor <ca...@rodarmor.com> once said:
> > Also, whatever the answer is, how can I test this for myself? I was
> > struggling to come up with a combination of commands, short of writing
> > some C prog
Ciao Giacomo,
Why did you choose to create devself? Everything it does seems
better suited to devproc. If I was going that route, I'd instead
create a QTDIR file in devproc called #p/self that is just another
view into #p/$pid. Then brk and chdir would be control messages
written to #p/self/ctl.
Note that variables in the Mashey shell were single letters
in lower-case. $p was similar to $PATH in the Bourne shell.
Maybe Tom just split the difference. Have you asked him? :)
Anthony
Richard Miller <9f...@hamnavoe.com> once said:
> How about i for rIscv32 and j for riscv64 (one more than i)?
Or even e for riscv since it's the fifth letter in the alphabet. :)
Let me know what you decide and I'll update my table.
> I used n for nios2. na and aux/na commands are distinct, and
Charles Forsyth once said:
> I had a chart somewhere with the available non-unicode letters.
I made one a few years ago. It's at http://pbrane.org/comp.html
I just updated it with a suggestion for the RISC-V letters.
Anthony
Mack Wallace once said:
> My question: Is there a way to take the string output of a command that
> contains spaces and make it a single element of an array in rc script?
>
> [...]
>
> However, if I am receiving output from sed that contains spaces from
> the following script line
>
>
Mack Wallace once said:
> Another, probably more stupid question - How does one read a text file
> line by line in an rc script.
You should really read the rc(1) man page. It will answer your
questions.
Here the functions foo and bar are equivalent:
fn foo {
<$1 while(l
Charles Forsyth once said:
> I didn't look at the code closely enough earlier, but remembered something
> from years ago this morning. It's a bug. It isn't platform specific.
> There is an existing fix in 9front (I think it came from there) but it's
> horrible. Still, better a horrible fix than
mycrof...@sphericalharmony.com once said:
> Most recently, I have been pursing historical investigation and
> recreation of systems based on the hypercubic computers which rose to
> prominence in the late 1980s. Most interesting (to me) are the
> systems from nCUBE, which transitioned during the
Charles Forsyth once said:
> I'd need a letter or number and thought about reusing x (xa/xc/xl) since
> the AT DSP is long gone
https://github.com/0intro/plan9-mips/tree/master/sys/src/cmd/4c
https://github.com/0intro/plan9-mips/blob/master/rc/bin/xc
I think I sent this to the list once before
Richard Miller <9f...@hamnavoe.com> once said:
> I see the above list uses .e and .j for riscv and riscv64 -
> are these just reserved or are there actual compilers somewhere?
No, it was just a suggestion on my part. If I remember correctly,
I thought it was mildly clever that 'e' is the fifth
o...@eigenstate.org once said:
> Unrelatedly, would there be interest in adding the `$split{cmd} syntax
> from 9atom to 9legacy? I think it's currently the only reason that
> git9 doesn't work out of the box there, and it's very nice syntax.
I'm not a fan of the `word{...} syntax. It's odd to
Ethan Gardener once said:
> As for the footer, I'm sure I'll be glad to have the permalink in every
> email, and it's not in the headers.
>
> [...]
>
> Permalink:
> https://9fans.topicbox.com/groups/9fans/T73a7388a716e3644-M377ada983df012733fe78595
It is in the headers:
Archived-At:
Anthony Martin once said:
> This is missing the dozen or so messages from the beginning of the
> mailing list in April 1993. I have them in mbox format if you are
> interested in adding them to your archive.
Also, the following messages in the Topicbox archive are duplicates.
They are
1 - 100 of 123 matches
Mail list logo