[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#484454: [: Re: Bug#471348 closed by Lior Kaplan <kaplan@debian.org> (openoffice.org: Segmentation fault trying to open a .sdc)]



excerpt from last post to #471348 ...

> ----- Forwarded message from  -----

> Anyway, I was going to reply to #471348#39, as I got the chance to test
> latest 2.4.0: I couldn't make it segv on those files, yet I see a funny
> behaviour, on a few .sdc: it hangs indefinitely taking away the CPU, on
> a pc with AMD Duron 1.3G + 512MB + k2.6.22.19 + Etch
>   VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND           
>   204m  78m  57m R 96.8 15.6   4:55.97 soffice.bin 
> while it works on AMD Athlon XP 2800+ + 1G + k2.6.22.19 + Etch.
> And, in this case, OOo2 2.4.0 from upstream hangs as well.

> Again, not a glitch with OOo1.1.5.

> Going to debianize 2.4.1 and see if they got it right eventually.
...

ok, doesn't segv but hangs, so seems we're in #484454 domain.

Debianized (though not really needed) 2.4.1 from upstream, but same result:
works on 2nd pc with Athlon etc, hangs on 1st pc with Duron etc.
At this point I guess 2.4.1-bpo* won't make much difference, unless there are
clues that Debian's patches may have addressed troubles in libs mentioned 
here below.

Digging further in, seems the culprit is PPD parsing function: thread
hangs after loading the PPD for the default printer as set in the .sdc:

[pid 21529] open("/mnt/opt/openoffice.org2.4/program/../share/psprint/driver/HP4SI6_1.PS", O_RDONLY) = 29

which is the HP4SI6_1.PS included in upstream .rpm (which is the same as in 
the OOo1.1.5 pkg), 

$ strings documenti/Moduli_CAM.sdc | grep -i kyo
Kyo1010 600dpi (contab, emul ljet4)_
$ grep Kyo1010 .openoffice.org2/user/psprint/psprint.conf
[Kyo1010 600dpi (contab, emul ljet4)_]
Printer=HP4SI6_1.PS/Kyo1010 600dpi (contab, emul ljet4)_

and gdb backtrace shows looping around here:

(gdb) bt
#0  0xb67e224a in psp::PPDKey::getValue ()
   from /mnt/opt/openoffice.org2.4/program/libpsp680li.so
#1  0xb67e3d4b in psp::PPDContext::resetValue ()
   from /mnt/opt/openoffice.org2.4/program/libpsp680li.so
#2  0xb67e3c3e in psp::PPDContext::setValue ()
   from /mnt/opt/openoffice.org2.4/program/libpsp680li.so
#3  0xb50e8c45 in X11SalInstance::CreatePrinter ()
   from /mnt/opt/openoffice.org2.4/program/libvclplug_gen680li.so
#4  0xb50ea107 in X11SalInstance::GetPrinterQueueInfo ()
   from /mnt/opt/openoffice.org2.4/program/libvclplug_gen680li.so
#5  0xb7cfdac0 in Printer::SetJobSetup ()
   from /mnt/opt/openoffice.org2.4/program/libvcl680li.so
#6  0xafb73cd6 in binfilter::SfxPrinter::SfxPrinter ()
   from /mnt/opt/openoffice.org2.4/program/libbf_svx680li.so
#7  0xafb73d5e in binfilter::SfxPrinter::Create ()
   from /mnt/opt/openoffice.org2.4/program/libbf_svx680li.so
#8  0xaf07489d in component_getFactory ()
   from /mnt/opt/openoffice.org2.4/program/libbf_sc680li.so
#9  0xaef8f8cc in DeInitScDll ()
   from /mnt/opt/openoffice.org2.4/program/libbf_sc680li.so
#10 0xaef91caa in CreateScDocShellDll ()
   from /mnt/opt/openoffice.org2.4/program/libbf_sc680li.so
#11 0xafb5ed5f in binfilter::SfxObjectShell::LoadOwnFormat ()

I've removed all printers from config, leaving only the 'generic' one and 
the one specified in the .sdc, and it hangs (loop); if I leave all the 
others but remove just the one named in the .sdc, all goes well.
Likewise, changing HP4SI6_1 -> HP4PLUS6 in user/psprint/psprint.conf

Thus, seems that either the PPD parser is broken or it breaks while 
working with the binfilter.


-- 
paolo




Reply to: