IRC Log Viewer » #firebreath » 2012-03-04

IRC Nick Time (GMT-7) Message
Jake__ 06:03 hey guys... i really need help with debugging an assertion failure
it just keeps popping up and i don't know what triggered it.... it said that a file shared_ptr
and i know i haven't touched that file..... i'm still a newbie at this so i never bother to touch files i don't know what they can do.... thanks
dougma 06:03 Jake___: you need to attach the debugger and look at the call stack
Jake___ 07:03 i really am a newbie at this... how do i attach the debugger??
dougma 07:03 are you on windows?
Jake___ 07:03 yep
dougma 07:03 so you have visual studio? Debug -> Attach to process...
what browser are you testing?
Jake___ 07:03 firefox
dougma 07:03 so attach to plugin-container.exe
oh, first let it assert and leave it hanging... then attach to all plugin-container.exe instances
Jake___ 07:03 btw... should I be choosing the whole project?? or to rephrase... should I be debugging the whole project?
dougma 07:03 you should have the firebreath solution open.... and you go Debug -> attach to process....
are you sure you're not going Debug -> Start debugging ?
there's a difference.
Jake___ 07:03 yep... i'm not going there
and btw... when i attach process, and you said attach to all plugin-container.exe instances.... i can't find any instance
dougma 07:03 ok, then i don't understand the question
is firefox running?
Jake___ 07:03 nope
dougma 07:03 hard to debug it then.
Jake___ 07:03 so should i run firefox first?
dougma 07:03 let it assert.
leave it hanging
attach
and then i think you have a couple of options on the assert window
if i recall correctly, cancel will drop you into the debugger
gotta go.
good luck
Jake___ 07:03 oh shoot.... :( thanks anyways
can anyone please help me how to debug this? please.... i really am desperate about this
jshanab_wcw 07:03 Jake___ did you figure it out?
FireBreathBot 07:03 jshanab_wcw: 30 Jan 15:28Z <taxilian> tell jshanab_wcw One of my goals for FireBreath 2.0 is to abstract JSAPI out into it's own project so that it could easily be integrated in with other frameworks; for example, I'd like to make an adapter for node.js
Jake___ 07:03 nope
wew
what i did was attach to process firefox.exe... did i do it wrong?
jshanab_wcw 07:03 I do this all the time. Maybe I can help??? First off i have to turn off mozilla's crash reporter, then I liek to set mozilla to run in single process so I can just attach to firefox and not worry about it spawingin containers
I am pretty sure these debugging tips are on the wiki, but let me see if I can find them on my machine
Jake___ 07:03 you may certainly help... please be easy.. i'm really really dumb.. :)
jshanab_wcw 07:03 add the 3environment variable MOZ_CRASHREPORTER_DISABLE with a value of 1
Jake___ 07:03 huh? where can i find that?
jshanab_wcw 07:03 start->computer right click and select properties
click on advanced system settings and then environment variables
In the bottom box press the new button and fill in the blanks
Jake___ 07:03 go on please....
jshanab_wcw 07:03 Then go to the browser and type about:config into the browser window. type plugins in the filter bar and set dom.ipc.plugins.enabled to false
Restart all copies of firefox so you get the new environment variable
linearray 07:03 taxilian_away: if you come back today and have a minute, it'd be totally cool if you could merge FIREBREATH-160
FireBreathBot 07:03 FIREBREATH-160: Summary: Build fails using boost 1.48 on Mac
FIREBREATH-160: Assigned To: richard
FIREBREATH-160: Priority: Blocker, Status: Open, http://jira.firebreath.org/browse/FIREBREATH-160
linearray 07:03 git pull request
FireBreathBot 07:03 1 open pull request:
linearray: [FIREBREATH-160] Fix building with Boost 1.48+. http://goo.gl/EQfnp
jshanab_wcw 07:03 After this you open firefox WITHOUT restoring pages and before going to your page that will pull in your plugin and with your project open in the browser, attach to the firefox.exe process. set a breakpoint like on OnPluginReady and you will see it is a hollow yellow dot indicated no code loaded. Load your page and the plugin will turn red and probably immediatl;y stop at that breakpoint
s/project open in browser/project open in Visual Studio/
OMG, more coffee indicated... "the breakpoint in the plugin will turn red"
Jake___ 08:03 ok2... i'll try this,... but my problem now is how do i interpret the results
jshanab_wcw 08:03 what do you mean? what is the problem? I cam in late on this conversation
Is this assertion failure in a plugin you have written in the firebreath framework?
Jake___ 08:03 yep
it's in the shared_ptr.hpp
line 418
the px!=0 thing...
jshanab_wcw 08:03 ok assertions come in many flavours that one probably says px!= 0 ???
jinx
Jake___ 08:03 yep
how can i fix this??
please help me and my group
jshanab_wcw 08:03 now let this thing crash. no break point needed and I will show you something really slick
Jake___ 08:03 ok
so what should i do first?
jshanab_wcw 08:03 when it has crashed while you are attached, it will indicate the breakpoint down inside the boost lib or ntdll ore something, but it is caused by code you wrote or forgot to write. The execution stack is avail to you. in VS click on Debug->Windows->callstack. From top to bottom is the stack, backwards in time. Each stack frame has it's own set of values and double clicking on the stackframe...
...that shows your code will take you to the line. You can hover over variables in the source and you will see one that is 0x000000 a null pointer
Jake___ 08:03 wait2.. should i put a breakpoint?? cause you said no breakpoints needed.. so i stopped the debugging process
jshanab_wcw 08:03 Start firefox, attach to process, do not set breakpoint. do what you do to get it to crash. A dialog pops up and I think you will select retry. It takes you into the debugger and shows you the line it thinks is the problem, then dig into the call stack as indicated.
Jake___ 08:03 how can i make it crash exactly??
linearray 08:03 taxilian_away: the recent variable renaming changeset broke FBTestPlugin, I'll try to fix it
linearray 08:03 buon giorno
linearray 09:03 thanks for merging
Jake___ 09:03 hey guys... when there is an assertion failure px!=0... does that mean that a null pointer is accessed?? does that refer to every pointer i have declared?
linearray 09:03 Yes, you dereference a null pointer.
One.
because after that it crashed
Jake___ 09:03 wew
hoooh....
:((
can someone help me with this.... I attached the debugger.... and in the call stack... i viewed all of the things in there.... but i never saw something that isn't my code..... so how can i fix this assertion failed thing??? please help me :(