IRC Log Viewer » #firebreath » 2012-02-16

IRC Nick Time (GMT-7) Message
dougma 01:02 works well. no leaks (with my simple test, anyway)
and i don't notice any speed difference
will clean it up a bit more and push later tonight
(to my repo, for review)
mkoch_ 07:02 can someone help me with debugging a plugin on mac os x lion 64bit safari? I tried to follow the instructions in the wiki but I always get this error in gdb before the plugin would load actually: 0x00007fff95e95e42 in __semwait_signal ()
dougma 07:02 FireBreathBot: tell shenberg boost::any version of FB::variant at
FireBreathBot 07:02 dougma: I'll pass that on when shenberg is around.
taxilian 08:02 mkoch_: unfortunately 64 bit Safari has a bad tendency of killing the plugin as soon as it stops responding so often you end up with it dieing before you can really do anything after attaching
mkoch_: the trick is usually to connect to the right process, though; it's not hte main safari process, it's a different one
mkoch_ 08:02 taxilian: I tried to do it by hand: starting safari form terminal, then whatching the process list and connecting to PluginProcess w gdb as soon as it appears
can it be done somehow automatically with XCode? (I use 4.2.1 and that's somehow different from the one described on the wiki so I couldn't find how to set it up)
FireBreathBot 08:02 Commit b8d3210 on master by Anders Bach Madsen: "Fix various issues found by CppCheck and Coverity SA"
Commit 7fc0f17 on firebreath-1.6 by Max Amanshauser: "Improved FBControl.htm and default API a bit."
Commit 3991017 on firebreath-1.6 by Richard Bateman: "Merge pull request #42 from linearray/master
Commit b8d3210 on firebreath-1.6 by Anders Bach Madsen: "Fix various issues found by CppCheck and Coverity SA"
taxilian 08:02 mkoch_ yeah, but it's trickier; i've done it, but not a lot. debugging on mac is painful, I'm afraid
what are you trying to troubleshoot?
mkoch_ 08:02 I get this error and I have no idea where it comes from:
PluginProcess(52384,0x7fff7f685960) malloc: *** error for object 0x7f87f1b107b8: incorrect checksum for freed object - object was probably modified after being freed.
*** set a breakpoint in malloc_error_break to debug
taxilian 08:02 hmm. I can see why you'd be concerned
does it only happen on 64 bit safari?
64 bit Firefox is easier to debug
mkoch_ 08:02 yes, safary 64bit
should I try FF?
taxilian 08:02 I would
mkoch_ 08:02 (bad thing is that it doesn't happen always, sometimes it works just fine...)
taxilian 08:02 you can turn off IPC mode in FF by going into about:config and searching for ipc and then it's easier to attach
mkoch_ 08:02 which property should I change exactly?
taxilian 08:02 search for ipc; it's something like "disable 64 bit ipc" or some such
mkoch_ 08:02 ipc.enabled.x86_64 maybe?
taxilian 08:02 yeah
that one
mkoch_ 08:02 what does it do?
taxilian 08:02 set it to false and the plugin will be loaded in-process instead of out-of-process
FireBreathBot 08:02 Commit a626c85 on master by Richard Bateman: "Merge pull request #46 from wroberts/mac_info_plist_fileexte..."
mkoch_ 08:02 I can't reproduce the crash on FF :S
taxilian 08:02 figures
mkoch_ 08:02 there's really no way to debug safari?
i mean the plugin within it of course
taxilian 08:02 oh, you can do it, it's just hard
mkoch_ 08:02 wait a sec
ff doesn't even start with gdb :(
gdb /path/to/firefox
then 'run' starts reading symbols, then program exits with code 6
taxilian 08:02 oh
couple of things
first, in the bundle there is an application.ini
at the bottom, disable the crash reporter
that'll make it easier to attach
second, if you try to run firefox from the command line (I always attach with xcode myself) then you can run it with gdb by running firefox -g
mkoch_ 08:02 thanks, after disabling the crashreporter it starts now
linearray 08:02 taxilian: I don't know what you mean with "I think the correct solution is to move the files to another subdirectory"
ah, maybe plugin/override/config.h, that would make sense
in that case I can close the pull request
mkoch_ 08:02 okay, on FF 10/10 works, on Safari: 7/10 crashes...
taxilian: can you help me w attaching to Safari's pluginprocess?
taxilian 08:02 linearray: yeah, that's what I mean
mkoch_: I can't right now; my dev environment is set up all weird right now and XCode 4 isn't working
mkoch_ 08:02 i see
taxilian 08:02 sorry :-/
I just honestly dont' remember any of the details that would help
except that it was painful =]
mkoch_ 08:02 np, thanks anyway :(
i mean :)
Kiran 09:02 I need a help. When I use javascript to detect plugin in IE using ActiveXObject I get error: Automation server cannot create object. What went wrong?
taxilian 09:02 Kiran: can you create it using a normal object tag?
mkoch_ 09:02 taxilian: ok, I filled the code with debug prints, now it seems that the line where it crahses is this: PlayerContextPtr context(new PlayerContext); which is a creation of a boost shared_ptr and btw comes from BasicMediaPlayer's source. It must be realted some of my code tho as the error occured recently. can you tell anything smart about it? this project is also my 1st meeting with boost... :)
taxilian 09:02 umm, no, because I have no idea what you're trying to do there
Kiran 09:02 Yes it works using normal tag. I have singed the code. It does not work using javascript only.
taxilian 09:02 I'd need to see the other code there. if that line is crashing it means that new PlayerContext is crashing
mkoch_ 09:02 have you ever tried valgrind ona plugin? for me it doesn't seem to work either, Safari crashes somwhere in sqlite before even starting up
taxilian 09:02 I have, but it's been awhile
mkoch_ 09:02 was there any trick?
"valgrind /Applications/" says Process terminating with default action of signal 11 (SIGSEGV): dumping core, Bad permissions for mapped region at address 0x0 [sqlite3PageMalloc...]
taxilian 09:02 I honestly don't remember :-/
and I don't know that I used Safari
I think I used firefox
which has always been easier to deal with
mkoch_ 09:02 well, it worth a try, if there is a leak, it should exist in FF too, if I find there and fix, that might solve the problem in safari...
reichi 10:02 oh valgrind... last time i started it i almost fell of my chair ;)
FireBreathBot 10:02 JIRA issue issue created by wroberts
mkoch_ 11:02 valgrind was unsuccesful so far :(
what about the core dumps? is it possible to use the failed plugin process' core with gdb?
which binary should I use then?
taxilian 11:02 git pull requests
FireBreathBot 11:02 1 open pull request:
wroberts: Rename FBSTRING_FileDescription to FBSTRING_PluginDescriptio...
taxilian 11:02 anyone have any comments/suggestions about this pull request? objections?
ch 11:02 just a simple rename?
linearray 11:02 don't really care either
taxilian 11:02 my thoughts as well; it does probalby make sense to clarify the name, as long as it supports the old way as well
ch 11:02 I personally wouldn't even care too much for backwards compat for such simple things. Living off git HEAD just comes with these things...
taxilian 11:02 I'm willing to break backwords compatibility in a way that forces people to update their project between builds; however, I'm only willing to do so for things that gives a significant advantage. I'm not sure this qualifies
I mean, clarity in config files is good, but...
linearray 11:02 do it together with other breakign changes, like the file override change
FireBreathBot 11:02 JIRA issue issue commented by wroberts "I propose creating a new CMake variable, {{FBSTRING_PluginDescription}}, and renaming {{FBSTRING_..."
taxilian 11:02 yeah; I may do that
linearray 11:02 (which is not too important either)
taxilian 11:02 1.7 might have those things in it as well
also waiting to see what pans out with the variant refactor/change
linearray 11:02 hm, I could give that a try
FireBreathBot 11:02 JIRA issue issue comment edited by wroberts "I propose creating a new CMake variable, {{FBSTRING_PluginDescription}}, and renaming {{FBSTRING_..."
ch 13:02 taxilian: did you ever use MinGW to build FB plugins?
taxilian 13:02 sure didn't
sure can't
shenberg 15:02 Umm, I just noticed that just about every firebreath plugin is now flagged by chrome as a malicious download - if you download the FBTestPlugin installer, it'll be flagged as malicious if unsigned
FireBreathBot 15:02 shenberg: 14:16Z <dougma> tell shenberg boost::any version of FB::variant at
ch 15:02 xcode 4.3 is now available
(if the download works...)
taxilian 15:02 … there is a download somewhere of the FBTestPlugin installer?
my guess is that chrome is just flagging anything that isn't signed
shenberg 15:02 That's what I assumed, but I noticed that even my bundle installers with the .msi are flagged
while bundle installers without it aren't
even though they are all unsigned and have unsigned components
for example, one of the installers in the bundle is an unofficial Kinect driver which is of course unsigned
taxilian 15:02 and it's flagging the MSI when there is a firebreath plugin inside, but not otherwise?
that's weird...
it could be detecting an npapi plugin inside and figuring that any unsigned plugin is dangerous, I guess
shenberg 16:02 Also, I noticed that one out of the 43 antivirus programs on virustotal flags the same plugin as malware
But it was some no-name one, not one of the biggies, or even one of the paranoid ones
rcohn 16:02 Hi - I just downloaded 1.6 and generated the code. Upon loading the project into Visual Studio 10, I saw two projects with malformed vcxproj files: PluginCore.vcxproj and WTP_PluginAuto.vcxproj. Is there a fix for this? Thanks.
taxilian 16:02 rcohn: I've never seent hat issue; did you delete the build dir before you started?
and are you using git or what did you download?
rcohn 16:02 I downloaded the "latest release" .zip file from And before I regenerated, I moved my old FB sources out of the way, and the old build folder. I renamed the firebreath sources to firebreath_1.6.0 before I regenerated, and the regen process finished without complaints.
taxilian 16:02 what is the error you're seeing?
rcohn 17:02 Here is error in the dialog prompt upon load, and the errors showing up in the VS output window:
One or more projects in the solution were not loaded correctly. Please see the Output Window for details. C:\dev\mainline\3rd Party\firebreath\WinBuild\PluginCore\PluginCore.vcxproj : error : Unable to read the project file "PluginCore.vcxproj". C:\dev\mainline\3rd Party\firebreath\WinBuild\PluginCore\PluginCore.vcxproj(566,7): The project file could not be loaded. The 'ClInclude' start tag on line 545 position 6 does not match th
C:\dev\mainline\3rd Party\firebreath\WinBuild\PluginCore\PluginCore.vcxproj : error : Unable to read the project file "PluginCore.vcxproj". C:\dev\mainline\3rd Party\firebreath\WinBuild\PluginCore\PluginCore.vcxproj(566,7): The project file could not be loaded. The 'ClInclude' start tag on line 545 position 6 does not match the end tag of 'ClCompile'. Line 566, position 7.
C:\dev\mainline\3rd Party\firebreath\WinBuild\projects\WacomTabletPlugin\PluginAuto\WTP_PluginAuto.vcxproj : error : Unable to read the project file "WTP_PluginAuto.vcxproj". C:\dev\mainline\3rd Party\firebreath\WinBuild\projects\WacomTabletPlugin\PluginAuto\WTP_PluginAuto.vcxproj(492,7): The project file could not be loaded. The 'ClInclude' start tag on line 471 position 6 does not match the end tag of 'ClCompile'. Line 492, positi
Sorry about all the clutter. Apparently there's a limit on the number of chars to this chat line.
I will see if I can fix the vcxproj files to get them to build. I'll check back with you tomorrow. Thanks for you help!
dougma 17:02 mmm... i've heard reports that our plugin has been flagged by antivirus software too.
it is signed too.
probably the av software is like, zomg iexplore.exe is dropping a dll!
which is fair enough
taxilian 17:02 hmm. I've seen nsis installers get flagged that way before
dougma 18:02 I can't login to jira. It keeps rejecting my captcha answers
no panic, password reset seemed to help
taxilian 18:02 huh
FireBreathBot 18:02 JIRA issue issue created by dougma
shenberg 18:02 Hey, I'm trying to do a somewhat nasty hack - I have javascript executing on my page at an indeterminate time, and I want to detect whether there's an existing, loaded plugin object I can use
taxilian 18:02 umm
shenberg 18:02 My problem is that I hit on a state where my plugin exists but isn't yet loaded, so I can't use it yet but I can't get a notification on when it finishes loading
taxilian 18:02 well, some people use the .valid property for that
if (plugin().valid)
shenberg 18:02 I can only use polling for that, though, right?
taxilian 18:02 correct
shenberg 18:02 Hmm, that might be enough to work around the issue
taxilian 18:02 you can use the onload callback to find out when the plugin appears
shenberg 18:02 Yeah, but I assume someone else is already listening in on it :/
The context is: I have a web page with my plugin
taxilian 18:02 ahh. yeah, you can only set one; you'd have to control the insertion for that to work
shenberg 18:02 and I'm also running the Unity Web Player
And from there, I try to detect an existing plugin, or I inject my own
but I don't want two instances for the same page
(bad terminology, by plugin I meant the <object> loading the plugin)
taxilian 18:02 yeah; polling is probably your best bet
shenberg 18:02 Yeah, well, I guess I'll change my code to be: if there's a loaded plugin, use it. If there's a not-yet-loaded plugin, poll with setInterval. If there's none, inject my object
taxilian 18:02 good luck =]
gotta go now
FireBreathBot 19:02 JIRA issue issue commented by dougma "I am testing with this patch:
FireBreathBot 20:02 JIRA issue issue resolved by dougma "I've revised my opinion.
FireBreathBot 21:02 JIRA issue issue created by rcohn
FireBreathBot 22:02 JIRA issue issue commented by richard "fair enough. thanks."
taxilian 22:02 dougma: how goes the testing with the boost::any support?
dougma 22:02 i've pushed it into my plugin so it's good enough for me. :)
but i think it needs wider testing
and maybe you want to eyeball it
taxilian 22:02 I've done an initial look; it looks pretty good. much simpler than I expected, to be honest
simple is good, though =]
dougma 22:02 yup, because boost::any is well-behaved
taxilian 22:02 do all the scriptingcore unit tests still pass?
and the memory leak is gone?
dougma 22:02 memory leak gone
scripting core tests... let me run them!
taxilian 22:02 excellent. I'll look over it a bit more tomorrow and make sure that everything looks good, but I think we'll put that in master and make that the main change for 1.7
dougma 22:02 ScriptingCore passes
taxilian 22:02 excellent
thanks for doing that
it's good to have a few reliable people around with enough understanding to fix things when they are important and I can't jump right on it =]
dougma 23:02 no probs. i had a moment, and yes, felt it was important. :)
shenberg mentioned a crash with variant on mac... but i couldn't repro that
so i hope he can give it a spin