IRC Log Viewer » #firebreath » 2011-02-12

IRC Nick Time (GMT-7) Message
bhola 01:02 hi
may i ask you some queries
How different is FireBreath?
from others
taxilian 09:02 morning all
iaincollins 09:02 morning :)
taxilian 09:02 iaincollins: I updated the WiX stuff yesterday
kinda majorish update
iaincollins 09:02 I saw :-) Sorry I'd not noticed that was being weird
taxilian 09:02 shouldn't break anything, but I'd appreciate it if you could try it when you have a chance
iaincollins 09:02 sure, will do monday
taxilian 09:02 the weirdness was my fault, really
things I didn't understand correctly a year ago
iaincollins 09:02 I think not also being an expert in building MSI packages for Windows can be forvgiven :)
taxilian 09:02 hehe
what? but everyone seems to think that I should be an expert in everything! =]
iaincollins 09:02 hehe
I am at a Guardian Hackday weekend right now (in the Guardian offices), working on a media / reporting hack with a couple of guys from Le Monde
taxilian 09:02 huh. sounds interesting
never heard of Guardian
iaincollins 09:02 (it was the the UK Guardian, French Le Monde and German Der Spiegel papers that broke the Wikileaks stories, together)
taxilian 09:02 is this like a "community involvement" type thing?
iaincollins 09:02 yeah
taxilian 09:02 cool
iaincollins 09:02 so some guys from Spotify are here, gave a quick overview of their API's (REST, JSON, etc) but also libspotify (C, Obj-C)
taxilian 09:02 I'm starting a new project today; working on a plugin for another company
iaincollins 09:02 after hearing them talk about libspotify suggest to them later they should check out FB :)
gave them a quick overview, big fans of cmake apparently - one of the guys here just moved Spotify over to cmake
taxilian 09:02 cool. dan2 plans to help us rewrite our cmake stuff so it isn't quite so scary and non-good
dan2 09:02 yes
I do
taxilian 09:02 dan2: iaincollins wrote the log searcher thing on
iaincollins 09:02 Spotify is pretty bigger here (in the UK), they have deals with pretty much all the big labels so can listen to whatever you want (belive it's coming Soon(TM) to the US)
dan2 09:02 cool
taxilian 09:02 huh; yeah, I've never heard of it before, but it does look like the sort of thing you could have fun with a plugin on
so has had 5400 hits in the last month; that's 1000 up from the previous month
iaincollins 09:02 wow, big rise
taxilian 09:02 yeah; it's interesting to watch the traffic change over time
iaincollins 09:02 Spotify, btw, is the coolest music service anywhere (unusually, it's not from the US), so would say hi if the guys drop in :-)
taxilian 09:02 lol. will do =]
iaincollins 09:02 I've had a 9.99 GBP a month subsciprtion to them and get all my music, weird folky stuff to latest pop albums, for over a year no
taxilian 09:02 I use Pandora for that; it works pretty well
iaincollins 09:02 The Windows, Mac and mobile versions (all allow offline listening) are super slick.
taxilian 09:02 $30USD / year
iaincollins 09:02 Yeah, I used to use Pandora, it's the next best thing I think
taxilian 09:02 since spotify isn't available in the US, it'll have to do for me =]
iaincollins 09:02 (erm sorry for going off topic there, just to say it really is cool :)
Yeah, good chance it will be crushed by Apple + Lala if they don't do a US launch soon though, seems to be the consensus
taxilian 09:02 hehh. no problem
well, I need to go play with my son a bit more before going into another office to start another project :-P
iaincollins 09:02 sounds good :) (the first part, not the office part, blegh!)
(says guy in an another companies office on a Saturday)
taxilian 09:02 well, I'm about to do the same and I've been away from home for 3 days
iaincollins 09:02 Have fun! :) Don't work too hard!
taxilian 09:02 I'll see what I can manage :-/
dan2 09:02 firebreath does not support anything older than win2k/xp right?
I'm going to build the start of the generic configuration manager today
I do not want to fuss with stuff older than that for supporting the registry
iaincollins 09:02 Yeah - no it doesn't am sure
dan2 09:02 excellent
iaincollins 09:02 (At AOL UK we/they only dropped Windows 98 a couple of years ago!)
dan2 09:02 jesus
iaincollins 09:02 Mostly because I moaned when I started.
dan2 09:02 iaincollins, you do c++?
iaincollins 09:02 only minor league stuff
dan2 09:02 ok
iaincollins 09:02 I am mostly used to only writing patches to exisiting software in it
dan2 09:02 basically what I'm proposing will be an interface inspired by tbb:concurrent_hash_map, std::map, and QSettings (from Qt)
since most of the backends are thread safe to a large degree except ini files
I'm planning on just putting top level file locks on those
with each being specialized like a template with is_lock_free() kind of thing specified
or a dummy mutex of sorts
the interface will only support, select/read, insert, update, delete
that will all that has to be implemented
the top level interface can overload operator[]
and should be compatible with the STL
or at least most of which I can provide safely
iterators are not easy to provide
but I may add them in a later version
iaincollins 09:02 (sorry, IRL convo, will read up in a sec :)
iaincollins 09:02 oh interesting
did you have any specific use case in mind, or just general purpose?
jshanab_wcw 10:02 On my machine the wix installer works fine, on my coworker with the same hardware and OS, the mime type is not registering. Any Ideas? he is an admin user as am I.
iaincollins 10:02 in case you've not seen, taxilian made some significant changes to the WiX installer last night
which may have either broken it or fixed your issue :)
jshanab_wcw 10:02 IT has worked on my machine for the last month and I I committed to svn and he checked out, preped,built and installed.
iaincollins 10:02 oh!
oh but same build of FB (on a previous 1.4 release?)
do you know if it's failing in MSIE as well as FF (orChrome,etc) too, or just one browser?
jshanab_wcw 10:02 All browsers work on my machine and not his. We look in the registry and I have the mime type and he does not
iaincollins 10:02 Oh hmm. Maybe that was the same issue taxillian was seeing :/
I've never had that actually
taxilian 10:02 jshanab_wcw: I fixed several potential issues with stuff like that last night
jshanab_wcw 10:02 Tried on virgin machine and it also is not working. Only works on my machine, go figure "Works on my machine" LOL
iaincollins 10:02 heh, I think you may not be the only one to see that, but weird
might worth noting if you installed via the WiX installer (rather than registering the DLL on the cmd line)
oh we have hackday pizza now
(and sharing power cables, heh, so may go offline)
jshanab_wcw 10:02 Maybe it is somehow broken in my port from 1.2 to 1.4 and since mine is the only machine that saw the plugin installed when i was on FB1.2, it continues to work
taxilian 10:02 does it work if you use the regsvr32 method?
jshanab_wcw 10:02 have not tried, hang on
just regsvr32 np...dll ?
fails on all machines.... damn
dan2 11:02 taxilian, posted this to boost this morning:
jshanab_wcw 11:02 taxilian. should I do a git clone from "latest source" or 1.4 beta?
taxilian 11:02 latest 1.4
jshanab_wcw 11:02 Thanks. This is a big one for us, deadline was friday. you know where my weekend went :-(
taxilian 11:02 :-/
dan2: I like the direction you're taking this config manager
this could be a really nice feature for FireBreath
let me know if I can help
dan2 11:02 ya
taxilian, I'm going to need some help with the registry today if you can help
taxilian 11:02 I can probably help some
dan2 11:02 I have virtually no understanding of how it works
taxilian 11:02 I'm not fantastic with windows apis, but I've done some registry stuff
dan2 11:02 taxilian, I also feel like boost::fusion has something I'm looking for, but it's just missing at the moment which is annoying me
being able to define a custom type that can insert a whole bunch of keys at one time would be nice.
taxilian, where do you host your git repo?
github right?
taxilian 11:02 dan2: my public ones, yes
I have a private git server as well
I am taxilian on github
kylehuff 12:02 ugh.. they canceled the exam, no HAM license for me today... good news is, I can practice for the General exam.
taxilian 12:02 :-/
jshanab_wcw 13:02 No luck on that broken dll registration issue. msi fails, regsvr32 fails, mime type not added to registry
Was there something in my migration from 1.2 to 1.4 that I should of and forgot to do?
taxilian 13:02 wait
regsvr32 fails/
that's good
that tells us something
try using depends to check to see if it is missing a dependancy
jshanab_wcw 13:02 That a dependent dll is not found?
taxilian 13:02 that is the most common cause
jshanab_wcw 13:02 is depends a command line tool? or is that the gui dependency walker
taxilian 13:02 gui dependency walker
jshanab_wcw 13:02 k
ok, something happened to a copy of dlls to the packaging directory, it must be failin silently cause I am missing critical dlls
taxilian 13:02 quite likely
jshanab_wcw 13:02 Not a file I have messed with in quite a while
I have post build rules added to the project from my cmake
All the post build rules are still there and are coping them to the directory before packaging, must be a wix thing still
Anyone know why the additional component of the wix installer may have quit working? Anything about having two projects in the projects directory preping at same time?
taxilian 13:02 when did you last update?
I did make some changes yesterday, but I wouldn't think it would matter
to what you're doing
jshanab_wcw 13:02 an hour ago. Not sure exactly when it broke, seems like when I upgraded from 1.2 to 1.4, it just kept working on my machine casue it was also leaving stuff in place. We just recently started trying on other machines, so it could of been broken for a while, just dunno
I notice the new instructions on the wiki are a bit diferent, now using KeyPath and no DiskId or name
taxilian 13:02 it's possible it's related to what I did yesterday
jshanab_wcw 13:02 I am thinking it was broken long before that. :-)
I will try the syntax on the wiki
jshanab_wcw 13:02 I get multiple key path error with the wiki syntax
taxilian 13:02 pastebin me your wxs?
jshanab_wcw 13:02 this is before the wiki syntax
I think it is the multiple files in this component that is causeing the problem on the keyissue style. i am searching fro an example now
Probably need the "componentGroup struct and then each dll in a sepearate component section
jshanab_wcw 14:02 taxilian. Should the additioal dll's show up in the directory with the msi?
taxilian 14:02 err
which directory?
jshanab_wcw 14:02 build/bin/pluginname/debug
taxilian 14:02 they won't by default
you'd have to add something to make that happen
jshanab_wcw 14:02 ok, so I must look for the install directory to test regsvr32 :-)
taxilian 14:02 you could make a build step to copy them, I suppose
jshanab_wcw 14:02 Ok, we have gotten a lot furthor, dependency walker is showing a new dll or 2. I will have to look for them :-) IESHIMS.dll and GPSVC.dll
taxilian 14:02 IESHIMS.dll isn't an issue
don't worry about that one
the other not sure
jshanab_wcw 14:02 we tried it on 32 and 64 bit (and checked on google) and it seems to be preventing it from loading
all my dll's seem to be in there. Does any of this ring a bell? the path of dependency is advapi32.dll->wintrust.dll->crypt32,dll->userenv.dll->SHELL32.dll->GPSVC.dll the IESHIM is similar advapi32.dll->wintrust.dll->crypt32,dll->userenv.dll->SHELL32.dll->SHDOCVM.dll-->IEFRAME.dll (which is colored pink)-->IESHIMS.dll
jshanab_wcw 15:02 OK, this is weird.
Error: At least one module has an unresolved import due to a missing export function in an implicitly dependent module.
Seems to indicate my code is failing to export something?
I can open many dll's in dependency walker, some with th IESHIM and GPSVC warnings, but IEFRAME.dll is the only one throwing up a dialog. I am not a depends guru, at all
taxilian 15:02 where is that error coming from?
jshanab_wcw 15:02 If I double click on the IEFRAME.dll. when in my dll, it says "Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module." similar?
taxilian 15:02 that's probably just a delay load issue
all plugins seem to have it
jshanab_wcw 15:02 ok, sounds good. found a FAQ for dependency walker which tells you how to get more meaning out of it, the first step opens regsvr32 in DW and it has the exact same errors on IEFRAME and such.."Not the dll errors we are looking for"
taxilian 15:02 yep
jshanab_wcw 15:02 Well the technique inthe FAQ doesn't yeild much. It shows it opening each dll succesfully, but never gets to the end. Could you try it on a known working plugin? Does it complete or finish up with all the dependent dlls and then the plugin? the "Can Dependency Walker help me figure out ...
taxilian 15:02 working plugins often have IESHIM and sometimes IEFRAME errors
jshanab_wcw 15:02 It locks up DW after a long line of succesfull dll loads.
Yeah, even loading regsvr32 into DW has those exact same errors
jshanab_wcw 16:02 This seems new, i don't have lines like this in my wix "<File Id="myStuff.dll" Source="${YOUR_OWN_PATH_VARIABLE}\myStuff\$(var.Build)\myStuff.dll" />"
Where does it go?
I don't have a <file directive at all in my .wxs script!
taxilian 16:02 do you need one?
the main plugin dll will be handled for you
what other file(s) are you installing?
jshanab_wcw 16:02 I don't know if I need them. I av avcodec dlls and sfml dlls and a lot of projects. (I thought most was statically linked)
taxilian 16:02 well, that's the first thing to figure out
if you don't need them, don't install them :-P
when in doubt, btw, check the source for the template, which is in fbgen/src/Win/WiX
jshanab_wcw 16:02 But this all worked a few weeks back. I don't know when it broke becasue it broke first by not unregistering so it hid hte failure to register ROTFL
taxilian 16:02 there is a comment in there that tells you where new components should go
heh. I don't know
jshanab_wcw 16:02 boss is gonna blow on this one. :-(
taxilian 16:02 :-(
if you know what you want and it's not working, I can help with that...
but if you don't know what you need to do, that's harder
I would start by figuring out what DLLs you need in order for regsvr32 to succeed
jshanab_wcw 16:02 Everything is a static lib except the main dll. then the dependent dlls are all in the component section so I should't need the "<file .." directive, right?
taxilian 16:02 are there any dependent dlls?
if everything but the main is a static lib, then there shouldn't be...
jshanab_wcw 16:02 well the dependent dlls are avcodec-52.dll and it's dependencies and the sfml libraries. but they are all in the components section. Am i right in assuming the "<file" directive is only for dll's built by my product?
taxilian 16:02 step back from wix for a moment
does regsvr32 work?
jshanab_wcw 16:02 no
taxilian 16:02 then wix won't either
you need to get regsvr32 to work in the dir it builds to
and then move from there
jshanab_wcw 16:02 ok. I went to the install location and the regsvr32 fails. dependency wlaker is of no help. Is the "directory it buids to" important? I can copy the additional dlls there (they are in the msi otherwise)
taxilian 16:02 dependency walker shows no dlls missing except ieshims and ieframe?
any dlls that you need to load your dll need to be in there
so by all means try copying them
jshanab_wcw 16:02 right, when i removed one then it complained, but I just get a cannot register error from regsvr32
taxilian 16:02 hmm
jshanab_wcw 16:02 the mime type is just not in the registry. What is funny is if I put the mime type in the registry, the plugin works!
taxilian 16:02 in FireBreathWin.cpp there is a function DllRegisterServer
with a sleep(10000) commented out
uncomment that line and build
then see if regsvr32 hits that point or not
or add a printf
or something
just see if it makes it into that function
jshanab_wcw 16:02 is that in plugincore?
jshanab_wcw 17:02 I used printf but don't see anything on the command line before (or after) getting the dialog with "the module was loaded but the call to dllRegisterServer failed with error code 0x8002009 "
that is 80020009
taxilian 17:02 that sounds like a missing DLL to me
if it were able to load your library then you would hit your printf
try a sleep, just to be sure (since that'd be hard to miss)
it'd sleep before the dialog
or you could attach a debugger to it while asleep
but if it isn't loading your module, usually that means a missing dependancy
jshanab_wcw 17:02 ok, but like I said, put the key in the registry manually, and it works.
taxilian 17:02 it loads when you put it in by hand?
that sounds like osmething else, then
jshanab_wcw 17:02 Is dllregister server called by regsrv32 or is it in the dllInstall
taxilian 17:02 dllregisterserver
pastebin me the contents of build/projects/<your plugin>/gen/FBControl.rgs
jshanab_wcw 17:02
taxilian 17:02 when did you last update?
or do you have a custom FBControl.rgs file?
jshanab_wcw 17:02 today, about 11am Chicago time
taxilian 17:02 from what branch?
do you have a custom FBControl.rgs file?
jshanab_wcw 17:02 git from latest
taxilian 17:02 you must have a custom rgs file
this isn't the default
jshanab_wcw 17:02 I rember editing this file, let me look in my src folder
taxilian 17:02 okay; do you remember why you edited it?
jshanab_wcw 17:02 no, it was over a month ago, i think to handle signing?
taxilian 17:02 don't think you'd need that for signing
jshanab_wcw 17:02 but definitly before the 1.2-->1.4 migration
taxilian 17:02 try removing that and using the default
then you probably put the preapproved stuff in
that's in the default now
remove your custom one, then, and use the default
jshanab_wcw 17:02 ahha
taxilian 17:02 see if that helps
the next thing to try, though it's a pain, is to step through the registration process — including the recursive descent rgs parser
and find where it throws an error and why
I have to leave now; if you get really stuck you can give me a call if you want
good luck
jshanab_wcw 17:02 thanks. I will be on this late and tomorrow to try and pull this one out of the fire
call, do I have phone no?
jshanab_wcw 17:02 taxilian_away. FYI, rgsvr32 Success!!!, Thanks!. I can live with the manual registration for now (and keep my job :-) )
phb 18:02 anyone awake?
iaincollins 18:02 oops yes, but I should be in bed! nn! :)