[ardour-dev] CVS Commit
nick mainsbridge
beatroot at optushome.com.au
Tue Apr 6 06:20:12 PDT 2004
On Tue, 2004-04-06 at 06:21, Tom Szilagyi wrote:
> On Mon, Apr 05, 2004 at 05:53:34PM +0200, Tom Szilagyi wrote:
> >
> > When i finally started ardour, it segfaulted with the following
> > message, after i tried to create a new session (named 'new'). The
> > segfault happenes when i click the 'Create' button.
> > Maybe this is because i didn't compile the ksi part?
> >
> >
> > # ardour
> > Ardour/GTK 0.462.1 running with libardour 0.736.0
> > Loading UI configuration file /usr/local/etc/ardour/ardour_ui.rc
> > Loading system configuration file /usr/local/etc/ardour/ardour_system.rc
> > Loading user configuration file /root/.ardour/ardour.rc
> > MIDI: MTC on port hw:0 MMC on port hw:0
> > Use of deprecated SAXv1 function internalSubset
> > ardour: [ERROR]: KeyboardTarget: unknown action "set-mouse-mode-scrub"
> > Loading session /home/ardour/sessions/new using snapshot new
> > Segmentation fault
> >
>
> A little follow-up:
> i fired up gdb to get some info about the above thing, and i got this.
> (sorry, i'm a bit new to gdb, haven't really used it before,
> so instructions welcome on how to do this better):
>
> # gdb ardour
> [...]
> (gdb) run
> Starting program: /usr/local/bin/ardour
> [New Thread 1024 (LWP 2268)]
> [New Thread 2049 (LWP 2269)]
> [New Thread 1026 (LWP 2270)]
> Ardour/GTK 0.462.1 running with libardour 0.736.0
> Loading UI configuration file /usr/local/etc/ardour/ardour_ui.rc
> Loading system configuration file /usr/local/etc/ardour/ardour_system.rc
> Loading user configuration file /root/.ardour/ardour.rc
> MIDI: MTC on port hw:0 MMC on port hw:0
> Use of deprecated SAXv1 function internalSubset
> ardour: [ERROR]: KeyboardTarget: unknown action "set-mouse-mode-scrub"
> [New Thread 2051 (LWP 2271)]
> Loading session /home/ardour/sessions/new using snapshot new
> [New Thread 3076 (LWP 2272)]
> [New Thread 4101 (LWP 2273)]
>
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread 1024 (LWP 2268)]
> 0x082d560d in Editor::metric_get_bbt ()
> Current language: auto; currently c++
>
>
> So it looks like it's in the Editor::metric_get_bbt() function.
> Trying to trace it down further:
>
>
> # gdb ardour
> [...]
> (gdb) break 'Editor::metric_get_bbt(_GtkCustomRulerMark **, unsigned long, unsigned long, int)'
> Breakpoint 1 at 0x82d539c
> (gdb) run
> Starting program: /usr/local/bin/ardour
> [New Thread 1024 (LWP 2284)]
> [New Thread 2049 (LWP 2285)]
> [New Thread 1026 (LWP 2286)]
> Ardour/GTK 0.462.1 running with libardour 0.736.0
> Loading UI configuration file /usr/local/etc/ardour/ardour_ui.rc
> Loading system configuration file /usr/local/etc/ardour/ardour_system.rc
> Loading user configuration file /root/.ardour/ardour.rc
> MIDI: MTC on port hw:0 MMC on port hw:0
> Use of deprecated SAXv1 function internalSubset
> ardour: [ERROR]: KeyboardTarget: unknown action "set-mouse-mode-scrub"
> [New Thread 2051 (LWP 2287)]
> Loading session /home/ardour/sessions/new using snapshot new
> [New Thread 3076 (LWP 2288)]
> [New Thread 4101 (LWP 2289)]
> [Switching to Thread 1024 (LWP 2284)]
>
> Breakpoint 1, 0x082d539c in Editor::metric_get_bbt ()
> Current language: auto; currently c++
> (gdb) step
> Single stepping until exit from function metric_get_bbt__6EditorPP19_GtkCustomRulerMarkUlUli,
> which has no line number information.
>
> Program received signal SIGSEGV, Segmentation fault.
> 0x082d560d in Editor::metric_get_bbt ()
>
>
> So it looks like it's right there, at the beginning of the function.
> Sorry for this long dump. Hope this helps.
>
>
> Tom
> _______________________________________________
> ardour-dev mailing list
> ardour-dev at lists.ardour.org
> http://lists.ardour.org/listinfo.cgi/ardour-dev-ardour.org
could you please try this patch?
--
nick mainsbridge <beatroot at optushome.com.au>
-------------- next part --------------
--- ../Desktop/ardour/gtk_ardour/editor_rulers.cc Tue Apr 6 23:14:09 2004
+++ gtk_ardour/editor_rulers.cc Tue Apr 6 23:07:09 2004
@@ -1128,9 +1128,6 @@
gint
Editor::metric_get_bbt (GtkCustomRulerMark **marks, gulong lower, gulong upper, gint maxchars)
{
- if (session == 0) {
- return 0;
- }
TempoMap::BBTPointList::iterator i;
TempoMap::BBTPointList *zoomed_bbt_points;
@@ -1151,6 +1148,10 @@
jack_nframes_t frame_skip;
bool bar_helper_on = true;
+ if (session == 0) {
+ return 0;
+ }
+
if ((desirable_marks = maxchars / 6) == 0) {
return 0;
}
More information about the Ardour-Dev
mailing list