[[!meta copyright="Copyright © 2011, 2012, 2013 Free Software Foundation, Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable id="license" text="Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled [[GNU Free Documentation License|/fdl]]."]]"""]] [[!tag open_issue_documentation]] [[!toc]] # IRC, freenode, #hurd, 2011-12-04 defpager uses it's own dynamic memory allocator, which uses vm_allocate/vm_deallocate as backing store? Am I able to use duma in such case? you will have to adapt it but it's already designed to handle custom allocators iirc btw, are there special flags for that memory which the pager allocates ? e.g. to use wired memory ? yes, wired memory you'll have to change that in duma then but apart from such details, it should be straightforward braunr: I have no idea about duma; but if you think it's a useful tool, please add it to open_issues/code_analysis.mdwn (I guess we should have a "proper" page listing useful debugging tools...) ## IRC, freenode, #hurd, 2012-09-03 hello. Has anyone tried some memory debugging tools like duma or dmalloc with hurd? mcsim: yes, but i couldn't i tried duma, and it crashes, probably because of cthreads :) # Static Analysis ## IRC, freenode, #hurd, 2012-09-08 hello. What static analyzer would you suggest (probably you have tried it for hurd already)? mcsim: if you find some good free static analyzer, let me know :) a simple one is cppcheck braunr: I'm choosing now between splint and adlint ## IRC, freenode, #hurd, 2013-10-17 whoa, llvm kinda works, enough to make scan-build work :) teythoon: what is scan-build ? braunr: clangs static analyzer ok I'm doing a full build of the hurd using it, I will post the report once it is finished this will help spot many problems well, here are the scan-build reports I got so far: https://teythoon.cryptobitch.de/qa/2013-10-17/scan-build/ I noticed it finds problems in mig generated code, so there are probably lot's of duplictaes for those kind of problems what's a... better one to look at? it's also good at spotting error handling errors, and can spot leaks sometimes hm https://teythoon.cryptobitch.de/qa/2013-10-17/scan-build/report-yVBHO1.html that's minor, the device always exist but that's still ugly https://teythoon.cryptobitch.de/qa/2013-10-17/scan-build/report-MtgWSa.html https://teythoon.cryptobitch.de/qa/2013-10-17/scan-build/report-QdsZIm.html this could be important: https://teythoon.cryptobitch.de/qa/2013-10-17/scan-build/report-PDMEbk.html this is the issue it finds in mig generated server stubs: https://teythoon.cryptobitch.de/qa/2013-10-17/scan-build/report-iU3soc.html this one is #if TypeCheck1 the libports one looks weird indeed but TypeCheck is 1 (the tooltip shows macro expansion) it is defined in line 23 oh hmmm... clang does not support nested functions, that will limit its usefulness for us :/ yes one more reason not to use them ### IRC, freenode, #hurd, 2013-10-18 more complete, now with index: https://teythoon.cryptobitch.de/qa/2013-10-17/scan-build-2/ # Leak Detection See *Leak Detection* on [[boehm_gc]].