View Issue Details

IDProjectCategoryView StatusLast Update
0002663ardourbugspublic2010-04-24 10:33
Reporternowhiskey Assigned To 
PrioritynormalSeveritycrashReproducibilityalways
Status closedResolutionfixed 
Product VersionSVN/2.0-ongoing 
Summary0002663: crash while overlaping two regions/making a crossfade
Description2.0-ongoing-rev5065

-remove .ardour2 dir
-create new session
-import some audio / mono or stereo, same behavior
-split the region at some point in the time line
-now try to move one of the parts of the region to overlap the other in order to create a x-fade
-crash
....

-jackd is running no-rt
-there is no difference if i try to move the left or the right part of the region
-also no difference if the crossfade option is set to short or long

....

atached is the bt.

cheers,
doc
TagsNo tags attached.

Activities

2009-05-08 12:46

 

ardour-bt (16,115 bytes)   
nowhiskey@murija2:~/software/ardour2/2.0-ongoing/gtk2_ardour$ ./ardbg 
USING OLD CLEARLOOKS
GNU gdb 6.8-debian
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i486-linux-gnu"...
(gdb) run
Starting program:
/home/nowhiskey/software/ardour2/2.0-ongoing/gtk2_ardour/ardour-2.8 
[Thread debugging using libthread_db enabled]
Ardour/GTK 2.8
   (kompiliert mit Version 5054 und GCC Version4.3.2)
Copyright (C) 1999-2008 Paul Davis
Einige Teile Copyright (C) Steve Harris, Ari Johnson, Brett Viren, Joel
Baker

