IRC Logs

Log of #ghostscript at irc.freenode.net.

Search:
 <<<Back 1 day (to 2013/03/26)2013/03/27 
Robin_Watts Who is looking into the "not enough space for thread data" bug? The customer seems to be getting antsy.00:51.12 
kens Great, so I download VS 2012 which says I can use ot for 30 days. Except that when I install it it wants a product key anyway, which I have to register for (ie give all my details to M$). Having done that they send me an email, so I have to twiddle my fingers until it (eventually) arrives.....09:34.38 
  Still no email fro M$....09:54.09 
  Oh good grief, and if I press 'cancel' instead of entering a key it goes ahead and launches VS :-( Obvious.....09:55.18 
  I dislike the UI already...09:55.35 
  LOL and VS 2012 has to upgrade the project we were sent. So I guess they were using 201009:56.55 
Robin_Watts Who is looking into the "not enough space for thread data" bug? The customer seems to be getting antsy.10:09.45 
kens Me10:09.51 
  See mail from henrys10:09.57 
  I've had to download VS 2012 to do it and install .NET 4.0 and 4.5 so far10:10.17 
  I think I have it 'working'10:10.26 
  They have a race conditionwhich causes me a problem trying to debug it, but I'm about ready to give it a proper try10:10.52 
  Except that I'm going out in 10 minutes10:11.05 
Robin_Watts kens: cool.10:11.59 
kens The first thing I note is that _Process is *always* non-NULL after execution and they simply set it to NULL rather than deleting it or otherwise properly deconstructing the object10:12.31 
  WHich looks bad to me10:12.36 
  Oh finally, email from M$10:13.59 
Robin_Watts kens: obvious test... change the thing that gets called.10:14.00 
kens Robin_Watts : yes, I plan to do that too10:14.09 
  just trying to reproduce the problem firrst10:14.19 
Robin_Watts Instead of calling gswin32c.exe call something else, and see if we still hit the same problem.10:14.21 
kens Yes10:14.26 
Robin_Watts ok. I'll shut up.10:14.28 
kens :-)10:14.31 
  5 minutes and I have to leave this10:14.42 
  I started a 1000 iteration run and its up to 210 now10:14.55 
  Interesting email from MS, wants me to *cancel* if I didn't make the account request.10:15.43 
  SO waht do I do if I did make the request ?10:15.51 
Robin_Watts kens: From reading the stackoverflow page, the problem may only occur if you have 2 apps on the same machine using the same version of MSCRT.10:16.42 
kens THere's a SO page on this ?10:16.59 
Robin_Watts sorry, not the stack overflow page, the microsoft knowledge base page.10:17.08 
kens Ah10:17.13 
  TBH I think its up to the customer to send us something we can reproduce10:17.24 
  THey crash out at iteration 15 or so, going by the scrfeenshot, I am up to 400 now10:17.43 
  SO their app doesn't fail for me using a current GS.10:17.58 
  1000 iterations completed, no problems. I'll look further later but at the moment I can't reproduce the error.10:29.48 
paulgardiner Robin_Watts, tor8: tiny fix on paul/master12:42.14 
kens Robin_Watts : do you still have that knowledgebase article URL ?13:05.13 
  I'm currently running 2 instances of the test program (using different builds of GS) and not seeing any problems13:05.41 
Robin_Watts Did I not put it in the email?13:24.00 
  http://support.microsoft.com/kb/12670913:24.23 
kens Robin_Watts : I may have missed it I was looking in irc log, I will check13:24.28 
Robin_Watts kens: no worries. I found it in my chrome history.13:24.44 
kens Thanks13:24.46 
  Robin_Watts : latest test I copied the 'testApp' executable and started two instances, using different GS executables (but built with teh same VS). So that's the same run time for the test app and the same runtime for the GS. Ran it 250 iterations without problem. Tried 32 and 64 bit versions of Ghostscript13:27.28 
Robin_Watts kens: Right. From the article it sounds to me like it's a problem with calls to TlsAlloc.13:27.56 
kens THe KB article does suggest its a win32 problem though and I'm running on WIndows 7 64-bit13:28.04 
Robin_Watts and gs NEVER calls TlsAlloc as far as I can see.13:28.05 
  kens: but you're running a 32bit app on win 7.13:28.25 
kens Robin_Watts : I believe not, no, and that's certainly the suggestion by the KB article13:28.27 
  Robin_Watts : yes, though I tried the 64-bit before checking that.13:28.43 
Robin_Watts so I think that's covered (from what I remember of the other google results for 6106)13:28.53 
kens I'm not certain if I built the tets app as 32 or 6413:28.53 
  Robin_Watts : it looks from the KB article that the problem was resolved wiht a later version of win32s, in which case I shouldn't think its possible for me to reproduce this problem. I woudl have to guess the customer is running an old version of WIndows, I don't think they say...13:32.24 
  I think I'll write up what I've done and send it to the customer with a list of supplementart questions.13:33.09 
