Thanks for the answer. I am surprised because I used this code for years 
without ever seeing that error. I'm trying to imagine what I did 
differently this one time. I've added error detection, we'll see if it 
happens again. 



On Friday, September 22, 2017 at 7:34:49 PM UTC-4, Neil Okamoto wrote:
>
>
> Maybe it's because you attempted method invocation via reflection but the 
> object is nil. So for example if (threads) returns a list containing nils, 
> then calling (.getId t) or (.getName t) would probably throw a null pointer 
> exception. I'm not sure it's possible for 
> (ManagementFactory/getThreadMXBean) to return nil, but if it does then 
> (.getThreadCpuTime mgr ...) would similarly fail.
>
> So best guess is, take a look at the implementation of "threads".
>
>
>
>
> On Friday, September 22, 2017 at 1:37:04 PM UTC-7, [email protected] 
> wrote:
>>
>> I've been using this code for years. I copy and pasted it from someone 
>> else on this group, someone much smarter than I am. I have never seen an 
>> error from this code. Now suddenly I get a null pointer exception at the 
>> last line of this code: 
>>
>> (ns denormalize_mysql_to_mongodb.monitoring
>>   (:import
>>    java.lang.management.ManagementFactory)
>>   (:require [clojure.string :as st]))
>>
>>
>> (defn thread-top
>>   "Return a seq of threads sorted by their total userland CPU usage."
>>   []
>>   (let [mgr (ManagementFactory/getThreadMXBean)
>>         cpu-times (map (fn [t]
>>                          [(.getThreadCpuTime mgr (.getId t)) t])
>>                     (threads))]
>>     (map
>>       (fn [[cpu t]] [cpu (.getName t) (.getId t) t])
>>       (reverse (sort-by first cpu-times)))))
>>
>> This error is thrown at startup. I don't know much about ThreadMXBean. 
>> Can anyone give me a clue why any of this would be nil? 
>>
>>
>>
>>
>>
>>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to