Ardour wird Ihnen ohne jegliche Gew�#hrleistung und ausdr�#cklich ohne die
Zusicherung
f�#r allgemeine oder spezielle Gebrauchstauglichkeit zur Verf�#gung
gestellt.
Dies ist freie Software und Sie d�#rfen sie gerne weiterverbreiten,
solange Sie sich an die Bedingungen, die in der Datei COPYING aufgef�#hrt
sind halten.
[New Thread 0xb59858f0 (LWP 3104)]
theme_init() called from internal clearlooks engine
/usr/share/themes/Clearlooks/gtk-2.0/gtkrc:67: error: unexpected identifier
`colorize_scrollbar', expected character `}'
lade voreingestellte UI-Konfigurationsdatei
gtk2_ardour/ardour2_ui_default.conf
Loading ui configuration file gtk2_ardour/ardour2_ui_dark.rc
theme_init() called from internal clearlooks engine
ardour: [INFO]: Ardour will be limited to 1024 open files
lade System-Konfigurationsdatei ./ardour_system.rc
ardour: [INFO]: Using SSE optimized routines
[New Thread 0xb5807b90 (LWP 3107)]
[New Thread 0xb5007b90 (LWP 3108)]
[New Thread 0xb4807b90 (LWP 3109)]
Warning: Unable to create "trees" RDF storage.
Performance can be improved by upgrading librdf.
ardour: [INFO]: suche nach Controller-Protokollen in
/home/nowhiskey/.ardour2/surfaces/:/usr/local/lib/ardour2/surfaces/
ardour: [INFO]: Controller-Protokoll gefunden: "Generic MIDI"
ardour: [INFO]: Controller-Protokoll Tranzport ist nicht nutzbar
ardour: [INFO]: Controller-Protokoll gefunden: "Mackie"
powermate: Opening of powermate failed - Datei oder Verzeichnis nicht
gefunden
ardour: [INFO]: Controller-Protokoll powermate ist nicht nutzbar
[New Thread 0xb31b4b90 (LWP 3111)]
[Thread 0xb31b4b90 (LWP 3111) exited]
Gtk-Message: (for origin information, set GTK_DEBUG): failed to retrieve
property `GtkWidget::cursor-color' of type `GdkColor' from rc file value
"((GString*) 0x8b6ee20)" of type `GString'
[New Thread 0xb31b4b90 (LWP 3113)]
loading bindings from gtk2_ardour/mnemonic-us.bindings
pre-run: Set Port buffer size to 1024
[New Thread 0xb1fa9b90 (LWP 3115)]
[New Thread 0xb1773cb0 (LWP 3116)]
Loading session /home/nowhiskey/Ardour2/104 using snapshot 104 (2)
[New Thread 0xb14a0cb0 (LWP 3117)]
[New Thread 0xb1425cb0 (LWP 3118)]
Lade History von '/home/nowhiskey/Ardour2/104/104.history'.
Gtk-Message: (for origin information, set GTK_DEBUG): failed to retrieve
property `GtkWidget::cursor-color' of type `GdkColor' from rc file value
"((GString*) 0x96a14b0)" of type `GString'
Gtk-Message: (for origin information, set GTK_DEBUG): failed to retrieve
property `GtkTreeView::odd-row-color' of type `GdkColor' from rc file value
"((GString*) 0x9638a20)" of type `GString'
[New Thread 0xb0dfecb0 (LWP 3119)]
[Thread 0xb0dfecb0 (LWP 3119) exited]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb59858f0 (LWP 3104)]
0xb6d1fae8 in Gnome::Canvas::Pixbuf::property_y (this=0x574c4c57) at
libs/libgnomecanvasmm/libgnomecanvasmm/pixbuf.cc:244
244       return Glib::PropertyProxy<double>(this, "y");
(gdb) (gdb) thread apply all bt

Thread 10 (Thread 0xb1425cb0 (LWP 3118)):
#0  0xb65e150d in poll () from /lib/libc.so.6
#1  0xb7eeed7b in ARDOUR::Session::midi_thread_work (this=0x95c5768) at
#libs/ardour/session_midi.cc:1223
#2  0xb7eef319 in ARDOUR::Session::_midi_thread_work (arg=0x95c5768) at
#libs/ardour/session_midi.cc:1141
#3  0xb6d95f3b in start_thread () from /lib/libpthread.so.0
#4  0xb65eabee in clone () from /lib/libc.so.6

Thread 9 (Thread 0xb14a0cb0 (LWP 3117)):
#0  0xb65e150d in poll () from /lib/libc.so.6
#1  0xb7e8aafa in ARDOUR::Session::butler_thread_work (this=0x95c5768) at
#libs/ardour/session_butler.cc:179
#2  0xb7e8bb61 in ARDOUR::Session::_butler_thread_work (arg=0x95c5768) at
#libs/ardour/session_butler.cc:159
#3  0xb6d95f3b in start_thread () from /lib/libpthread.so.0
#4  0xb65eabee in clone () from /lib/libc.so.6

Thread 8 (Thread 0xb1773cb0 (LWP 3116)):
#0  0xb6d9cccc in nanosleep () from /lib/libpthread.so.0
#1  0xb7771412 in g_usleep () from /usr/share/qt4/lib/libglib-2.0.so.0
#2  0xb76d8a6d in Glib::usleep (microseconds=10000) at
#libs/glibmm2/glibmm/timer.cc:68
#3  0xb7d4b136 in ARDOUR::AudioEngine::meter_thread (this=0x93aa2b0) at
#libs/ardour/audioengine.cc:446
#4  0xb7d4f14d in sigc::bound_mem_functor0<void,
#ARDOUR::AudioEngine>::operator() (this=0x95c3604) at
#libs/sigc++2/sigc++/functors/mem_fun.h:1787
#5  0xb7d4f174 in sigc::adaptor_functor<sigc::bound_mem_functor0<void,
#ARDOUR::AudioEngine> >::operator() (this=0x95c3600)
    at libs/sigc++2/sigc++/adaptors/adaptor_trait.h:251
#6  0xb7d4f1a0 in sigc::internal::slot_call0<sigc::bound_mem_functor0<void,
ARDOUR::AudioEngine>, void>::call_it (rep=0x95c35e8)
    at libs/sigc++2/sigc++/functors/slot.h:103
#7  0x0840719a in sigc::slot0<void>::operator() (this=0x9516520) at
libs/sigc++2/sigc++/functors/slot.h:440
#8  0xb76f5807 in call_thread_entry_slot (data=0x9516520) at
libs/glibmm2/glibmm/thread.cc:43
#9  0xb776f14f in ?? () from /usr/share/qt4/lib/libglib-2.0.so.0
#10 0x09516520 in ?? ()
#11 0x095c39b0 in ?? ()
#12 0x00000000 in ?? ()

Thread 7 (Thread 0xb1fa9b90 (LWP 3115)):
#0  0xb65e150d in poll () from /lib/libc.so.6
#1  0xb6db0a5a in jack_client_core_wait () from /usr/local/lib/libjack.so.0
#2  0xb1fa9348 in ?? ()
#3  0xb65e1523 in poll () from /lib/libc.so.6
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 6 (Thread 0xb31b4b90 (LWP 3113)):
#0  0xb6d998f0 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib/libpthread.so.0
#1  0xb6db23d4 in mb_thread_func () from /usr/local/lib/libjack.so.0
#2  0xb31b4b90 in ?? ()
#3  0x00000000 in ?? ()

Thread 4 (Thread 0xb4807b90 (LWP 3109)):
#0  0xb6d998f0 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib/libpthread.so.0
#1  0xb76f4d85 in Glib::Cond::wait (this=0x8bc6520, mutex=@0xb7fd67ec) at
#libs/glibmm2/glibmm/thread.cc:362
#2  0xb7d2a57b in ARDOUR::Analyser::work () at libs/ardour/analyser.cc:85
#3  0xb7d2a6e1 in analyser_work () at libs/ardour/analyser.cc:49
#4  0x087d1199 in sigc::pointer_functor0<void>::operator() (this=0x8bccf44)
#at libs/sigc++2/sigc++/functors/ptr_fun.h:77
#5  0x087d11b0 in sigc::adaptor_functor<sigc::pointer_functor0<void>
#>::operator() (this=0x8bccf40) at
#>libs/sigc++2/sigc++/adaptors/adaptor_trait.h:251
#6  0x087d11cc in sigc::internal::slot_call0<sigc::pointer_functor0<void>,
#void>::call_it (rep=0x8bccf28) at libs/sigc++2/sigc++/functors/slot.h:103
#7  0x0840719a in sigc::slot0<void>::operator() (this=0x8bc6708) at
#libs/sigc++2/sigc++/functors/slot.h:440
#8  0xb76f5807 in call_thread_entry_slot (data=0x8bc6708) at
#libs/glibmm2/glibmm/thread.cc:43
#9  0xb776f14f in ?? () from /usr/share/qt4/lib/libglib-2.0.so.0
#10 0x08bc6708 in ?? ()
#11 0x08bccf50 in ?? ()
#12 0x00000000 in ?? ()

Thread 3 (Thread 0xb5007b90 (LWP 3108)):
#0  0xb6d998f0 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib/libpthread.so.0
#1  0xb76f4d85 in Glib::Cond::wait (this=0x8bba8c8, mutex=@0xb7fd6ce4) at
#libs/glibmm2/glibmm/thread.cc:362
#2  0xb7f2da5a in peak_thread_work () at libs/ardour/source_factory.cc:65
#3  0x087d1199 in sigc::pointer_functor0<void>::operator() (this=0x8bc6594)
#at libs/sigc++2/sigc++/functors/ptr_fun.h:77
#4  0x087d11b0 in sigc::adaptor_functor<sigc::pointer_functor0<void>
#>::operator() (this=0x8bc6590) at
#>libs/sigc++2/sigc++/adaptors/adaptor_trait.h:251
#5  0x087d11cc in sigc::internal::slot_call0<sigc::pointer_functor0<void>,
#void>::call_it (rep=0x8bc6578) at libs/sigc++2/sigc++/functors/slot.h:103
#6  0x0840719a in sigc::slot0<void>::operator() (this=0x8bc6568) at
#libs/sigc++2/sigc++/functors/slot.h:440
#7  0xb76f5807 in call_thread_entry_slot (data=0x8bc6568) at
#libs/glibmm2/glibmm/thread.cc:43
#8  0xb776f14f in ?? () from /usr/share/qt4/lib/libglib-2.0.so.0
#9  0x08bc6568 in ?? ()
#10 0x08bc65a0 in ?? ()
#11 0x00000000 in ?? ()

Thread 2 (Thread 0xb5807b90 (LWP 3107)):
#0  0xb6d998f0 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib/libpthread.so.0
#1  0xb76f4d85 in Glib::Cond::wait (this=0x8bba8c8, mutex=@0xb7fd6ce4) at
#libs/glibmm2/glibmm/thread.cc:362
#2  0xb7f2da5a in peak_thread_work () at libs/ardour/source_factory.cc:65
#3  0x087d1199 in sigc::pointer_functor0<void>::operator() (this=0x8bc640c)
#at libs/sigc++2/sigc++/functors/ptr_fun.h:77
#4  0x087d11b0 in sigc::adaptor_functor<sigc::pointer_functor0<void>
#>::operator() (this=0x8bc6408) at
#>libs/sigc++2/sigc++/adaptors/adaptor_trait.h:251
#5  0x087d11cc in sigc::internal::slot_call0<sigc::pointer_functor0<void>,
#void>::call_it (rep=0x8bc63f0) at libs/sigc++2/sigc++/functors/slot.h:103
#6  0x0840719a in sigc::slot0<void>::operator() (this=0x8bc62f0) at
#libs/sigc++2/sigc++/functors/slot.h:440
#7  0xb76f5807 in call_thread_entry_slot (data=0x8bc62f0) at
#libs/glibmm2/glibmm/thread.cc:43
#8  0xb776f14f in ?? () from /usr/share/qt4/lib/libglib-2.0.so.0
#9  0x08bc62f0 in ?? ()
#10 0x08bc6418 in ?? ()
#11 0x00015080 in ?? ()
#12 0x00000005 in ?? ()
#13 0xb6527b9c in ?? () from /lib/libc.so.6
#14 0xb6da4ff4 in ?? () from /lib/libpthread.so.0
#15 0xb6d97280 in ?? () from /lib/libpthread.so.0
#16 0xb6da4ff4 in ?? () from /lib/libpthread.so.0
#17 0xb5807b90 in ?? ()
#18 0x00000000 in ?? ()

Thread 1 (Thread 0xb59858f0 (LWP 3104)):
#0  0xb6d1fae8 in Gnome::Canvas::Pixbuf::property_y (this=0x574c4c57) at
libs/libgnomecanvasmm/libgnomecanvasmm/pixbuf.cc:244
#1  0x088885fd in TimeAxisViewItem::set_height (this=0x9822880, height=51)
at gtk2_ardour/time_axis_view_item.cc:644
#2  0x0850965a in CrossfadeView::set_height (this=0x9822880, height=70) at
gtk2_ardour/crossfade_view.cc:115
#3  0x08509eb3 in CrossfadeView (this=0x9822880, parent=0x977b540,
tv=@0x97b81c0, xf={px = 0xbfcf39a0, pn = {pi_ = 0x0}}, spu=2048,
#basic_color=@0x977dfdc, 
    lview=@0x97f71e8, rview=@0x9802988) at gtk2_ardour/crossfade_view.cc:72
#4  0x084b9a63 in AudioStreamView::add_crossfade (this=0x977df90,
crossfade={px = 0xbfcf3a08, pn = {pi_ = 0xbfcf3a08}}) at
#gtk2_ardour/audio_streamview.cc:351
#5  0x084bf00a in sigc::bound_mem_functor1<void, AudioStreamView,
#boost::shared_ptr<ARDOUR::Crossfade> >::operator() (this=0x97c1a4c,
#_A_a1=@0xbfcf3b90)
    at libs/sigc++2/sigc++/functors/mem_fun.h:1851
#6  0x084bf0bf in sigc::adaptor_functor<sigc::bound_mem_functor1<void,
AudioStreamView, boost::shared_ptr<ARDOUR::Crossfade> >
#>::operator()<boost::shared_ptr<ARDOUR::Crossfade> const&> (this=0x97c1a48,
#>_A_arg1=@0xbfcf3b90) at libs/sigc++2/sigc++/adaptors/adaptor_trait.h:84
#7  0x084bf0e2 in sigc::internal::slot_call1<sigc::bound_mem_functor1<void,
#AudioStreamView, boost::shared_ptr<ARDOUR::Crossfade> >, void,
#boost::shared_ptr<ARDOUR::Crossfade> >::call_it (rep=0x97c1a30,
#a_1=@0xbfcf3b90) at libs/sigc++2/sigc++/functors/slot.h:137
#8  0xb7d6b1f5 in sigc::internal::signal_emit1<void,
#boost::shared_ptr<ARDOUR::Crossfade>, sigc::nil>::emit (impl=0x97c19e8,
#_A_a1=@0xbfcf3b90)
    at libs/sigc++2/sigc++/signal.h:1006
#9  0xb7d6b2d1 in sigc::signal1<void, boost::shared_ptr<ARDOUR::Crossfade>,
sigc::nil>::emit (this=0x97812ac, _A_a1=@0xbfcf3b90) at
#libs/sigc++2/sigc++/signal.h:2773
#10 0xb7d6b2fc in sigc::signal1<void, boost::shared_ptr<ARDOUR::Crossfade>,
#sigc::nil>::operator() (this=0x97812ac, _A_a1=@0xbfcf3b90)
    at libs/sigc++2/sigc++/signal.h:2781
#11 0xb7d5f551 in ARDOUR::AudioPlaylist::notify_crossfade_added
(this=0x97811b0, x={px = 0xbfcf3b90, pn = {pi_ = 0xbfcf3b78}}) at
#libs/ardour/audio_playlist.cc:486
#12 0xb7d5f912 in ARDOUR::AudioPlaylist::add_crossfade (this=0x97811b0,
#xfade={px = 0xbfcf3ce4, pn = {pi_ = 0xbfcf3cdc}}) at
#libs/ardour/audio_playlist.cc:477
#13 0xb7d60561 in ARDOUR::AudioPlaylist::check_dependents (this=0x97811b0,
#r={px = 0xbfcf3d90, pn = {pi_ = 0x0}}, norefresh=false) at
#libs/ardour/audio_playlist.cc:443
#14 0xb7e49845 in ARDOUR::Playlist::flush_notifications (this=0x97811b0) at
#libs/ardour/playlist.cc:448
#15 0xb7d61515 in ARDOUR::AudioPlaylist::flush_notifications
#(this=0x97811b0) at libs/ardour/audio_playlist.cc:245
#16 0xb7e41c36 in ARDOUR::Playlist::release_notifications (this=0x97811b0)
#at libs/ardour/playlist.cc:333
#17 0xb7e41c6f in ARDOUR::Playlist::thaw (this=0x97811b0) at
#libs/ardour/playlist.cc:318
#18 0x085f266a in Editor::region_drag_finished_callback (this=0x93eb128,
#item=0x97f9298, event=0x97cda00) at gtk2_ardour/editor_mouse.cc:4176
#19 0x085f7534 in Editor::end_grab (this=0x93eb128, item=0x97f9298,
#event=0x97cda00) at gtk2_ardour/editor_mouse.cc:1985
#20 0x08600845 in Editor::button_release_handler (this=0x93eb128,
#item=0x97f9298, event=0x97cda00, item_type=RegionItem) at
#gtk2_ardour/editor_mouse.cc:918
#21 0x085cc33a in Editor::canvas_region_view_event (this=0x93eb128,
#event=0x97cda00, item=0x97f9298, rv=0x9802988) at
#gtk2_ardour/editor_canvas_events.cc:258
#22 0x087df539 in sigc::bound_mem_functor3<bool, PublicEditor, _GdkEvent*,
#Gnome::Canvas::Item*, RegionView*>::operator() (this=0x9806cb8,
#_A_a1=@0xbfcf4294, 
    _A_a2=@0xbfcf41f4, _A_a3=@0x9806ccc) at
#libs/sigc++2/sigc++/functors/mem_fun.h:1985
#23 0x087df613 in sigc::adaptor_functor<sigc::bound_mem_functor3<bool,
#PublicEditor, _GdkEvent*, Gnome::Canvas::Item*, RegionView*>
#>::operator()<_GdkEvent* const&, Gnome::Canvas::Group*&, RegionView*&>
#>(this=0x9806cb4, _A_arg1=@0xbfcf4294, _A_arg2=@0x9806cc8,
#>_A_arg3=@0x9806ccc) at libs/sigc++2/sigc++/adaptors/adaptor_trait.h:123
#24 0x087df65a in sigc::bind_functor<-1, sigc::bound_mem_functor3<bool,
#PublicEditor, _GdkEvent*, Gnome::Canvas::Item*, RegionView*>,
#Gnome::Canvas::Group*, RegionView*, sigc::nil, sigc::nil, sigc::nil,
#sigc::nil, sigc::nil>::operator()<_GdkEvent* const&> (this=0x9806cb0,
#_A_arg1=@0xbfcf4294) at libs/sigc++2/sigc++/adaptors/bind.h:1336
#25 0x087df681 in sigc::internal::slot_call1<sigc::bind_functor<-1,
#sigc::bound_mem_functor3<bool, PublicEditor, _GdkEvent*,
#Gnome::Canvas::Item*, RegionView*>, Gnome::Canvas::Group*, RegionView*,
#sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>, bool,
#_GdkEvent*>::call_it (rep=0x9806c98, a_1=@0xbfcf4294)
    at libs/sigc++2/sigc++/functors/slot.h:137
#26 0xb709a7d7 in sigc::slot1<bool, _GdkEvent*>::operator() (this=0x9806c84,
_A_a1=@0xbfcf4294) at libs/sigc++2/sigc++/functors/slot.h:515
#27 0xb6d306e5 in Item_signal_event_callback (self=0x97e4150, p0=0x97cda00,
data=0x9806c80) at libs/libgnomecanvasmm/libgnomecanvasmm/item.cc:138
#28 0xb6d859f6 in gnome_canvas_marshal_BOOLEAN__BOXED () from
/usr/share/qt4/lib/libgnomecanvas-2.so.0
#29 0xb77e290b in g_closure_invoke () from
#/usr/share/qt4/lib/libgobject-2.0.so.0
#30 0xb77f63a0 in ?? () from /usr/share/qt4/lib/libgobject-2.0.so.0
#31 0x09806cf0 in ?? ()
#32 0xbfcf4420 in ?? ()
#33 0x00000002 in ?? ()
#34 0xbfcf44d8 in ?? ()
#35 0xbfcf440c in ?? ()
#36 0x00000c20 in ?? ()
#37 0xb77c0758 in ?? () from /usr/share/qt4/lib/libglib-2.0.so.0
#38 0xb77c0780 in ?? () from /usr/share/qt4/lib/libglib-2.0.so.0
#39 0x08a3c8a8 in ?? ()
#40 0x00000002 in ?? ()
#41 0xb77c0758 in ?? () from /usr/share/qt4/lib/libglib-2.0.so.0
#42 0xb77c0780 in ?? () from /usr/share/qt4/lib/libglib-2.0.so.0
#43 0xb77c0758 in ?? () from /usr/share/qt4/lib/libglib-2.0.so.0
#44 0xb77c0780 in ?? () from /usr/share/qt4/lib/libglib-2.0.so.0
#45 0xbfcf4404 in ?? ()
#46 0x00000000 in ?? ()
(gdb) (gdb) q
The program is running.  Exit anyway? (y or n) n
Not confirmed.
(gdb) y
Undefined command: "y".  Try "help".
(gdb) q
The program is running.  Exit anyway? (y or n) y
nowhiskey@murija2:~/software/ardour2/2.0-ongoing/gtk2_ardour$ 
ardour-bt (16,115 bytes)   

nowhiskey

2009-05-08 14:18

reporter   ~0005982

this issue is resolved, sorry for the noise.

cheers,
doc

cth103

2009-06-11 11:07

administrator   ~0006082

Reported as fixed.

Issue History

Date Modified Username Field Change
2009-05-08 12:46 nowhiskey New Issue
2009-05-08 12:46 nowhiskey File Added: ardour-bt
2009-05-08 14:18 nowhiskey Note Added: 0005982
2009-06-11 11:07 cth103 cost => 0.00
2009-06-11 11:07 cth103 Note Added: 0006082
2009-06-11 11:07 cth103 Status new => closed
2009-06-11 11:07 cth103 Resolution open => fixed
2010-04-24 10:28 cth103 Category bugs => bugs2
2010-04-24 10:33 cth103 Category bugs2 => bugs