Robin_Watts kens: That would be a massive step forward from the wall of silence they've so far had.13:37.03 
kens Yes, writing email now13:37.12 
Robin_Watts chrisl: I think you mean "can't" rather than "can" in that last email.13:37.57 
kens Err possibly, I'll have to go read it now13:38.13 
chrisl Yes, I do.....13:38.36 
kens Oh Bugzilla13:38.49 
chrisl correction sent13:40.15 
  Thanks Robin_Watts 13:40.38 
henrys kens:wow nice followup but I bet that was time consuming.14:05.04 
kens henrys its taken some time, but I really cannot reproduce the problem, I have tried pretty hard14:06.44 
  I'm just sending the GS and sample application executeables I was using so they can try those.14:07.05 
henrys I wonder if we could do some text processing kung fu on the support inbox and outbox to check when we don't respond., I guess it doesn't haven often enough to fool with it.14:08.09 
kens Mostly we don't miss things, but it seems to be getting more common.14:08.34 
Robin_Watts henrys: The standard approach to such things is to have an automated ticketer.14:08.46 
kens Perhaps we're getting a bit slack, I know I didn't want to touch this last one with any kind of implement at all14:09.00 
kens coffees14:09.10 
Robin_Watts Every message in gets a ticket number put into the subject, and as long as you never change the subject it's tracked. Makes it easy to spot ones that haven't been replied to.14:09.57 
henrys Robin_Watts:what does it's tracked mean?14:14.24 
Robin_Watts henrys: There is a database of tickets, akin to bugzilla.14:14.59 
  So you can see how long we take to respond, who the ticket is assigned to etc.14:15.16 
  would let us track where the support load came from too.14:15.41 
  It may be overkill for a company with only one support guy, but...14:16.06 
henrys Robin_Watts:okay yes I've seen those, I thought it a bit heavyweight for us. But definitely something to con sider.14:16.34 
  Maybe it is as simple as having a person other than marcosw look at the support list for 1 minute each day and remind him if something is late.14:18.04 
Robin_Watts I wonder if we can get a system that integrates with bugzilla; every support email that comes in automatically opens a (private) bug, and assigns it to support.14:18.40 
  Would increase churn in the bugs list, but would mean stuff shouldn't be missed.14:19.06 
henrys I'll put it on mil list to bring up with marcosw, it's his headache14:22.13 
  s/mil/my14:22.26 
Robin_Watts ok, I've squashed all the memory squeezing SEGVs at startup except for 11-18, which I have an email in to ray about.14:50.24 
kens sounds good14:50.51 
Robin_Watts We still leak like a leaky thing though.14:51.22 
henrys Robin_Watts:leak as in "continued growth" or startup initialization leaks14:52.34 
Robin_Watts henrys: The former.14:52.49 
  the latter, sorry14:52.55 
