"File too large" error. Doesn't make sense

Seems like File Too Large happens whenever aggsize > 16m. Examples seem to show it working at much larger numbers: http://docs.sun.com/app/docs/doc/817-6223/6mlkidlho?a=view

a.out is build from foo.c

bluczkie@sundev26 ddulai $ dtrace -s f.d -c a.out -xaggsize=1g

dtrace: script'f.d' matched 6 probes

dtrace: could not enable tracing: File too large

bluczkie@sundev26 ddulai $ dtrace -s f.d -c a.out -xaggsize=16m

dtrace: script'f.d' matched 6 probes

dtrace: pid 3199 has exited

_start1

main 1

_start2091503

bluczkie@sundev26 ddulai $ dtrace -s f.d -c a.out -xaggsize=32m

dtrace: script'f.d' matched 6 probes

dtrace: could not enable tracing: File too large

bluczkie@sundev26 ddulai $ cat foo.c

int foo(int a){

return a + 3;

}

int

main(int argc,char *argv[])

{

int i = 0;

int max = atoi(argv[1]);

while (i < max){

int b = foo(8);

printf("%d\n", b);

i++;

}

return 0;

}

bluczkie@sundev26 ddulai $ cat f.d

pid$target:a.out::entry

{

ts[probefunc] = vtimestamp;

@cnts[probefunc] = count();

}

pid$target:a.out::return

{

@ftime[probefunc] = sum(vtimestamp - ts[probefunc]);

ts[probefunc] = 0;

}

bluczkie@sundev26 ddulai $ uname -a

SunOS sundev26 5.10 Generic_118822-19 sun4u sparc SUNW,Sun-Fire-880 Solaris

bluczkie@sundev26 ddulai $ dtrace -V

dtrace: Sun D 1.1

[2352 byte] By [bluczkiea] at [2007-11-26 17:24:13]
# 1

After trussing, I found this:

/1:ioctl(3, DTRACEIOC_PROVIDER, 0x100457418)= 0

/1:ioctl(3, DTRACEIOC_PROBEMATCH, 0xFFFFFFFF7FFFE9C4) = 0

/1:ioctl(3, DTRACEIOC_PROBEMATCH, 0xFFFFFFFF7FFFE9C4) Err#3 ESRCH

/1:ioctl(3, DTRACEIOC_PROBEARG, 0xFFFFFFFF7FFFCAC8) = 0

/1:ioctl(3, DTRACEIOC_ENABLE, 0x100488040) = 6

/1:fstat(2, 0xFFFFFFFF7FFFE340)= 0

dtrace/1:write(2, " d t r a c e", 6) = 6

: /1:write(2, " : ", 2)= 2

script/1:write(2, " s c r i p t", 6) = 6

'/1:write(2, "'", 2)= 2

f.d/1: write(2, " f . d", 3)= 3

' matched /1:write(2, " 'm a t c h e d ", 10)= 10

6/1:write(2, " 6", 1)= 1

probe/1:write(2, "p r o b e", 6) = 6

s

/1:write(2, " s\n", 2)= 2

/1:ioctl(3, DTRACEIOC_ENABLE, 0x100488590) = 1

/1:ioctl(3, DTRACEIOC_ENABLE, 0x100488590) = 0

/1:ioctl(3, DTRACEIOC_GO, 0x10010FAFC) Err#27 EFBIG

dtrace/1:write(2, " d t r a c e", 6) = 6

: /1:write(2, " : ", 2)= 2

could not enable tracing/1:write(2, " c o u l dn o te n".., 24)= 24

: /1:write(2, " : ", 2)= 2

File too large/1:write(2, " F i l et o ol a r".., 14)= 14

/1:write(2, "\n", 1)= 1

/1:_exit(1)

bluczkiea at 2007-7-8 23:52:14 > top of Java-index,Solaris Operating System,Solaris 10 Features...
# 2
Found it..it's because there's a hard 16m aggsize limit while not running as root. Any particular reason for that other than paranoia? Seems like an unneccesarily conservative limitation.
bluczkiea at 2007-7-8 23:52:14 > top of Java-index,Solaris Operating System,Solaris 10 Features...