Re: [9fans] Python/Mercurial error

2014-04-02 Thread kokamoto
> https://codereview.appspot.com/82660044/
> 
> Please give a try and review this change to
> get it submitted before the Go 1.4 release.

I tried this, and compilation becomes seamless.
However, a new test error occured as:
=
?   cmd/nm  [no test files]
pack.test 1119: suicide: sys: trap: fault read addr=0xeafc pc=0x254b6
*** Test killed: ran too long (3m0s).
FAILcmd/pack180.007s
?   cmd/yacc[no test files]
=

I'm still half sleeping, then, 
David, please submit this result to go team from you.

Kenji




Re: [9fans] Python/Mercurial error

2014-04-02 Thread erik quanstrom
On Wed Apr  2 01:20:42 EDT 2014, 0in...@gmail.com wrote:
> Two days ago, I've fixed the script mklibc.rc to
> generate the libc_plan9.h file properly on 9atom.
> 
> https://codereview.appspot.com/82660044/
> 
> Please give a try and review this change to
> get it submitted before the Go 1.4 release.

the script itself reminds me of gcc fixincludes.

- erik



Re: [9fans] Partitioning the disk

2014-04-02 Thread erik quanstrom
> As I cannot force plan 9 to use my sata disk, I've decided to buy a sata to 
> usb convertor.
> After compiling the usb tools on 9atom, I can find my disk under /dev/sdU1.0 
> and now is the time to 
> prepare the disk partitions in order to install plan 9. Disk which I want to 
> use isn't empty
> (it contains some of ext4s and swap) but I want to format the entire disk. In 
> 9atom doc's pages
> I've found some example how to initialize the blank disk:
> 
> Initialize the blank disk /dev/sdC0/data.
>   disk/mbr –m /386/mbr /dev/sdC0/data
> disk/fdisk –baw /dev/sdC0/data
> disk/prep –bw –a^(9fat nvram fossil cache swap) /dev/sdC0/plan9
> disk/format –b /386/pbslba –d –r 2 /dev/sdC0/9fat \
>   /386/9load /386/9pcf /tmp/plan9.ini

unfortunately usb disk devices are not directly partitionable.
this can be solved on 9atom with sdloop

addloop u /dev/sdU1.0/data

this will create /dev/sdu0/^(ctl data) which you can then partition
with diskparts.  (if using the standard distribution use diskparts(8) and
the file will be /dev/sdXX/data)

if you do a pull as glenda, or alternately

mount /srv/boot /n/root &&
9fs atom && 
disk/mkfs -vkU -s /n/atom/plan9^`{pwd} -d . <{echo +}

you can then try "mkusbboot -p `{echo +}".  this may actually work.
let me know if it has not, as i haven't had a chance to test it.

> BTW. If there is any method to compile all the 9atom sources at once(simpler 
> that writting rc script)?

cd /sys/src; mk install && mk clean

there is not enough room on the usb key to install all.

- erik



Re: [9fans] Partitioning the disk

2014-04-02 Thread Szymon Olewniczak
> if you do a pull as glenda, or alternately
> 
>   mount /srv/boot /n/root &&
>   9fs atom && 
>   disk/mkfs -vkU -s /n/atom/plan9^`{pwd} -d . <{echo +}
> 
> you can then try "mkusbboot -p `{echo +}".  this may actually work.   
srv: dial tcp!atom.9atom.org!fs: cs: can't translate address: 
'/srv/dns' file
does not exist.
It seems to me like an issue with internet connection. Am I right?
One more question to this command. You've used pwd in it, so what directory 
should I be in, in
order to run command successfully? Why do I need to run this first mount 
command(the /n/root seems
to be used nowhere)? 

> there is not enough room on the usb key to install all.
The other problem is that after compiling usb and all it dependences when I've 
rebooted
the plan 9 atom all programs disappeared and I've needed to compile them again. 
Is there any method to
make the changes to the disk persistent? 





Re: [9fans] Partitioning the disk

2014-04-02 Thread erik quanstrom
On Wed Apr  2 17:49:51 EDT 2014, szymon.olewnic...@rid.pl wrote:
> > if you do a pull as glenda, or alternately
> > 
> > mount /srv/boot /n/root &&
> > 9fs atom && 
> > disk/mkfs -vkU -s /n/atom/plan9^`{pwd} -d . <{echo +}
> > 
> > you can then try "mkusbboot -p `{echo +}".  this may actually work. 
>   srv: dial tcp!atom.9atom.org!fs: cs: can't translate address: 
> '/srv/dns' file
>   does not exist.
> It seems to me like an issue with internet connection. Am I right?
> One more question to this command. You've used pwd in it, so what directory 
> should I be in, in
> order to run command successfully? Why do I need to run this first mount 
> command(the /n/root seems
> to be used nowhere)? 