henrys phew14:53.03 
Robin_Watts and terrible cleanup leaks14:53.19 
chrisl Still bad news for anyone using the DLL :-(14:53.32 
Robin_Watts (if we run out of memory, forget about us freeing the memory we do have).14:53.39 
  chrisl: indeed.14:53.43 
henrys sounds like we need projects for these15:03.08 
daylo hi15:18.56 
ghostbot bonjour, daylo15:18.57 
daylo oui15:19.04 
  our school computers have gs on them15:19.19 
  what is it???15:19.24 
  ??15:19.46 
  anyone know?15:19.49 
  anyone present who can answer me?15:20.36 
tor8 paulgardiner: LGTM, want me to push or do you have permissions to do that yourself?15:23.51 
paulgardiner tor8: Thanks. Yes, push please.15:24.27 
henrys daylo:http://en.wikipedia.org/wiki/Ghostscript15:24.31 
  tor8:will you follow up on the localization? Wanted to ask you about that at the meeting yesterday. It does have the potential to get us seen in other markets.15:26.28 
tor8 henrys: the oneskyapp.com thing?15:35.35 
henrys tor8:yes that thing15:35.52 
  tor8:I sent you mail15:36.03 
tor8 henrys: okay. "Fwd: Suggestion for MuPDF" is the one you're talking about?15:36.26 
henrys tor8:yup15:38.17 
  so I can use a linux box as time machine backup server for free but I have to pay apple fro Apple Server to use a mac workstation, what should I do :-?16:08.55 
Robin_Watts All your $$$ are belong to Apple.16:10.45 
  henrys: I may have raved before about my NAS box. That does time machine too.16:21.05 
henrys Robin_Watts: yes that might be a good purchase for me too.16:25.52 
Robin_Watts Mine was for a while twice the price I paid for it in the UK.16:26.50 
  Indeed, it still seems to be.16:27.44 
henrys I can't believe apple is asking 20 bucks for the stupid server. I already bought a BSD OS with from them and I expect that to be a server like any other friggin' unix operating system in the known universe.16:29.58 
Robin_Watts does the ray_latop summoning dance.16:37.22 
  tor8: debian .desktop fix on robin/master16:42.19 
kens OK goodnight folks17:11.23 
  back to colour stuff tomorrow17:11.29 
henrys paulgardiner: today I starve, swim and bike, I'm expecting failure, but sabrina is going strong.17:13.08 
paulgardiner henrys: get all the hell out of the way in one go.17:13.52 
  I haven't tried going to the gym on a fast day yet, but I've heard it's not as bad as one would expect.17:14.33 
Robin_Watts Starve, swim and bike. Because tomorrow we die.17:14.58 
henrys yea dave mathews17:15.39 
mvrhel_laptop henrys: that does not sound good for you. I would expect you to go into a major protein deficit leading to muscle loss17:16.01 
paulgardiner mvrhel_laptop: I'd have thought so too, but I've also heard that some body builders train while fasted, albeit not from a source I can varify as reliable.17:17.30 
mvrhel_laptop that seems surprising17:17.45 
henrys it's not a complete fast : 600 calories17:17.48 
mvrhel_laptop I would think the 600 calories need to be almost all protein then17:18.08 
  I can see cutting out carbs and fat17:18.14 
henrys sabrina only gets 500 he he17:18.15 
  mvrhel_laptop: paul and I watched this thing http://vimeo.com/50912488 and are giving it a go. check out the 100 year old marathoner!17:19.57 
Robin_Watts loses 5 minutes googling dave matthews and "eat drink and be merry". The Interweb is marvellous for productivity.17:20.07 
henrys lost 30 minutes because Robin_Watts has put a song in his head.17:21.05 
paulgardiner And check out the 50 year old who looks 3517:21.09 
Robin_Watts paulgardiner: That's henrys, right? :)17:21.27 
paulgardiner Yeah, that's what I meant of course. :-)17:21.56 
henrys I'm trying to hide this year - took down the Facebook bday reminder - decades are the tough ones.17:23.38 
  the good thing is my race group ranking will improve.17:24.50 
Robin_Watts In marathons, supposedly you have to train your body to break down muscle, rather than fat (because you don't have enough stored fat (*)), so possibly the fasting diet is exactly right for that.17:25.50 
  (* Well, *I* have enough stored fat, but...)17:25.59 
chrisl Robin_Watts: I think it's counter-productive when you carry it with you.....17:27.02 
Robin_Watts It took me years to build it up. I'm not giving it up without a fight.17:28.42 
chrisl Well, I certainly couldn't last a 5 set squash match after a fast day17:29.26 
Robin_Watts paulgardiner: Looking back at the pdf_device now, I see that I send all fonts through as 'helvetica'.17:44.07 
  Does this mean that whenever we generate appearance streams currently, they appear as helvetica ?17:44.25 
  Ah. ray has been eaten by customer 532 again, judging by his email.17:46.50 
  Presumably this is a problem he's only seeing on their 8.71 based version.17:47.10 
paulgardiner Robin_Watts: all the appearance streams that involve text I handled before you'd written the device, so no problem. Would be nice to swap over eventually of course.17:47.49 
Robin_Watts paulgardiner: Ah, right.17:48.03 
  Even annotations?17:48.14 
paulgardiner I haven't yet dealt with annotations involving text in the appearance streams. It's only form widgets where I've needed text17:49.37 
Robin_Watts ok.17:49.51 
  marcosw: I've memory squeezed up to 30000 now, and the only SEGVs I get are 11-18 which are down a mismatch in allocation/freeing functions I think.18:39.08 
  Were you planning to run weekly tests on this or something ?18:39.23 
marcosw Robin_Watts: the mem squeeze that I started yesterday is still running and continues to produce SEGVs:18:40.44 
  SEGV after Memory squeezing @ 7500718:40.52 
  SEGV after Memory squeezing @ 7500818:40.53 
  SEGV after Memory squeezing @ 7523618:40.54 
  SEGV after Memory squeezing @ 7523718:40.55 
Robin_Watts marcosw: The mem squeeze that you started yesterday doesn't have all todays commits fixing mem squeeze bugs in :)18:41.19 
marcosw I don't see how we can run memsqueezing on even a small subset of the regression files when each run takes >24 hours.18:41.34 
Robin_Watts marcosw: Building with MEMENTO_LEAKONLY might help, but even so, I agree.18:42.30 
  We could run a random file a week? :)18:42.49 
marcosw Robin_Watts: yeah, that's what I was thinking. Run a random file on each cluster node until it stops and then start another one.18:43.25 
Robin_Watts Most of the fixes that went in today were for initialisation things (i.e. stuff that's unlikely to go wrong in the real world unless people are starting in stupidly small amounts of memory)18:44.43 
  but I did find at least one (@14000 or so) that was a real one that could bite us, I think.18:45.10 
  I first saw the R6016 mail on 22/03/2013 at 06:0718:46.23 
marcosw Robin_Watts: I have to run, I'll be back online later today.18:47.04 
Robin_Watts I don't get my email via gmail, so maybe that's a factor in me seeing it, and other people not?18:47.20 
ray_laptop how can this: int last_band = (cdev->height + band_height - 1) / band_height; yield 1 when band_height == cdev->height == 372 ???19:00.38 
Robin_Watts ray_laptop: Cos that's maths?19:04.58 
  (x + x-1) DIV x is pretty much defined to be 1 by the definition of DIV :)19:05.20 
  The idiom (x + y-1) DIV y is generally used to mean "round_up(x/y)", right?19:07.34 
  That calculation looks suspect to me though (assuming you're looking in clist_create_compositor?)19:10.49 
  Assuming bands are numbered from 0, last_band is 1 too large, I reckon.19:11.58 
  no_of_bands = last_band + 1 looks similarly 1 too large.19:12.43 
  Surely we want no_of_bands = (cdev->height + band_height - 1) / band_height ? and then first_band =0, last_band = no_of_bands-1 ?19:13.49 
ray_laptop Robin_Watts: (sorry phone call) yes, clist_create_compositor. and we do want no_of_bands = 1 when first_band == last_band19:20.13 
Robin_Watts ray_laptop: OK, so that looks like an easy enough change.19:21.10 
  I guess this means we've been writing 1 band extras worth of compositor stuff until now.19:21.31 
ray_laptop Robin_Watts: yep.19:24.03 
Robin_Watts ray_laptop: How entrenched are you in this customer 532 thing? Can I distract you for 2 minutes? Please feel free to say no if you'd rather not.19:38.55 
ray_laptop Robin_Watts: I have to think about what I just saw with the debugger. While rendering a pattern to a pattern-clist, I somehow get a endtransparencymask with the pgs->device != the pattern_clist device19:44.16 
  Robin_Watts: so go ahead -- I'll let it percolate in the BG19:44.32 
Robin_Watts ah, ok, thanks.19:44.42 
  What is the correct way of freeing a block allocated with ialloc_solo ?19:44.57 
  ialloc_init allocates various blocks with ialloc_alloc_state (which calls ialloc_solo), and if any of these allocations fail, it attempts to free them with gs_free_object();19:47.09 
  I believe this is incorrect.19:47.17 
ray_laptop hmm... So the allocator is whatever the 'parent' was, so you need to know the "parent" allocator.19:47.41 
Robin_Watts If this question is going to take you longer than 2 minutes to solve, then please feel free to tell me you don't want to chase down this particular rabbit hole at the moment.19:47.52 
ray_laptop AFAICT, this is ONLY used for ialloc_alloc_state, right ?19:48.37 
Robin_Watts ialloc_solo allocates the block using the same memory pointer that gs_free_object uses to free it. BUT ialloc_solo puts an extra obj_header_t on the front of the object, which confuses things.19:49.41 
  yes, only there AFAICT.19:49.46 
ray_laptop and it puts the 'parent' allocator in the iimem->non_gc_memory19:50.14 
mvrhel_laptop bbiab19:50.29 
Robin_Watts Do we need an ifree_solo that ignores that extra header and calls gs_free_object on the underlying thing?19:50.41 
ray_laptop so you need an ialloc_free_state that uses that knowledge ???19:50.44 
Robin_Watts ialloc_solo_free ?19:51.01 
  AFACIT this only matters for allocation failure cleanup.19:51.24 
  I can't see how this is ever usually freed - maybe it's not? or it only ever goes with gc ?19:51.47 
ray_laptop Robin_Watts: that's what I figured you were working on19:51.53 
Robin_Watts yes, that's what I'm working on.19:52.21 
ray_laptop I think we rely on 'free_all' to ever free it19:52.34 
Robin_Watts How does free_all work?19:52.48 
ray_laptop the gs_malloc_release call when the interpreter exits19:55.13 
Robin_Watts ok.19:55.27 
  so would you be averse to me adding an ialloc_solo_free function and using that ?19:55.43 
ray_laptop it calls gs_malloc_memory_release which is an alias for gs_memory_free_all19:55.51 
  Robin_Watts: no, that's fine. Please add a comment that this is probably only useful if allocation fails early on19:56.26 
Robin_Watts will do. Thanks.19:56.44 
mvrhel_laptop working on links now in the windows app.....23:45.07 
 Forward 1 day (to 2013/03/28)>>> 
ghostscript.com
Search: