Hi Johannes,

On Mon, 13 Apr 2009, Johannes Formann wrote:

>>> I'll get this kind of error: Apr 13 15:27:15 server pmacctd[1341]: 
>>> ERROR ( default/mysql ): Duplicate entry 
>>> '0-00:1c:c0:74:5b:e9-00:00:0c:07:ac:6a-0-84.38.64.216-79.221.203.' for 
>>> key 1
>>
>> I get this as well. It means that the primary key is not long enough to 
>> make the records truly unique. As you can see, it has been truncated. 
>> Either find out how to make the key longer (and please let me know :) 
>> or remove some aggregation fields, e.g. mac addresses and vlans.
>
> strange, The primary key could be up to 1000 bytes if I remember 
> correctly, the whole row isn't that long.

Perhaps the error message is being truncated and there really is a 
duplicate of the entire row? You don't have multiple pmacctd's running by 
any chance?

>> I'm not sure why "flows" is in your aggregate set since flows are 
>> already aggregated into flows in all cases by pmacctd, as far as I know 
>> (please correct me if I'm wrong).
>
> flow isn't in the primary key.

I didn't say it was, but it is in your aggregate set and I don't 
understand why.

>>> Apr 13 15:27:15 server kernel: pmacctd[1341]: segfault at f7002991 ip 
>>> 00000000f7bfa9ca sp 00000000ffb88334 error 4 in 
>>> libpthread-2.3.6.so[f7bf2000+e000]
>>
>> And that should definitely not happen. Where did you get pmacct from? 
>> Did you compile it yourself? Can you build a version with debugger 
>> symbols and run it in gdb to get a backtrace (bt command) when it 
>> crashes?
>
> Since I'd had similar problems with the debian version, I compiled it on 
> my own.
>
> Since I hav't much experience with gdb, any hints, this seems to bee not
> the right way:
[...]
> (The error has been loged bevore I pressen ctrl+c)

I guess you mean the SIGSEGV error has been logged in your syslog? gdb 
should stop when it sees the SIGSEGV error, and wait for a command such as 
"bt". So I guess it's happening in another thread than the main one, so it 
will be harder to trace.

You could wait until pmacctd is up and running, then press Ctrl+C, enter 
the "info threads" command, then guess a thread other than the first one 
and switch to it with "thread xxx" and "continue", and hope that that 
thread dies with SIGSEGV.

Cheers, Chris.
-- 
Aptivate | http://www.aptivate.org | Phone: +44 1223 760887
The Humanitarian Centre, Fenner's, Gresham Road, Cambridge CB1 2ES

Aptivate is a not-for-profit company registered in England and Wales
with company number 04980791.


_______________________________________________
pmacct-discussion mailing list
http://www.pmacct.net/#mailinglists

Reply via email to