https://bugzilla.novell.com/show_bug.cgi?id=627619 https://bugzilla.novell.com/show_bug.cgi?id=627619#c6 --- Comment #6 from Stanislav Brabec <sbrabec@novell.com> 2010-08-19 19:13:11 CEST --- Thanks for upstreaming this. I planned to do but I forgot. I will compare your and my packages and create final submit request. I also grepped the whole openSUSE source tree (just zgrep -l SC_TEST_RET, so zip files were skipped), and it seems that only the eID-belgium package from the main tree is broken. Packages outside openSUSE tree will get rebuilt automatically (but users will have to install it). I also debugged the WebKit freeze with opensc. It seems to have nothing with opensc, it freezes while expanding /usr/lib64/browser-plugins/opensc-signer.so. It loops forever in webkit-1.2.0/WebCore/plugins/gtk/PluginPackageGtk.cpp PluginPackage::load() (while (g_file_test(finalPath.get(), G_FILE_TEST_IS_SYMLINK))...) Debugging indicates that g_file_resolve_relative_path is never called. Surprisingly, it does not loop on javaplugin.so and npwrapper.so that are symlinks as well. 112 GOwnPtr<GFile> file(g_file_new_for_path(finalPath.get())); (gdb) 113 GOwnPtr<gchar> linkPath(g_file_read_link(finalPath.get(), 0)); (gdb) 112 GOwnPtr<GFile> file(g_file_new_for_path(finalPath.get())); (gdb) 113 GOwnPtr<gchar> linkPath(g_file_read_link(finalPath.get(), 0)); (gdb) 115 GOwnPtr<GFile> resolvedFile(g_file_resolve_relative_path(file.get(), linkPath.get())); (gdb) 113 GOwnPtr<gchar> linkPath(g_file_read_link(finalPath.get(), 0)); (gdb) 115 GOwnPtr<GFile> resolvedFile(g_file_resolve_relative_path(file.get(), linkPath.get())); (gdb) 116 finalPath.set(g_file_get_path(resolvedFile.get())); (gdb) 115 GOwnPtr<GFile> resolvedFile(g_file_resolve_relative_path(file.get(), linkPath.get())); (gdb) 116 finalPath.set(g_file_get_path(resolvedFile.get())); (gdb) 115 GOwnPtr<GFile> resolvedFile(g_file_resolve_relative_path(file.get(), linkPath.get())); (gdb) 113 GOwnPtr<gchar> linkPath(g_file_read_link(finalPath.get(), 0)); (gdb) 112 GOwnPtr<GFile> file(g_file_new_for_path(finalPath.get())); (gdb) 111 while (g_file_test(finalPath.get(), G_FILE_TEST_IS_SYMLINK)) { (gdb) 112 GOwnPtr<GFile> file(g_file_new_for_path(finalPath.get())); (gdb) 113 GOwnPtr<gchar> linkPath(g_file_read_link(finalPath.get(), 0)); (gdb) 112 GOwnPtr<GFile> file(g_file_new_for_path(finalPath.get())); (gdb) 113 GOwnPtr<gchar> linkPath(g_file_read_link(finalPath.get(), 0)); (gdb) 115 GOwnPtr<GFile> resolvedFile(g_file_resolve_relative_path(file.get(), linkPath.get())); (gdb) 113 GOwnPtr<gchar> linkPath(g_file_read_link(finalPath.get(), 0)); (gdb) 115 GOwnPtr<GFile> resolvedFile(g_file_resolve_relative_path(file.get(), linkPath.get())); (gdb) 116 finalPath.set(g_file_get_path(resolvedFile.get())); (gdb) 115 GOwnPtr<GFile> resolvedFile(g_file_resolve_relative_path(file.get(), linkPath.get())); (gdb) 116 finalPath.set(g_file_get_path(resolvedFile.get())); (gdb) 115 GOwnPtr<GFile> resolvedFile(g_file_resolve_relative_path(file.get(), linkPath.get())); (gdb) 113 GOwnPtr<gchar> linkPath(g_file_read_link(finalPath.get(), 0)); (gdb) 112 GOwnPtr<GFile> file(g_file_new_for_path(finalPath.get())); (gdb) 111 while (g_file_test(finalPath.get(), G_FILE_TEST_IS_SYMLINK)) { (gdb) 112 GOwnPtr<GFile> file(g_file_new_for_path(finalPath.get())); (gdb) print finalPath.get(); Invalid character ';' in expression. (gdb) print finalPath.get() Can't take address of "finalPath" which isn't an lvalue. (gdb) b g_file_resolve_relative_path Breakpoint 1 at 0x7ff4c0f797a0: file gfile.c, line 808. (gdb) n 113 GOwnPtr<gchar> linkPath(g_file_read_link(finalPath.get(), 0)); (gdb) 112 GOwnPtr<GFile> file(g_file_new_for_path(finalPath.get())); (gdb) 113 GOwnPtr<gchar> linkPath(g_file_read_link(finalPath.get(), 0)); (gdb) 115 GOwnPtr<GFile> resolvedFile(g_file_resolve_relative_path(file.get(), linkPath.get())); (gdb) 113 GOwnPtr<gchar> linkPath(g_file_read_link(finalPath.get(), 0)); (gdb) 115 GOwnPtr<GFile> resolvedFile(g_file_resolve_relative_path(file.get(), linkPath.get())); (gdb) .. WebCore::PluginPackage::load (this=0x7ff4a987ec00) at WebCore/plugins/gtk/PluginPackageGtk.cpp:115 115 GOwnPtr<GFile> resolvedFile(g_file_resolve_relative_path(file.get(), linkPath.get())); Value returned is $10 = (gchar *) 0x15a51d0 "../opensc-signer.so" (gdb) show breakpoint (gdb) info breakpoint Num Type Disp Enb Address What 1 breakpoint keep y 0x00007ff4c0f797a0 in IA__g_file_resolve_relative_path at gfile.c:808 breakpoint already hit 1 time 2 breakpoint keep y <MULTIPLE> breakpoint already hit 1 time 2.1 y 0x00007ff4c0f80380 in IA__g_file_new_for_path at gfile.c:5895 2.2 y 0x00007ff4c0f803a0 in IA__g_file_new_for_path at gfile.c:5895 3 breakpoint keep y 0x00007ff4c0643c00 in IA__g_file_read_link at gfileutils.c:1830 breakpoint already hit 1 time 4 breakpoint keep y 0x00007ff4c0f78e90 in IA__g_file_get_path at gfile.c:448 breakpoint already hit 1 time 5 breakpoint keep y 0x00007ff4c0642560 in IA__g_file_test at gfileutils.c:181 breakpoint already hit 1 time (gdb) n 113 GOwnPtr<gchar> linkPath(g_file_read_link(finalPath.get(), 0)); -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.