Re: malloc vs ptmalloc2
On Sun, Feb 13, 2005, Jason Henson wrote: I saw on a few of the lists here how linux uses ptmalloc2 and it outperforms bsd's malloc. I tried to do some research into it and found PHK's pdf on it and it seems bsd's malloc was ment to be ok in most every situation. Because of this it shines when primary storage is seriously over committed. So here is my question, I use FreeBSD as a desktop and never ever use swap(I just don't stress my system enough?), can I use ptmalloc in stead of malloc? Like defining SCHED_ULE instead of SCHED_4BSD. Can the system malloc be switched out? With a little bit of work, you should be able to replace src/lib/libc/stdlib/malloc.c. ptmalloc is much more heavyweight, but it would probably do better in cases where you have a large number of threads doing a massive number of malloc/free operations on a multiprocessor system. Other than that, I don't know enough details about ptmalloc to speculate, except to say that for most real-world workloads on modern systems, the impact of the malloc implementation is likely to be negligible. Of course, test results would be interesting... ___ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to [EMAIL PROTECTED]
Re: Makefile .for and .if expansion
On Sat, 12 Feb 2005, Kris Kennaway wrote: KKThe following small makefile doesn't behave as one would naively KKexpect: KK KKMANLANG?=foo KKall: KK.for i in ${MANLANG} KK.if empty(${i}) KK@echo foo ${i} KK.endif KK.endfor KK KKports-i386%make KKfoo foo KKfoo KK KKI think this is because the .if evaluation is happening too early, and KKit's not being done after the .for loop is expanded and the i variable KKis set. KK KKIn order to get this to work I seem to have to do the following: KK KKMANLANG?=foo KK.for i in ${MANLANG} KKj= ${i} KK.if (${j} != \\) KK.for l in ${j} KKk+= ${l} KK.endfor KK.endif KK.endfor KKall: KK@echo ${k} KK KKports-i386%make KKfoo KK KKIf I remove the inner .for it breaks, and if I remove the j assignment KKit breaks. Also if I try and remove the use of k and put an echo KKinside the inner .for (with the all: preceding the whole loop) it KKbreaks. KK KKThis is extremely nasty. KK KKAm I missing an easier way to do this? As far as I can see you just discovered the limitation of make that is documented under the BUGs section in the man page. This is the result of the quit simple minded .for implementation (it's basically like expanding a macro). harti ___ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to [EMAIL PROTECTED]
Re: Makefile .for and .if expansion
Hi Kris, On Sat, Feb 12, 2005 at 06:32:01PM -0800, Kris Kennaway wrote: The following small makefile doesn't behave as one would naively expect: MANLANG?=foo all: .for i in ${MANLANG} .if empty(${i}) @echo foo ${i} .endif .endfor ports-i386%make foo foo foo I think this is because the .if evaluation is happening too early, and it's not being done after the .for loop is expanded and the i variable is set. This makefile is broken, you're abusing empty(). empty() expects a variable name (without `$') as an argument, and ``.if empty(foo)'' means true if ${foo} has an empty value. Note that in 4.x, foo also needs to be a defined variable, for this to work at all. In 5.x and 6.x, undefined variables are treated like empty variable by empty(). In order to get this to work I seem to have to do the following: MANLANG?=foo .for i in ${MANLANG} j= ${i} .if (${j} != \\) .for l in ${j} k+= ${l} .endfor .endif .endfor all: @echo ${k} ports-i386%make foo If I remove the inner .for it breaks, and if I remove the j assignment it breaks. Also if I try and remove the use of k and put an echo inside the inner .for (with the all: preceding the whole loop) it breaks. This is extremely nasty. Yes. This behavior is documented in the BUGS section of the make(1) manpage: .for loops are unrolled before tests, and .for variables aren't real variables, so a fragment like this: .for i in foo bar .if ${i} == foo echo ${i} .endif .endfor doesn't work. This fragment is rewritten by make(1) before further parsing as follows: .if foo == foo echo foo .endif .if bar == foo echo bar .endif And since .if expects a ${variable} as its first argument, it fails. About why you need an inner loop. Remember again that .for loops are unrolled before parsing, it means that a fragment like this: .for i in foo bar j=${i} k+=${j} .endfor is equivalent to j=foo k+=${j} j=bar k+=${j} which means that `k' will get a value of bar bar. When you use an inner loop, .for i in foo bar j=${i} .for l in ${j} k+=${l} .endfor .endfor it first gets rewritten to: j=foo .for l in ${j} k+=${l} .endfor j=bar .for l in ${j} k+=${l} .endfor then to: j=foo k+=foo j=bar k+=bar which DTRT, but also has a side effect of setting j to bar. Am I missing an easier way to do this? May I suggest the following instead: %%% MANLANG?= foo bar all: .for i in ${MANLANG:N} @echo foo ${i} .endfor %%% Note that `' is not an empty value in make(1), it's just a regular value consisting of two double quotes. Cheers, -- Ruslan Ermilov [EMAIL PROTECTED] FreeBSD committer pgpjj2c9e1zVG.pgp Description: PGP signature
Re: Devilator - performance monitoring for FreeBSD
Harti Brandt wrote: On Wed, 2 Feb 2005, Robert Watson wrote: RW RWOn Wed, 2 Feb 2005, Borja Marcos wrote: RW RW I'm not sure about the correct values in the process description RW to get a picture as accurate as possible of the cpu usage of different RW processes. I've seen that top uses p_runtime (FreeBSD 5 and FreeBSD 4), RW but I'm not sure if the value would be really useful. RW RWThis is very cool. :-) How are you currently extracting the information? RWOne of the things I've wanted to do for a while is make sure all this sort RWof thing is exposed via snmpd so that the information can be gathered RWeasily across a large number of hosts (say, 10,000). That could be a nice JUH (junior userspace hacker's) task to add a module to bsnmp. net-snmp is able to run arbitrary external code to obtain values to be monitored, and it seem to be able to use modules (haven't used them yet). I've been using net-snmp/mrtg already for as long as I can remember to monitor load and diskspace. Processes and other things with MRTG are IMHO sort of troublesome since sample period is 5 minutes. And most processes that outlive that timespan are kernel/daemon processes. What I like about Borja's stuff is that he is able to plot more that just 2 params in 1 graph. --WjW ___ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to [EMAIL PROTECTED]
Re: Devilator - performance monitoring for FreeBSD
Andrew J Caines wrote: I'd also vouch for collecting orcallator data using rsync over ssh from the client systems to the cruching and report generating server. Wait until you would like to do a larger server park. Then you start running into performance issues because you nee to setup a full ssh/tcp connection. Whereas SNMP-v3 over UDP is a lot faster and simpler. And it is not like you are transporting majore security type data I'm still using a large number of hosts with v1 and IP-number locking as security. --WjW ___ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to [EMAIL PROTECTED]
Re: Devilator - performance monitoring for FreeBSD
On Sun, 13 Feb 2005, Willem Jan Withagen wrote: WJWHarti Brandt wrote: WJW On Wed, 2 Feb 2005, Robert Watson wrote: WJW WJW RW WJW RWOn Wed, 2 Feb 2005, Borja Marcos wrote: WJW RW WJW RW I'm not sure about the correct values in the process description WJW RW to get a picture as accurate as possible of the cpu usage of WJW different WJW RW processes. I've seen that top uses p_runtime (FreeBSD 5 and FreeBSD WJW 4), WJW RW but I'm not sure if the value would be really useful. RW WJW RWThis is very cool. :-) How are you currently extracting the WJW information? RWOne of the things I've wanted to do for a while is make WJW sure all this sort WJW RWof thing is exposed via snmpd so that the information can be gathered WJW RWeasily across a large number of hosts (say, 10,000). WJW WJW That could be a nice JUH (junior userspace hacker's) task to add a module WJW to bsnmp. WJW WJWnet-snmp is able to run arbitrary external code to obtain values to be WJWmonitored, and it seem to be able to use modules (haven't used them yet). I know. But on the other hand net-snmp is huge while bsnmp is in the base system. harti WJW WJWI've been using net-snmp/mrtg already for as long as I can remember to WJWmonitor load and diskspace. Processes and other things with MRTG are IMHO WJWsort of troublesome since sample period is 5 minutes. And most processes WJWthat outlive that timespan are kernel/daemon processes. WJW WJWWhat I like about Borja's stuff is that he is able to plot more that just 2 WJWparams in 1 graph. WJW WJW--WjW WJW WJW WJW ___ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to [EMAIL PROTECTED]
Re: SIGBUS help, please
On Thu, Feb 10, 2005 at 10:55:58PM +0200, Ion-Mihai Tetcu wrote: Hi, One of my ports - mail/dspam-devel stays at 3.4 because newer versions crash on FreeBSD (they work on Linux and Solaris). Can someone make some sense from the output bellow ? I'm willing to make a port and help with all needed setup information - a 5-10 minutes job if someone has the time for it. Have you tried valgrind in any of its modes yet? -- Brian Fundakowski Feldman \'[ FreeBSD ]''\ [EMAIL PROTECTED] \ The Power to Serve! \ Opinions expressed are my own. \,,\ ___ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to [EMAIL PROTECTED]
Re: Devilator - performance monitoring for FreeBSD
Wait until you would like to do a larger server park. Then you start running into performance issues because you nee to setup a full ssh/tcp connection. Whereas SNMP-v3 over UDP is a lot faster and simpler. And it is not like you are transporting majore security type data Well, I've been using orcallator and Orca to monitor 20+ Solaris servers for some years, and a small Sun Netra T1 is capable of keeping up with the data. The good thing about using an agent in each machine is that you get more consistent info. BTW, it will be released his week. I'm completing the network statistics, and testing on i386 and sparc64. Borja. ___ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to [EMAIL PROTECTED]
Re: SIGBUS help, please
On Sun, Feb 13, 2005 at 10:03:30AM -0500, Brian Fundakowski Feldman wrote: On Thu, Feb 10, 2005 at 10:55:58PM +0200, Ion-Mihai Tetcu wrote: Hi, One of my ports - mail/dspam-devel stays at 3.4 because newer versions crash on FreeBSD (they work on Linux and Solaris). Can someone make some sense from the output bellow ? I'm willing to make a port and help with all needed setup information - a 5-10 minutes job if someone has the time for it. Have you tried valgrind in any of its modes yet? Wasn't some valgrind output included in the message you actually replied to? :) Or am I misunderstanding your question due to the fact that I've never actually used valgrind? If so, sorry... G'luck, Peter -- Peter Pentchev [EMAIL PROTECTED][EMAIL PROTECTED][EMAIL PROTECTED] PGP key:http://people.FreeBSD.org/~roam/roam.key.asc Key fingerprint FDBA FD79 C26F 3C51 C95E DF9E ED18 B68D 1619 4553 Nostalgia ain't what it used to be. pgpPZXsELWPhY.pgp Description: PGP signature
Re: SIGBUS help, please
On Sun, Feb 13, 2005 at 05:51:11PM +0200, Peter Pentchev wrote: On Sun, Feb 13, 2005 at 10:03:30AM -0500, Brian Fundakowski Feldman wrote: On Thu, Feb 10, 2005 at 10:55:58PM +0200, Ion-Mihai Tetcu wrote: Hi, One of my ports - mail/dspam-devel stays at 3.4 because newer versions crash on FreeBSD (they work on Linux and Solaris). Can someone make some sense from the output bellow ? I'm willing to make a port and help with all needed setup information - a 5-10 minutes job if someone has the time for it. Have you tried valgrind in any of its modes yet? Wasn't some valgrind output included in the message you actually replied to? :) Or am I misunderstanding your question due to the fact that I've never actually used valgrind? If so, sorry... Err, sorry, it makes more sense if I say all instead of where I said any. There's a few of them that more check address space validity in general, and there's one that tries to check for thread-safety issues. -- Brian Fundakowski Feldman \'[ FreeBSD ]''\ [EMAIL PROTECTED] \ The Power to Serve! \ Opinions expressed are my own. \,,\ ___ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to [EMAIL PROTECTED]
Re: SIGBUS help, please
On Sun, 13 Feb 2005 10:03:30 -0500 Brian Fundakowski Feldman [EMAIL PROTECTED] wrote: On Thu, Feb 10, 2005 at 10:55:58PM +0200, Ion-Mihai Tetcu wrote: Hi, One of my ports - mail/dspam-devel stays at 3.4 because newer versions crash on FreeBSD (they work on Linux and Solaris). Can someone make some sense from the output bellow ? I'm willing to make a port and help with all needed setup information - a 5-10 minutes job if someone has the time for it. Have you tried valgrind in any of its modes yet? I wouldn't have posted here without reaching my level of incompetence first :-/ Beginning with 3.3.2 dspam's author has rewritten a lot of code involving threads and with his help I've managed to make it work on FreeBSD and so I can run 3.3.4 in production. After 3.3.4 I haven't been able to keep up with him and besides this crash, which mask it, there is at least an other threading bug on FreeBSD. -- IOnut Unregistered ;) FreeBSD user ___ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to [EMAIL PROTECTED]
Re: SIGBUS help, please
On Sun, 13 Feb 2005 18:26:16 +0200 Ion-Mihai Tetcu [EMAIL PROTECTED] wrote: On Sun, 13 Feb 2005 10:03:30 -0500 Brian Fundakowski Feldman [EMAIL PROTECTED] wrote: On Thu, Feb 10, 2005 at 10:55:58PM +0200, Ion-Mihai Tetcu wrote: Hi, One of my ports - mail/dspam-devel stays at 3.4 because newer versions crash on FreeBSD (they work on Linux and Solaris). Can someone make some sense from the output bellow ? I'm willing to make a port and help with all needed setup information - a 5-10 minutes job if someone has the time for it. Have you tried valgrind in any of its modes yet? I wouldn't have posted here without reaching my level of incompetence first :-/ Beginning with 3.3.2 dspam's author has rewritten a lot of code involving threads and with his help I've managed to make it work on FreeBSD and so I can run 3.3.4 in production. After 3.3.4 I haven't been able to keep up with him and besides this crash, which mask it, there is at least an other threading bug on FreeBSD. Not that I'm understanding why, but _right now_, run from gdb or not it works, even if I deliver multiple messages in parallel. And this inconsistent behaviour it's not a local problem, I've reproduced it on 2 boxes and got users reports too. I'm really loss :( In valgrind, on the other hand, --trace-pthread=all --trace-signals=yes it dies: --85813-- PTHREAD[1]: pthread_getspecific_ptr --85813-- PTHREAD[1]: pthread_getspecific_ptr --85813-- PTHREAD[1]: pthread_mutex_unlock mx 0x3C1CD474 ... --85813-- sys_wait_results: got PX_SetSigmask for TID 2 85813: [2/13/2005 18:41:39] No QuarantineAgent option found. Using quarantine. 85813: [2/13/2005 18:41:39] using database handle id 1 --85813-- PTHREAD[2]: pthread_mutex_lock mx 0x3C2EB698 ... 85813: [2/13/2005 18:41:40] DSPAM Instance Startup 85813: [2/13/2005 18:41:40] input args: --user itetcu --classify 85813: [2/13/2005 18:41:40] pass-thru args: /usr/libexec/mail.local -d %u 85813: [2/13/2005 18:41:40] processing user itetcu 85813: [2/13/2005 18:41:40] uid = 0, euid = 0, gid = 0, egid = 0 85813: [2/13/2005 18:41:40] Loading preferences for user itetcu 85813: [2/13/2005 18:41:40] Loading preferences from dspam.conf 85813: [2/13/2005 18:41:40] using /var/db/dspam/opt-in/itetcu.dspam as path 85813: [2/13/2005 18:41:40] using /var/db/dspam/opt-out/itetcu.nodspam as path 85813: [2/13/2005 18:41:40] sedation level set to: 4 ==85813== Thread 2: ==85813== Conditional jump or move depends on uninitialised value(s) ==85813==at 0x80622A6: _ds_get_signature (mysql_drv.c:1095) ==85813==by 0x804FAED: process_message (dspam.c:352) ==85813==by 0x8050BD6: process_users (dspam.c:1408) ==85813==by 0x80540DF: process_connection (daemon.c:404) ==85813== ==85813== Thread 2: ==85813== Conditional jump or move depends on uninitialised value(s) ==85813==at 0x80622AC: _ds_get_signature (mysql_drv.c:1095) ==85813==by 0x804FAED: process_message (dspam.c:352) ==85813==by 0x8050BD6: process_users (dspam.c:1408) ==85813==by 0x80540DF: process_connection (daemon.c:404) 85813: [2/13/2005 18:41:40] mysql_fetch_row() failed in _ds_get_signature 85813: [2/13/2005 18:41:40] signature retrieval for '420bca9c781172725874071' failed ==85813== ==85813== Thread 2: ==85813== Conditional jump or move depends on uninitialised value(s) ==85813==at 0x805A404: _ds_operate (libdspam.c:1057) ==85813==by 0x805BB0E: dspam_process (libdspam.c:525) ==85813==by 0x804F587: process_message (dspam.c:396) ==85813==by 0x8050BD6: process_users (dspam.c:1408) ==85813== ==85813== Thread 2: ==85813== Conditional jump or move depends on uninitialised value(s) ==85813==at 0x805A40A: _ds_operate (libdspam.c:1057) ==85813==by 0x805BB0E: dspam_process (libdspam.c:525) ==85813==by 0x804F587: process_message (dspam.c:396) ==85813==by 0x8050BD6: process_users (dspam.c:1408) 85813: [2/13/2005 18:41:45] Loading 537 BNR patterns --85813-- signal 10 arrived ... si_code=30 --85813-- delivering signal 10 (SIGBUS) to thread 2 --85813-- delivering 10 to default handler terminate+core ==85813== ==85813== Process terminating with default action of signal 10 (SIGBUS): dumping core ==85813==at 0x8060878: bnr_finalize (bnr.c:313) ==85813==by 0x805B5A1: _ds_operate (libdspam.c:1213) ==85813==by 0x805BB0E: dspam_process (libdspam.c:525) ==85813==by 0x804F587: process_message (dspam.c:396) ==85813== ==85813== ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0) ==85813== malloc/free: in use at exit: 813289 bytes in 25497 blocks. ==85813== malloc/free: 37449 allocs, 11952 frees, 1680394 bytes allocated. ==85813== For counts of detected errors, rerun with: -v ==85813== searching for pointers to 25497 not-freed blocks. ==85813== checked 3951736 bytes. -- IOnut Unregistered ;) FreeBSD user ___ freebsd-hackers@freebsd.org mailing list
Re: bin/76089: The -n option in /usr/bin/w is broken
w(1) behaviour has changed with brien commit in w.c revision 1.48. Funny, but looks like '-n' options works right after commit, not before. The reason is utmp holds a host name and w(1) with '-n' flag _do_ resolve hostname back in IP address and without '-n' don't resolve it. It's confised. IMHO to be more robust, we should make utmp to hold an IP address instead of a hostname and change all applications that use it. As bonus it will fix a delay on login when resolving does not work. And last(1) will show more useful IP address instead of changable hostname. But I'm not sure about standards. -- Sem. ___ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to [EMAIL PROTECTED]
Re: SIGBUS help, please
On Sun, Feb 13, 2005 at 06:47:52PM +0200, Ion-Mihai Tetcu wrote: On Sun, 13 Feb 2005 18:26:16 +0200 Ion-Mihai Tetcu [EMAIL PROTECTED] wrote: On Sun, 13 Feb 2005 10:03:30 -0500 Brian Fundakowski Feldman [EMAIL PROTECTED] wrote: On Thu, Feb 10, 2005 at 10:55:58PM +0200, Ion-Mihai Tetcu wrote: Hi, One of my ports - mail/dspam-devel stays at 3.4 because newer versions crash on FreeBSD (they work on Linux and Solaris). Can someone make some sense from the output bellow ? I'm willing to make a port and help with all needed setup information - a 5-10 minutes job if someone has the time for it. Have you tried valgrind in any of its modes yet? I wouldn't have posted here without reaching my level of incompetence first :-/ Beginning with 3.3.2 dspam's author has rewritten a lot of code involving threads and with his help I've managed to make it work on FreeBSD and so I can run 3.3.4 in production. After 3.3.4 I haven't been able to keep up with him and besides this crash, which mask it, there is at least an other threading bug on FreeBSD. Not that I'm understanding why, but _right now_, run from gdb or not it works, even if I deliver multiple messages in parallel. And this inconsistent behaviour it's not a local problem, I've reproduced it on 2 boxes and got users reports too. I'm really loss :( In valgrind, on the other hand, --trace-pthread=all --trace-signals=yes it dies: Have you tried helgrind? That seems to be the one to try next. The default stack trace size it keeps is not very large, so you may want to increase it to 100 or so before you go to debugging these. These 4 errors probably are genuine bugs and could be the root cause of the crash that's occurring... -- Brian Fundakowski Feldman \'[ FreeBSD ]''\ [EMAIL PROTECTED] \ The Power to Serve! \ Opinions expressed are my own. \,,\ ___ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to [EMAIL PROTECTED]
Re: SIGBUS help, please
On Sun, 13 Feb 2005 12:04:37 -0500 Brian Fundakowski Feldman [EMAIL PROTECTED] wrote: On Sun, Feb 13, 2005 at 06:47:52PM +0200, Ion-Mihai Tetcu wrote: On Sun, 13 Feb 2005 18:26:16 +0200 Ion-Mihai Tetcu [EMAIL PROTECTED] wrote: On Sun, 13 Feb 2005 10:03:30 -0500 Brian Fundakowski Feldman [EMAIL PROTECTED] wrote: On Thu, Feb 10, 2005 at 10:55:58PM +0200, Ion-Mihai Tetcu wrote: Hi, One of my ports - mail/dspam-devel stays at 3.4 because newer versions crash on FreeBSD (they work on Linux and Solaris). Can someone make some sense from the output bellow ? I'm willing to make a port and help with all needed setup information - a 5-10 minutes job if someone has the time for it. Have you tried valgrind in any of its modes yet? I wouldn't have posted here without reaching my level of incompetence first :-/ Beginning with 3.3.2 dspam's author has rewritten a lot of code involving threads and with his help I've managed to make it work on FreeBSD and so I can run 3.3.4 in production. After 3.3.4 I haven't been able to keep up with him and besides this crash, which mask it, there is at least an other threading bug on FreeBSD. Not that I'm understanding why, but _right now_, run from gdb or not it works, even if I deliver multiple messages in parallel. And this inconsistent behaviour it's not a local problem, I've reproduced it on 2 boxes and got users reports too. I'm really loss :( In valgrind, on the other hand, --trace-pthread=all --trace-signals=yes it dies: Have you tried helgrind? That seems to be the one to try next. The default stack trace size it keeps is not very large, so you may want to increase it to 100 or so before you go to debugging these. These 4 errors probably are genuine bugs and could be the root cause of the crash that's occurring... On this it works 5.3-STABLE FreeBSD 5.3-STABLE #0: Thu Feb 10 17:38:05 EET 2005 [EMAIL PROTECTED]:/usr/obj/usr/src/sys/IT53_U i386 this kernel has ULE On this it crash 5.3-STABLE FreeBSD 5.3-STABLE #17: Mon Jan 17 23:40:22 EET 2005 [EMAIL PROTECTED]:/usr/obj/usr/src/sys/IT53_d i386 this 4BSD WTF ?? -- IOnut Unregistered ;) FreeBSD user ___ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to [EMAIL PROTECTED]
Re: SIGBUS help, please
[ Stefan, please give me a uname -a and scheduler type. Thanks. ] On Sun, 13 Feb 2005 20:25:59 +0200 Ion-Mihai Tetcu [EMAIL PROTECTED] wrote: On Sun, 13 Feb 2005 12:04:37 -0500 Brian Fundakowski Feldman [EMAIL PROTECTED] wrote: On Sun, Feb 13, 2005 at 06:47:52PM +0200, Ion-Mihai Tetcu wrote: [ ... ] In valgrind, on the other hand, --trace-pthread=all --trace-signals=yes it dies: Have you tried helgrind? That seems to be the one to try next. The default stack trace size it keeps is not very large, so you may want to increase it to 100 or so before you go to debugging these. These 4 errors probably are genuine bugs and could be the root cause of the crash that's occurring... On this it works 5.3-STABLE FreeBSD 5.3-STABLE #0: Thu Feb 10 17:38:05 EET 2005 [EMAIL PROTECTED]:/usr/obj/usr/src/sys/IT53_U i386 this kernel has ULE On this it crash 5.3-STABLE FreeBSD 5.3-STABLE #17: Mon Jan 17 23:40:22 EET 2005 [EMAIL PROTECTED]:/usr/obj/usr/src/sys/IT53_d i386 this 4BSD WTF ?? Could this be the reason ? : jhb 2005-02-04 16:17:56 UTC FreeBSD src repository Modified files:(Branch: RELENG_5) [..] Log: MFC Most of the various fixes and changes to libpthread from HEAD to 5.x including: Pull debug symbols in for statically linked binaries. gcc -O2 cleanups. Don't call _thr_start_sig_daemon() when SYSTEM_SCOPE_ONLY is defined. If a system scope thread didn't set a timeout, don't call the clock_gettime system call before and after sleeping. Add missing reference count drops to close a memory leak. Save cancelflags in signal frame. Use a generic way to back threads out of wait queues when handling signals instead of having more intricate knowledge of thread state within signal handling. Simplify signal code because of above (by David Xu). Use macros for libpthread usage of pthread_cleanup_push() and pthread_cleanup_pop(). This removes some instances of malloc() and free() from the semaphore and pthread_once() implementations. When single threaded and forking(), make sure that the current thread's signal mask is inherited by the forked thread. Use private mutexes for libc and libpthread. Signals are deferred while threads hold private mutexes. This fix breaks an internal system ABI that old versions of the www/linuxpluginwrapper port depend on. Upgrading that port to the latest version will fix that. Fix race condition in condition variables where handling a signal (pthread_kill() or kill()) may not see a wakeup (pthread_cond_signal() or pthread_cond_broadcast()). Don't panic when sigsuspend is interrupted by a cancellation. jhb 2005-02-04 16:07:33 UTC FreeBSD src repository Modified files:(Branch: RELENG_5) lib/libpthread/thread thr_exit.c Log: MFC: Check unhandled signals before thread marks itself as DEAD; this reduces chances of losing a signal. -- IOnut Unregistered ;) FreeBSD user ___ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to [EMAIL PROTECTED]
Re: SIGBUS help, please
On Sun, 13 Feb 2005 20:38:38 +0200 Ion-Mihai Tetcu [EMAIL PROTECTED] wrote: [ Stefan, please give me a uname -a and scheduler type. Thanks. ] and CFLAGS; on both machines I use -O2 -pipe. Pull debug symbols in for statically linked binaries. gcc -O2 cleanups. -- IOnut Unregistered ;) FreeBSD user ___ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to [EMAIL PROTECTED]
Re: SIGBUS help, please
On Sun, 13 Feb 2005 20:28:41 +0100 Daniel S. Haischt [EMAIL PROTECTED] wrote: FreeBSD abyssone.abyssworld.de 5.3-STABLE FreeBSD 5.3-STABLE #0: Thu Jan 20 13:07:40 CET 2005 root@:/usr/obj/usr/src/sys/ABYSSONE i386 [EMAIL PROTECTED] less /usr/src/sys/i386/conf/ABYSSONE | grep SCHED options SCHED_4BSD options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions With sources from Thu Feb 10 17:38:05 EET 2005, both ULE or 4BSD (just checked) and the latest cvs-devel snap I seems to have no problem with dspam. If you could confirm that I'll update the port. -- IOnut Unregistered ;) FreeBSD user ___ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to [EMAIL PROTECTED]
Re: SIGBUS help, please
On Sun, 13 Feb 2005 20:47:48 +0100 Daniel S. Haischt [EMAIL PROTECTED] wrote: are you refering to cvs-devel.20050208.1530 if talking about cvs-devel? Yes. I have some local tricks, but I've run with that version something like: sh -c 'for I in `ls /home/itetcu/zMailOld/mysql/mysql/222*` ; do cat $I | ./dspamc --user itetcu --mode=tum --features=ch,no,wh,tb=4 --proccess --stdout done' (that's 111 msg) and got not problem. Ion-Mihai Tetcu schrieb: On Sun, 13 Feb 2005 20:28:41 +0100 Daniel S. Haischt [EMAIL PROTECTED] wrote: FreeBSD abyssone.abyssworld.de 5.3-STABLE FreeBSD 5.3-STABLE #0: Thu Jan 20 13:07:40 CET 2005 root@:/usr/obj/usr/src/sys/ABYSSONE i386 [EMAIL PROTECTED] less /usr/src/sys/i386/conf/ABYSSONE | grep SCHED options SCHED_4BSD options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions With sources from Thu Feb 10 17:38:05 EET 2005, both ULE or 4BSD (just checked) and the latest cvs-devel snap I seems to have no problem with dspam. If you could confirm that I'll update the port. -- Mit freundlichen Gruessen / With kind regards DAn.I.El S. Haischt Want a complete signature??? Type at a shell prompt: $ finger -l [EMAIL PROTECTED] -- IOnut Unregistered ;) FreeBSD user ___ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to [EMAIL PROTECTED]
Re: Makefile .for and .if expansion
On Sun, Feb 13, 2005 at 01:10:33PM +0200, Ruslan Ermilov wrote: Am I missing an easier way to do this? May I suggest the following instead: %%% MANLANG?= foo bar all: .for i in ${MANLANG:N} @echo foo ${i} .endfor %%% Thanks for your analysis and helpful suggestion. Kris pgpCJpqocQ9a4.pgp Description: PGP signature
Re: SIGBUS help, please
FreeBSD abyssone.abyssworld.de 5.3-STABLE FreeBSD 5.3-STABLE #0: Thu Jan 20 13:07:40 CET 2005 root@:/usr/obj/usr/src/sys/ABYSSONE i386 [EMAIL PROTECTED] less /usr/src/sys/i386/conf/ABYSSONE | grep SCHED options SCHED_4BSD options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions Ion-Mihai Tetcu schrieb: [ Stefan, please give me a uname -a and scheduler type. Thanks. ] On Sun, 13 Feb 2005 20:25:59 +0200 Ion-Mihai Tetcu [EMAIL PROTECTED] wrote: On Sun, 13 Feb 2005 12:04:37 -0500 Brian Fundakowski Feldman [EMAIL PROTECTED] wrote: On Sun, Feb 13, 2005 at 06:47:52PM +0200, Ion-Mihai Tetcu wrote: [ ... ] In valgrind, on the other hand, --trace-pthread=all --trace-signals=yes it dies: Have you tried helgrind? That seems to be the one to try next. The default stack trace size it keeps is not very large, so you may want to increase it to 100 or so before you go to debugging these. These 4 errors probably are genuine bugs and could be the root cause of the crash that's occurring... On this it works 5.3-STABLE FreeBSD 5.3-STABLE #0: Thu Feb 10 17:38:05 EET 2005 [EMAIL PROTECTED]:/usr/obj/usr/src/sys/IT53_U i386 this kernel has ULE On this it crash 5.3-STABLE FreeBSD 5.3-STABLE #17: Mon Jan 17 23:40:22 EET 2005 [EMAIL PROTECTED]:/usr/obj/usr/src/sys/IT53_d i386 this 4BSD WTF ?? Could this be the reason ? : jhb 2005-02-04 16:17:56 UTC FreeBSD src repository Modified files:(Branch: RELENG_5) [..] Log: MFC Most of the various fixes and changes to libpthread from HEAD to 5.x including: Pull debug symbols in for statically linked binaries. gcc -O2 cleanups. Don't call _thr_start_sig_daemon() when SYSTEM_SCOPE_ONLY is defined. If a system scope thread didn't set a timeout, don't call the clock_gettime system call before and after sleeping. Add missing reference count drops to close a memory leak. Save cancelflags in signal frame. Use a generic way to back threads out of wait queues when handling signals instead of having more intricate knowledge of thread state within signal handling. Simplify signal code because of above (by David Xu). Use macros for libpthread usage of pthread_cleanup_push() and pthread_cleanup_pop(). This removes some instances of malloc() and free() from the semaphore and pthread_once() implementations. When single threaded and forking(), make sure that the current thread's signal mask is inherited by the forked thread. Use private mutexes for libc and libpthread. Signals are deferred while threads hold private mutexes. This fix breaks an internal system ABI that old versions of the www/linuxpluginwrapper port depend on. Upgrading that port to the latest version will fix that. Fix race condition in condition variables where handling a signal (pthread_kill() or kill()) may not see a wakeup (pthread_cond_signal() or pthread_cond_broadcast()). Don't panic when sigsuspend is interrupted by a cancellation. jhb 2005-02-04 16:07:33 UTC FreeBSD src repository Modified files:(Branch: RELENG_5) lib/libpthread/thread thr_exit.c Log: MFC: Check unhandled signals before thread marks itself as DEAD; this reduces chances of losing a signal. -- Mit freundlichen Gruessen / With kind regards DAn.I.El S. Haischt Want a complete signature??? Type at a shell prompt: $ finger -l [EMAIL PROTECTED] ___ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to [EMAIL PROTECTED]
Re: SIGBUS help, please
I did not modify the default CFLAGS settings, so they are still set to '-O -pipe'. Don't know whether the information helps, but I am running DSPAM on a ... Fujitsu Siemens Celsius 600 2x 1GHz SMP ... system Ion-Mihai Tetcu schrieb: On Sun, 13 Feb 2005 20:38:38 +0200 Ion-Mihai Tetcu [EMAIL PROTECTED] wrote: [ Stefan, please give me a uname -a and scheduler type. Thanks. ] and CFLAGS; on both machines I use -O2 -pipe. Pull debug symbols in for statically linked binaries. gcc -O2 cleanups. -- Mit freundlichen Gruessen / With kind regards DAn.I.El S. Haischt Want a complete signature??? Type at a shell prompt: $ finger -l [EMAIL PROTECTED] ___ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to [EMAIL PROTECTED]
Re: SIGBUS help, please
are you refering to cvs-devel.20050208.1530 if talking about cvs-devel? Ion-Mihai Tetcu schrieb: On Sun, 13 Feb 2005 20:28:41 +0100 Daniel S. Haischt [EMAIL PROTECTED] wrote: FreeBSD abyssone.abyssworld.de 5.3-STABLE FreeBSD 5.3-STABLE #0: Thu Jan 20 13:07:40 CET 2005 root@:/usr/obj/usr/src/sys/ABYSSONE i386 [EMAIL PROTECTED] less /usr/src/sys/i386/conf/ABYSSONE | grep SCHED options SCHED_4BSD options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions With sources from Thu Feb 10 17:38:05 EET 2005, both ULE or 4BSD (just checked) and the latest cvs-devel snap I seems to have no problem with dspam. If you could confirm that I'll update the port. -- Mit freundlichen Gruessen / With kind regards DAn.I.El S. Haischt Want a complete signature??? Type at a shell prompt: $ finger -l [EMAIL PROTECTED] ___ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to [EMAIL PROTECTED]
Re: malloc vs ptmalloc2
On 02/13/05 03:21:29, David Schultz wrote: On Sun, Feb 13, 2005, Jason Henson wrote: I saw on a few of the lists here how linux uses ptmalloc2 and it outperforms bsd's malloc. I tried to do some research into it and found PHK's pdf on it and it seems bsd's malloc was ment to be ok in most every situation. Because of this it shines when primary storage is seriously over committed. So here is my question, I use FreeBSD as a desktop and never ever use swap(I just don't stress my system enough?), can I use ptmalloc in stead of malloc? Like defining SCHED_ULE instead of SCHED_4BSD. Can the system malloc be switched out? With a little bit of work, you should be able to replace src/lib/libc/stdlib/malloc.c. ptmalloc is much more heavyweight, but it would probably do better in cases where you have a large number of threads doing a massive number of malloc/free operations on a multiprocessor system. Other than that, I don't know enough details about ptmalloc to speculate, except to say that for most real-world workloads on modern systems, the impact of the malloc implementation is likely to be negligible. Of course, test results would be interesting... I see what you mean by heavy weight! Looking through the sources. The gains looked promising in this thread http://docs.freebsd.org/cgi/mid.cgi?420BB1FF.11156.68F6CEC I might find the time for it, and if I do I hope it is not too difficult. ___ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to [EMAIL PROTECTED]
Re: Firewire blues
On Thu, 2005-02-10 at 12:02, Gerald Heinig wrote: Stephan Uphoff wrote: Once I linked in dcons, dcons_crom and firewire into the kernel everything worked. (I think only dcons is really needed - maybe a link set issue?) I only used the gdb stub method. Can you send me your dmesg? (After you linked the dcons stuff into the kernel) Another thing: what system are you on? -current? I'm using 5.3-RELEASE and I've noticed that a lot of the commands and responses in the HowTo are different to my system. Could that be the problem? Cheers, Gerald OK - I finally managed to try this on a newly installed 5.3-RELEASE. I copied the GENERIC config file (to GENERIC.debug) and added a few lines diff -u GENERIC GENERIC.debug --- GENERIC Sun Oct 24 14:02:52 2004 +++ GENERIC.debug Mon Feb 14 03:15:21 2005 @@ -24,6 +24,14 @@ cpuI686_CPU ident GENERIC +makeoptions DEBUG=-g# Build kernel with gdb(1) debug symbols +options KDB # Enable kernel debugger support. +options DDB # Support DDB. +options GDB # Support remote GDB. +options ALT_BREAK_TO_DEBUGGER +device dcons +device dcons_crom + # To statically compile in device wiring instead of /boot/device.hints #hints GENERIC.hints # Default places to look for devices. Then configured/compiled/installed the GENERIC.debug kernel. Copied the kernel.debug file in the GENERIC.debug compile directory to the debug station and rebooted the target machine. After reboot I set the default debugger to gdb target# sysctl -w debug.kdb.current=gdb and entered the debugger target# sysctl -w debug.kdb.enter=1 On the debugging station I entered debug 1# dconschat -br -G -t firewire address of target and then in another window debug 2# kgdb -r : kernel.debug And it just worked for me. I have to admit that my debugging machine is not 5.3 .. but I believe I used the same setup with pre 5.3 userland before. Let me know if you can repeat my steps. If not then I can set up a 5.3 debugging station in the next days. Stephan ___ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to [EMAIL PROTECTED]
Re: bin/76089: The -n option in /usr/bin/w is broken
On Sun, 2005-Feb-13 19:50:44 +0300, Sergey Matveychuk wrote: IMHO to be more robust, we should make utmp to hold an IP address instead of a hostname and change all applications that use it. As bonus it will fix a delay on login when resolving does not work. And last(1) will show more useful IP address instead of changable hostname. Depending on the environment, the IP address may be more changeable than the hostname. Definitely, in a DHCP or dialup environment, you can't rely on the IP address at any time other than during the session. There is little (if any) benefit in logging the IP address instead of the hostname. -- Peter Jeremy ___ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to [EMAIL PROTECTED]
Re: bin/76089: The -n option in /usr/bin/w is broken
Peter Jeremy wrote: Depending on the environment, the IP address may be more changeable than the hostname. Definitely, in a DHCP or dialup environment, you can't rely on the IP address at any time other than during the session. There is little (if any) benefit in logging the IP address instead of the hostname. I agree, environments are different. So may be it makes no sense to change hostname with IP. It was just an idea. But fact is, we lost 'w -n' semantic. And it should be fixed. BTW, UT_HOSTSIZE=16 is too short in my opinion. -- Sem. ___ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to [EMAIL PROTECTED]
Schedgraphing over a prolonged period of time?
Curious about the new ULE scheduler, I've been running 5-STABLE for about 2-3 days now with preemption enabled. During this period of time, i felt some slowdowns after prolonged use (system gaining latency over time). I remember seeing a schedgraph of the linux/bsd boot process, so my question is, would it be possible to generate a schedgraph at a certain interval of the entire running system (everyday)? I can see how this kind of data would aid in the development of the ULE scheduler. -Julio ___ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to [EMAIL PROTECTED]
Re: bin/76089: The -n option in /usr/bin/w is broken
At 5:16 PM +1100 2/14/05, Peter Jeremy wrote: On Sun, 2005-Feb-13 19:50:44 +0300, Sergey Matveychuk wrote: IMHO to be more robust, we should make utmp to hold an IP address instead of a hostname and change all applications that use it. As bonus it will fix a delay on login when resolving does not work. And last(1) will show more useful IP address instead of changable hostname. Depending on the environment, the IP address may be more changeable than the hostname. Definitely, in a DHCP or dialup environment, you can't rely on the IP address at any time other than during the session. There is little (if any) benefit in logging the IP address instead of the hostname. Actually, it would be nice to log both. That's what I have done for some printer-related statistics (not sure if I did that in FreeBSD, but I do that for production use at RPI). -- Garance Alistair Drosehn= [EMAIL PROTECTED] Senior Systems Programmer or [EMAIL PROTECTED] Rensselaer Polytechnic Instituteor [EMAIL PROTECTED] ___ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to [EMAIL PROTECTED]
Re: bin/76089: The -n option in /usr/bin/w is broken
IMHO to be more robust, we should make utmp to hold an IP address instead of a hostname and change all applications that use it. As bonus it will fix a delay on login when resolving does not work. And last(1) will show more useful IP address instead of changable hostname. [snip] Actually, it would be nice to log both. That's what I have done for some printer-related statistics (not sure if I did that in FreeBSD, but I do that for production use at RPI). Hi, this is [EMAIL PROTECTED] Please you should think IPv6 address that may be 39 bytes. I connected to sshd from a remote computer but w -n displayed IPv4 address. It was not good for me. -- [EMAIL PROTECTED] ___ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to [EMAIL PROTECTED]
Re: bin/76089: The -n option in /usr/bin/w is broken
Garance A Drosihn wrote: Actually, it would be nice to log both. That's what I have done for some printer-related statistics (not sure if I did that in FreeBSD, but I do that for production use at RPI). I like the idea. We can add field 'address' in utmp structure and save hostname and IP address there. It will some backward compatible then (but not for wtmp though). -- Sem. ___ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to [EMAIL PROTECTED]