yes.  you can either run ndb/dns -r and ndb/cs and then try again, or replace
"9fs atom" with

attaip=208.71.233.235
nflag=-n
srv $nflag -q tcp!$attaip atom &&
mount $nflag /srv/atom /n/atom atom

> > there is not enough room on the usb key to install all.
> The other problem is that after compiling usb and all it dependences when 
> I've rebooted
> the plan 9 atom all programs disappeared and I've needed to compile them 
> again. Is there any method to
> make the changes to the disk persistent? 

changes to the disk are persistent.  i suspect the executables are
misplaced.  are you booting from the hard drive?

- erik



[9fans] fossil memory corruption

2014-04-02 Thread erik quanstrom
small but potentially deadly 

diff -c /n/dump/2014/0402/sys/src/cmd/fossil/9fsys.c 9fsys.c
/n/dump/2014/0402/sys/src/cmd/fossil/9fsys.c:34,40 - 9fsys.c:34,40
char*   curfsys;
  } sbox;
  
- static char *_argv0;
+ char *_argv0;
  #define argv0 _argv0
  
  static char FsysAll[] = "all";
diff -c /n/dump/2014/0402/sys/src/cmd/fossil/Ccli.c Ccli.c
/n/dump/2014/0402/sys/src/cmd/fossil/Ccli.c:33,38 - Ccli.c:33,40
return 0;
  }
  
+ extern char *_argv0;
+ 
  int
  cliExec(char* buf)
  {
/n/dump/2014/0402/sys/src/cmd/fossil/Ccli.c:57,62 - Ccli.c:59,65
vtUnlock(cbox.lock);
if(!(r = cbox.cmd[i].cmd(argc, argv)))
consPrint("%s\n", vtGetError());
+   _argv0 = nil;   /* evade defn of ARGBEGIN */
vtMemFree(p);
return r;
}



Re: [9fans] fossil memory corruption

2014-04-02 Thread erik quanstrom
i should explain further, since this is sneaky.  since we're calling
ARGBEGIN lots of times, we hit a special case.  the defn is

#define ARGBEGINfor((argv0||(argv0=*argv)),argv++,argc--;\

a subsequent call to ARGBEGIN will not reset argv0, and worse, argv0
can be pointing to bogus memory.

- erik



Re: [9fans] Python/Mercurial error

2014-04-02 Thread kokamoto
>> https://codereview.appspot.com/82660044/
>> 
>> Please give a try and review this change to
>> get it submitted before the Go 1.4 release.

