After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 651151 - vala plugin crashes when uncommenting source
vala plugin crashes when uncommenting source
Status: RESOLVED FIXED
Product: anjuta
Classification: Applications
Component: plugins: language-support-vala
3.0.x
Other Linux
: Normal critical
: ---
Assigned To: Abderrahim Kitouni
Anjuta maintainers
Depends on:
Blocks:
 
 
Reported: 2011-05-26 14:07 UTC by Johannes Schmid
Modified: 2011-08-02 15:35 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
project-wizard: bgo#651151 vala plugin crashes when uncommenting source (1.11 KB, patch)
2011-08-01 15:28 UTC, Abderrahim Kitouni
accepted-commit_now Details | Review

Description Johannes Schmid 2011-05-26 14:07:18 UTC
From the original report:

When creating a simple GTK project; in vala, part of the generated code is
this:

 /* 
  * Uncomment this line when you are done testing and building a tarball
  * or installing
  */
 // const string UI_FILE = Config.PACKAGE_DATA_DIR + "/" + "guitar_tuner.ui";
 const string UI_FILE = "src/guitar_tuner.ui";

If you uncomment the line and comment the other one, then things break and
anjuta crashes. This is what it caused it and not the changing path thing...

Backtrace:
[New LWP 1565]
[New LWP 1330]
[New LWP 1564]
[New LWP 1309]
[New LWP 1316]
[New LWP 1312]
[New LWP 1311]
[Thread debugging using libthread_db enabled]
Core was generated by `anjuta'.
Program terminated with signal 11, Segmentation fault.

Thread 5 (Thread 0x7f4fb4b1d700 (LWP 1316))

  • #0 read
    at ../sysdeps/unix/syscall-template.S line 82
  • #1 read
    at /usr/include/bits/unistd.h line 45
  • #2 child_watch_helper_thread
    at gmain.c line 4302
  • #3 g_thread_create_proxy
    at gthread.c line 1897
  • #4 start_thread
    at pthread_create.c line 305
  • #5 clone
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S line 115

Thread 1 (Thread 0x7f4fad7fa700 (LWP 1565))

  • #0 vala_data_type_compatible
    at valadatatype.c line 1438
  • #1 vala_constant_real_check
    at valaconstant.c line 1862
  • #2 vala_constant_real_check
    at valaconstant.c line 1750
  • #3 vala_class_real_check
    at valaclass.c line 3623
  • #4 vala_class_real_check
    at valaclass.c line 3305
  • #5 vala_source_file_check
    at valasourcefile.c line 984
  • #6 vala_code_context_accept
    at valacodecontext.c line 1119
  • #7 vala_semantic_analyzer_analyze
    at valasemanticanalyzer.c line 2061
  • #8 vala_code_context_check
    at valacodecontext.c line 1138
  • #9 _lambda0_
    at plugin.c line 396
  • #10 __lambda0__gthread_func
    at plugin.c line 411
  • #11 g_thread_create_proxy
    at gthread.c line 1897
  • #12 start_thread
    at pthread_create.c line 305
  • #13 clone
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S line 115
From                To                  Syms Read   Shared Object Library
0x000000365ca18980  0x000000365ca5766c  Yes         /usr/lib64/libgtksourceview-3.0.so.0
0x000000365ce28af0  0x000000365ce6e95c  Yes         /usr/lib64/libanjuta-3.so.0
0x000000365d20b070  0x000000365d2252ac  Yes         /usr/lib64/libgdl-3.so.1
0x0000003b47866240  0x0000003b47aacb5c  Yes         /usr/lib64/libgtk-3.so.0
0x0000003b480196d0  0x0000003b48058edc  Yes         /usr/lib64/libgdk-3.so.0
0x0000003b464097b0  0x0000003b464156bc  Yes         /usr/lib64/libatk-1.0.so.0
0x0000003b45829480  0x0000003b458d2b8c  Yes         /lib64/libgio-2.0.so.0
0x0000003b42c076f0  0x0000003b42c2131c  Yes         /usr/lib64/libpangoft2-1.0.so.0
0x0000003b43804940  0x0000003b4380935c  Yes         /usr/lib64/libpangocairo-1.0.so.0
0x0000003b46006270  0x0000003b46019c7c  Yes         /usr/lib64/libgdk_pixbuf-2.0.so.0
0x0000003f56204870  0x0000003f5621eb5c  Yes         /usr/lib64/libpng12.so.0
0x0000003f52203ef0  0x0000003f52243eec  Yes         /lib64/libm.so.6
0x0000003b45c03340  0x0000003b45c0430c  Yes         /usr/lib64/libcairo-gobject.so.2
0x0000003f5860b170  0x0000003f58682a9c  Yes         /usr/lib64/libcairo.so.2
0x0000003b4500ee20  0x0000003b4502cb1c  Yes         /usr/lib64/libpango-1.0.so.0
0x0000003f55a0c960  0x0000003f55a738fc  Yes         /usr/lib64/libfreetype.so.6
0x0000003f56605d90  0x0000003f5661f7fc  Yes         /usr/lib64/libfontconfig.so.1
0x0000003b44009910  0x0000003b44039d8c  Yes         /lib64/libgobject-2.0.so.0
0x0000003f54200fe0  0x0000003f54201f8c  Yes         /lib64/libgmodule-2.0.so.0
0x0000003b43c01560  0x0000003b43c02a2c  Yes         /lib64/libgthread-2.0.so.0
0x0000003f51e021b0  0x0000003f51e055ec  Yes         /lib64/librt.so.1
0x0000003f53216c70  0x0000003f532adefc  Yes         /lib64/libglib-2.0.so.0
0x0000003f5b62c960  0x0000003f5b71007c  Yes         /usr/lib64/libxml2.so.2
0x0000003f64600e10  0x0000003f6460168c  Yes         /lib64/libutil.so.1
0x0000003f51605690  0x0000003f51610a4c  Yes         /lib64/libpthread.so.0
0x0000003f5121ec80  0x0000003f513428ac  Yes         /lib64/libc.so.6
0x0000003f54a1dce0  0x0000003f54aa97ec  Yes         /usr/lib64/libX11.so.6
0x0000003f59e013e0  0x0000003f59e0450c  Yes         /usr/lib64/libXfixes.so.3
0x0000003f55e03460  0x0000003f55e0e31c  Yes         /usr/lib64/libXext.so.6
0x0000003f57e00a00  0x0000003f57e0148c  Yes         /usr/lib64/libXinerama.so.1
0x0000003f56a01f30  0x0000003f56a0c50c  Yes         /usr/lib64/libXi.so.6
0x0000003f5a201720  0x0000003f5a20675c  Yes         /usr/lib64/libXrandr.so.2
0x0000003f57a028d0  0x0000003f57a0749c  Yes         /usr/lib64/libXcursor.so.1
0x0000003f58a00b30  0x0000003f58a0189c  Yes         /usr/lib64/libXcomposite.so.1
0x0000003f58200a90  0x0000003f5820160c  Yes         /usr/lib64/libXdamage.so.1
0x0000003f51a00de0  0x0000003f51a0191c  Yes         /lib64/libdl.so.2
0x0000003f53603890  0x0000003f5361394c  Yes         /lib64/libresolv.so.2
0x0000003f52601e70  0x0000003f5260e67c  Yes         /lib64/libz.so.1
0x0000003f52e05980  0x0000003f52e159dc  Yes         /lib64/libselinux.so.1
0x0000003f58e07e10  0x0000003f58e5c0ac  Yes         /usr/lib64/libpixman-1.so.0
0x0000003f56e01910  0x0000003f56e0810c  Yes         /usr/lib64/libXrender.so.1
0x0000003f55603b70  0x0000003f5561d84c  Yes         /lib64/libexpat.so.1
0x0000003f50e00b20  0x0000003f50e1954a  Yes         /lib64/ld-linux-x86-64.so.2
0x0000003f55208660  0x0000003f55213b9c  Yes         /usr/lib64/libxcb.so.1
0x0000003f52a028a0  0x0000003f52a120cc  Yes         /lib64/libgcc_s.so.1
0x0000003f54e00dd0  0x0000003f54e01b2c  Yes         /usr/lib64/libXau.so.6
0x00007f4fc638e190  0x00007f4fc63955dc  Yes         /lib64/libnss_files.so.2
0x00007f4fc6186800  0x00007f4fc618a99c  Yes         /usr/lib64/gtk-3.0/3.0.0/theming-engines/libadwaita.so
0x00007f4fc5f82b00  0x00007f4fc5f82f8c  Yes         /usr/lib64/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so
0x000000365f2080f0  0x000000365f22b7bc  Yes         /usr/lib64/librsvg-2.so.2
0x0000003f67e0b6e0  0x0000003f67e2a04c  Yes         /usr/lib64/libcroco-0.6.so.3
0x00007f4fc5d80690  0x00007f4fc5d80e8c  Yes         /usr/lib64/gtk-3.0/modules/libpk-gtk-module.so
0x0000003b4480a400  0x0000003b4481c51c  Yes         /usr/lib64/libdbus-glib-1.so.2
0x0000003f5a6076f0  0x0000003f5a63050c  Yes         /lib64/libdbus-1.so.3
0x00007f4fc5b7bf80  0x00007f4fc5b7decc  Yes         /usr/lib64/gtk-3.0/modules/libcanberra-gtk-module.so
0x00007f4fc595dc20  0x00007f4fc595f02c  Yes         /usr/lib64/libcanberra-gtk3.so.0
0x0000003f666032a0  0x0000003f6660c41c  Yes         /usr/lib64/libcanberra.so.0
0x0000003f66201fa0  0x0000003f6620611c  Yes         /usr/lib64/libvorbisfile.so.3
0x0000003f63203700  0x0000003f6321a6ac  Yes         /usr/lib64/libvorbis.so.0
0x0000003f62e018d0  0x0000003f62e03f7c  Yes         /usr/lib64/libogg.so.0
0x0000003f64e02350  0x0000003f64e0b7dc  Yes         /usr/lib64/libtdb.so.1
0x0000003f63e02360  0x0000003f63e0669c  Yes         /usr/lib64/libltdl.so.7
0x0000003f5ba00c60  0x0000003f5ba05dec  Yes         /lib64/libcrypt.so.1
0x0000003f5be03170  0x0000003f5be417bc  Yes         /lib64/libfreebl3.so
0x00007f4fc4f1ca60  0x00007f4fc4f355bc  Yes         /usr/lib64/gio/modules/libgvfsdbus.so
0x00007f4fc4d05190  0x00007f4fc4d0f20c  Yes         /usr/lib64/libgvfscommon.so.0
0x0000003b48802e40  0x0000003b4880accc  Yes         /lib64/libudev.so.0
0x00007f4fc4aebc00  0x00007f4fc4af7cdc  Yes         /usr/lib64/gio/modules/libgioremote-volume-monitor.so
0x00007f4fc48e2900  0x00007f4fc48e5eac  Yes         /usr/lib64/gio/modules/libdconfsettings.so
0x00007f4fbc2d85e0  0x00007f4fbc2dde3c  Yes         /usr/lib64/anjuta/libanjuta-loader.so
0x00007f4fbc0bd6d0  0x00007f4fbc0cb5cc  Yes         /usr/lib64/anjuta/libanjuta-project-manager.so
0x00007f4fb71fddd0  0x00007f4fb71fe93c  Yes         /usr/lib64/anjuta/libanjuta-starter.so
0x00007f4fb6fe41a0  0x00007f4fb6ff2b7c  Yes         /usr/lib64/anjuta/libanjuta-document-manager.so
0x00007f4fb6dd20e0  0x00007f4fb6dd34fc  Yes         /usr/lib64/anjuta/libanjuta-file-wizard.so
0x00007f4fb6bc9ea0  0x00007f4fb6bcdf0c  Yes         /usr/lib64/anjuta/libfile-manager.so
0x00007f4fb61becb0  0x00007f4fb61c1ffc  Yes         /usr/lib64/anjuta/libanjuta-run-program.so
0x00007f4fb5f97be0  0x00007f4fb5faaadc  Yes         /usr/lib64/anjuta/libam-project.so
0x00007f4fb5d618f0  0x00007f4fb5d7da3c  Yes         /usr/lib64/anjuta/libanjuta-symbol-db.so
0x00007f4fb5a4d290  0x00007f4fb5b006ec  Yes         /usr/lib64/libgda-4.0.so.4
0x00007f4fb5824840  0x00007f4fb5824a6c  Yes         /usr/lib64/libgda-4.0/providers/libgda-sqlite.so
0x0000003f636095b0  0x0000003f6367cf2c  Yes         /usr/lib64/libsqlite3.so
0x00007f4fb5621fe0  0x00007f4fb56228cc  Yes         /usr/lib64/anjuta/liblanguage-manager.so
0x00007f4fb5418940  0x00007f4fb541dadc  Yes         /usr/lib64/anjuta/libanjuta-message-view.so
0x00007f4fb5205130  0x00007f4fb520da2c  Yes         /usr/lib64/anjuta/libanjuta-build-basic-autotools.so
0x00007f4fb4fd3fa0  0x00007f4fb4fef10c  Yes         /usr/lib64/anjuta/libanjuta-debug-manager.so
0x00007f4fb4dbe7b0  0x00007f4fb4dbfb1c  Yes         /usr/lib64/anjuta/libanjuta-terminal.so
0x00007f4fb4b30310  0x00007f4fb4b5f0bc  Yes         /usr/lib64/libvte2_90.so.9
0x0000003b43006b60  0x0000003b4301dc0c  Yes         /lib64/libncurses.so.5
0x0000003b44c0cbe0  0x0000003b44c16d2c  Yes         /lib64/libtinfo.so.5
0x00007f4fb69b48b0  0x00007f4fb69bfb0c  Yes         /usr/lib64/anjuta/libanjuta-sourceview.so
0x00007f4fb679ead0  0x00007f4fb67a75ec  Yes         /usr/lib64/anjuta/libanjuta-language-vala.so
0x00007f4faeb642f0  0x00007f4faed5a1dc  Yes         /usr/lib64/libvala-0.12.so.0
0x00007f4fb641e9d0  0x00007f4fb644204c  Yes         /usr/lib64/anjuta/libanjuta-language-cpp-java.so
0x0000003f5de5a190  0x0000003f5dec2e6a  Yes         /usr/lib64/libstdc++.so.6
$1 = 0x0
$2 = 0x0
rax            0x7f4f931d90d0	139979747332304
rbx            0x1ea1320	32117536
rcx            0x7f4f90000028	139979695063080
rdx            0x7f4f9200add0	139979728661968
rsi            0x7f4f931d90d0	139979747332304
rdi            0x0	0
rbp            0x1f16bd0	0x1f16bd0
rsp            0x7f4fad7f9a28	0x7f4fad7f9a28
r8             0x5	5
r9             0x61d	1565
r10            0x1	1
r11            0x3f5128f5d6	271944578518
r12            0x7f4f9800f830	139979829344304
r13            0x7f4f90008170	139979695096176
r14            0x0	0
r15            0x7f4f90005470	139979695084656
rip            0x7f4faec80d00	0x7f4faec80d00 <vala_data_type_compatible>
eflags         0x10206	[ PF IF RF ]
cs             0x33	51
ss             0x2b	43
ds             0x0	0
es             0x0	0
fs             0x0	0
gs             0x0	0
Dump of assembler code for function vala_data_type_compatible:
=> 0x00007f4faec80d00 <+0>:	mov    (%rdi),%rax
   0x00007f4faec80d03 <+3>:	mov    0x90(%rax),%rax
   0x00007f4faec80d0a <+10>:	jmpq   *%rax
End of assembler dump.
Comment 1 Abderrahim Kitouni 2011-07-19 08:27:59 UTC
(In reply to comment #0)
> From the original report:
> 
> When creating a simple GTK project; in vala, part of the generated code is
> this:
> 
>  /* 
>   * Uncomment this line when you are done testing and building a tarball
>   * or installing
>   */
>  // const string UI_FILE = Config.PACKAGE_DATA_DIR + "/" + "guitar_tuner.ui";
>  const string UI_FILE = "src/guitar_tuner.ui";
> 
> If you uncomment the line and comment the other one, then things break and
> anjuta crashes.

The problem here is that config.vapi isn't seen by the project manager, and thus not by the vala plugin. A fix for this would be to put config.vapi in the _SOURCES rather than in the VALAFLAGS, or alternatively to make the vala plugin parse the valaflags.

The other problem is that it shouldn't crash, whatever input it gets ;-)
Comment 2 Johannes Schmid 2011-07-19 14:09:28 UTC
OK, I think it should be in SOURCES (so that it is distributed). Can you create a patch to fix that in the project template, please?

The other thing, yes, it shouldn't crash either...
Comment 3 Abderrahim Kitouni 2011-08-01 15:28:30 UTC
Created attachment 192988 [details] [review]
project-wizard: bgo#651151 vala plugin crashes when uncommenting source

fix the vala-gtk template so it doesn't crash
Comment 4 Abderrahim Kitouni 2011-08-01 15:36:59 UTC
for the crash, I've filed Bug 655726 (in vala)
Comment 5 Johannes Schmid 2011-08-01 16:41:52 UTC
Review of attachment 192988 [details] [review]:

Please just commit bug fixes to the vala plugin and close the bugs. You are the person that knows best about it so an additional review step to the vala code doesn't make much sense.

Thanks!