Sorry, David.
I made mistake to copy your patch file to Plan9
system (I've not set abaco yet).

I retried your above patch, and perfectly seamless results
which are included here.

Kenji
# Building C bootstrap tool.
cmd/dist

# Building compilers and Go bootstrap tool for host, plan9/386.
lib9
libbio
warning: 
/usr/sys/src/go/src/libbio/bputrune.c:39[/usr/sys/src/go/src/libbio/bputrune.c:1450]
 result of operation not used
libmach
warning: 
/usr/sys/src/go/src/libmach/8db.c:207[/usr/sys/src/go/src/libmach/8db.c:2158] 
unreachable code FUNC
warning: 
/usr/sys/src/go/src/libmach/sym.c:374[/usr/sys/src/go/src/libmach/sym.c:2198] 
useless or misleading comparison: UINT < 0
liblink
misc/pprof
cmd/objdump
cmd/prof
cmd/cc
warning: 
/usr/sys/src/go/src/cmd/cc/y.tab.c:1785[/usr/sys/src/go/src/cmd/cc/y.tab.c:4593]
 result of operation not used
warning: 
/usr/sys/src/go/src/cmd/cc/y.tab.c:1785[/usr/sys/src/go/src/cmd/cc/y.tab.c:4593]
 result of operation not used
warning: 
/usr/sys/src/go/src/cmd/cc/y.tab.c:1791[/usr/sys/src/go/src/cmd/cc/y.tab.c:4599]
 result of operation not used
warning: 
/usr/sys/src/go/src/cmd/cc/y.tab.c:1791[/usr/sys/src/go/src/cmd/cc/y.tab.c:4599]
 result of operation not used
warning: 
/usr/sys/src/go/src/cmd/cc/y.tab.c:1788[/usr/sys/src/go/src/cmd/cc/y.tab.c:4596]
 set and not used: yymsg
warning: 
/usr/sys/src/go/src/cmd/cc/y.tab.c:1868[/usr/sys/src/go/src/cmd/cc/y.tab.c:4671]
 set and not used: yytoken
warning: 
/usr/sys/src/go/src/cmd/cc/y.tab.c:1952[/usr/sys/src/go/src/cmd/cc/y.tab.c:4751]
 set and not used: yyptr
cmd/gc
warning: 
/usr/sys/src/go/src/cmd/gc/y.tab.c:2049[/usr/sys/src/go/src/cmd/gc/y.tab.c:5497]
 useless or misleading comparison: ULONG <= 0x
warning: 
/usr/sys/src/go/src/cmd/gc/y.tab.c:2072[/usr/sys/src/go/src/cmd/gc/y.tab.c:5518]
 useless or misleading comparison: ULONG <= 0x
warning: 
/usr/sys/src/go/src/cmd/gc/y.tab.c:2080[/usr/sys/src/go/src/cmd/gc/y.tab.c:5526]
 useless or misleading comparison: ULONG <= 0x
warning: 
/usr/sys/src/go/src/cmd/gc/y.tab.c:2124[/usr/sys/src/go/src/cmd/gc/y.tab.c:5568]
 result of operation not used
warning: 
/usr/sys/src/go/src/cmd/gc/y.tab.c:2124[/usr/sys/src/go/src/cmd/gc/y.tab.c:5568]
 result of operation not used
warning: 
/usr/sys/src/go/src/cmd/gc/y.tab.c:2127[/usr/sys/src/go/src/cmd/gc/y.tab.c:5571]
 set and not used: yymsg
warning: 
/usr/sys/src/go/src/cmd/gc/y.tab.c:2234[/usr/sys/src/go/src/cmd/gc/y.tab.c:5673]
 set and not used: yytoken
warning: 
/usr/sys/src/go/src/cmd/gc/y.tab.c:2309[/usr/sys/src/go/src/cmd/gc/y.tab.c:5742]
 set and not used: yyptr
cmd/8l
cmd/8a
warning: 
/usr/sys/src/go/src/cmd/8a/y.tab.c:1376[/usr/sys/src/go/src/cmd/8a/y.tab.c:4282]
 result of operation not used
warning: 
/usr/sys/src/go/src/cmd/8a/y.tab.c:1376[/usr/sys/src/go/src/cmd/8a/y.tab.c:4282]
 result of operation not used
warning: 
/usr/sys/src/go/src/cmd/8a/y.tab.c:1379[/usr/sys/src/go/src/cmd/8a/y.tab.c:4285]
 set and not used: yymsg
warning: 
/usr/sys/src/go/src/cmd/8a/y.tab.c:1567[/usr/sys/src/go/src/cmd/8a/y.tab.c:4461]
 set and not used: yyptr
cmd/8c
cmd/8g
pkg/runtime
pkg/errors
pkg/sync/atomic
pkg/sync
pkg/io
pkg/unicode
pkg/unicode/utf8
pkg/unicode/utf16
pkg/bytes
pkg/math
pkg/strings
pkg/strconv
pkg/bufio
pkg/sort
pkg/container/heap
pkg/encoding/base64
pkg/syscall
pkg/time
pkg/os
pkg/reflect
pkg/fmt
pkg/encoding
pkg/encoding/json
pkg/flag
pkg/path/filepath
pkg/path
pkg/io/ioutil
pkg/log
pkg/regexp/syntax
pkg/regexp
pkg/go/token
pkg/go/scanner
pkg/go/ast
pkg/go/parser
pkg/os/exec
pkg/os/signal
pkg/net/url
pkg/text/template/parse
pkg/text/template
pkg/go/doc
pkg/go/build
cmd/go

# Building packages and commands for plan9/386.
runtime
errors
sync/atomic
sync
io
unicode
unicode/utf8
bytes
bufio
math
strconv
reflect
encoding/binary
syscall
time
os
fmt
debug/dwarf
debug/elf
strings
debug/gosym
debug/macho
debug/pe
sort
flag
log
cmd/addr2line
hash
crypto
crypto/md5
go/token
path/filepath
go/scanner
go/ast
io/ioutil
go/parser
text/tabwriter
go/printer
os/exec
cmd/cgo
go/format
path
cmd/fix
container/heap
encoding
encoding/base64
unicode/utf16
encoding/json
encoding/xml
regexp/syntax
regexp
net/url
text/template/parse
text/template
go/doc
go/build
compress/flate
hash/crc32
compress/gzip
container/list
crypto/subtle
crypto/cipher
crypto/aes
crypto/des
math/rand
math/big
crypto/elliptic
crypto/ecdsa
crypto/hmac
crypto/rand
crypto/rc4
crypto/rsa
crypto/sha1
crypto/sha256
crypto/dsa
encoding/asn1
crypto/x509/pkix
encoding/hex
encoding/pem
net
crypto/x509
crypto/tls
mime
net/textproto
mime/multipart
net/http
os/signal
cmd/go
runtime/pprof
cmd/gofmt
debug/goobj
cmd/link
debug/plan9obj
cmd/nm
cmd/pack
cmd/yacc
archive/tar
archive/zip
compress/bzip2
compress/lzw
hash/adler32
compress/zlib
container/ring
crypto/sha512
database/sql/driver
database/sql
encoding/ascii85
encoding/base32
encoding/csv

Re: [9fans] Python/Mercurial error

2014-04-02 Thread David du Colombier
> the script itself reminds me of gcc fixincludes.

This is probably not ideal, but the alternative would be
to split libc.h in three parts: libc.h, fmt.h and utf.h
and only include libc.h in Go (because Go has his own
variants of libfmt and libutf).

-- 
David du Colombier



Re: [9fans] Python/Mercurial error

2014-04-02 Thread erik quanstrom
On Thu Apr  3 01:51:59 EDT 2014, 0in...@gmail.com wrote:
> > the script itself reminds me of gcc fixincludes.
> 
> This is probably not ideal, but the alternative would be
> to split libc.h in three parts: libc.h, fmt.h and utf.h
> and only include libc.h in Go (because Go has his own
> variants of libfmt and libutf).

why is the alternative to modify plan 9, and why can't they
live with the system fmt/rune routines?

- erik



Re: [9fans] Python/Mercurial error

2014-04-02 Thread David du Colombier
> Sorry, David.
> I made mistake to copy your patch file to Plan9
> system (I've not set abaco yet).
> 
> I retried your above patch, and perfectly seamless results
> which are included here.

I don't think the error you encountered was related to
the patch, since it's only related to a compilation
issue on 9atom. As long as the Go compilation succeed
on 9atom, the patch was successfully applied.

> ? cmd/nm  [no test files]
> pack.test 1119: suicide: sys: trap: fault read addr=0xeafc
> pc=0x254b6 *** Test killed: ran too long (3m0s).
> FAIL  cmd/pack180.007s
> ? cmd/yacc[no test files]

It was probably a real error. However, other 9atom
users have not encountered it and it didn't fail
for you the second time you tried, so it would
tend to prove that it doesn't happen every time.

-- 
David du Colombier



Re: [9fans] Python/Mercurial error

2014-04-02 Thread erik quanstrom
> > ?   cmd/nm  [no test files]
> > pack.test 1119: suicide: sys: trap: fault read addr=0xeafc
> > pc=0x254b6 *** Test killed: ran too long (3m0s).
> > FAILcmd/pack180.007s
> > ?   cmd/yacc[no test files]
> 
> It was probably a real error. However, other 9atom
> users have not encountered it and it didn't fail
> for you the second time you tried, so it would
> tend to prove that it doesn't happen every time.

does go make assumptions about where the stack is?

- erik



Re: [9fans] Python/Mercurial error

2014-04-02 Thread Jeff Sickel
On Apr 3, 2014, at 12:58 AM, erik quanstrom  wrote:
> 
> On Thu Apr  3 01:51:59 EDT 2014, 0in...@gmail.com wrote:
>>> the script itself reminds me of gcc fixincludes.
>> 
>> This is probably not ideal, but the alternative would be
>> to split libc.h in three parts: libc.h, fmt.h and utf.h
>> and only include libc.h in Go (because Go has his own
>> variants of libfmt and libutf).
> 
> why is the alternative to modify plan 9, and why can't they
> live with the system fmt/rune routines?

Go will likely require its own libraries for everything in the
near future.  The Plan 9 variants will have to accept that
as it is just too time consuming to try and keep the headers
clean and still use the original Plan 9 libraries that started
the core Go implementation.

- jas




Re: [9fans] Python/Mercurial error

2014-04-02 Thread David du Colombier
> why is the alternative to modify plan 9, and why can't they
> live with the system fmt/rune routines?

They are incompatible. For example, some Fmt verbs (like %F) does produce
slightly different output. It was an explicit requirement from the Go team
to use their variants of these libraries.

-- 
David du Colombier


Re: [9fans] Python/Mercurial error

2014-04-02 Thread erik quanstrom
> They are incompatible. For example, some Fmt verbs (like %F) does produce
> slightly different output. It was an explicit requirement from the Go team
> to use their variants of these libraries.

do you see why i think that relationship is upside down?

- erik